00:00:00 --- log: started forth/19.01.19 01:13:12 how to enter escaped strings in spf ?? 01:52:43 --- join: xek (~xek@apn-31-0-23-83.dynamic.gprs.plus.pl) joined #forth 01:58:17 --- join: dys (~dys@tmo-114-38.customers.d1-online.com) joined #forth 02:03:04 --- quit: ashirase (Ping timeout: 246 seconds) 02:09:40 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:17:38 --- quit: lonjil (Ping timeout: 252 seconds) 02:18:40 --- join: lonjil (~quassel@2a02:418:6050:ed15:ed15:ed15:e741:32d6) joined #forth 02:21:26 --- quit: proteusguy (Ping timeout: 244 seconds) 02:58:00 --- quit: pierpal (Ping timeout: 268 seconds) 03:20:57 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 04:09:45 --- quit: pierpal (Quit: Poof) 04:10:05 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 04:49:10 --- quit: pierpal (Quit: Poof) 04:49:29 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 05:03:13 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 05:12:36 john_cephalopoda: APIs are not a solution 05:12:45 they are a simple-looking interface that ends up causing tons of bloat 05:13:07 because an API will always provide more functionality than any individual user of that API needs 05:17:19 smokeink: Does spf have S\" 05:24:00 I think it doesn't 05:24:25 WilhelmVonWeiner: It might add a little bloat, but if you make APIs modular enough, you can avoid it as well as possible. 05:25:06 An API can abstract away stuff, which saves you a lot of trouble. You can just use the API and don't have to care if it runs on a pocket calculator or on a supercomputer. 05:27:59 What program are you writing that needs to run the same on a pocket calculator and a supercomputer? 05:28:09 It's inane 05:28:29 pointfree: I could only find a Z\" 05:29:07 pointfree: Z\" ab\\c" works, it escapes the backslash, but I don't know how to escape a doublequote . Z\" ab\"c" doesn't work 05:30:23 The source code itself is the best api imo. 05:30:58 I also won't use vocabularies as long as I have an editor. 05:31:14 WilhelmVonWeiner: Well, if I create a 2d platformer, I might want it to run on a TI 83 plus but also on a computer, possibly in a sixel terminal or with opengl. 05:31:31 If I have a framebuffer and drawing commands, I can simply abstract that away. 05:32:08 not much of an API. 05:32:34 smokeink: there is an implementation of s\" at http://www.forth200x.org/escaped-strings.html which might work 05:33:42 WilhelmVonWeiner: That's literally what an API is about. 05:33:52 Having an interface to do things, no matter what the backend looks like. 05:34:44 The Forth core is also an API, offering things like "EMIT", "TYPE" or "!", no matter what terminal or device you use, and no matter what kind of RAM you have. 05:34:45 you're calling a buffer an api 05:34:58 I am calling a buffer and buffer modification words an API. 05:35:14 OpenGL is basically that. A vertex buffer and a few words to modify it. 05:35:59 crc: can you also please to an implementation of string/ ? it needs string/ which is missing in spf 05:37:02 Well if you have an opengl and a sixel implementation exposed through a px! ( r g b x y --) word with the same name px! for both implementations that's a lean api with minimal surface area 05:37:38 Exactly. 05:37:47 crc: found it 05:37:54 * smokeink it was /string , my bad. I'm new to forth 05:38:07 no problem :) 05:40:51 The Forth CORE standard is already bloated. 05:41:17 crc: it worked , thank you 05:43:07 john_cephalopoda: where? 05:44:08 WilhelmVonWeiner: I don't use most of the number conversion words. 05:44:51 Also there's a bunch of stack manipulation words that I've never used before. 05:45:07 S>D is a good word 05:45:41 CORE is a smaller set than '79 or FIG, and two words more than 83. 05:46:01 FIG is absolutely massive 05:46:06 I mean stuff like <# #> 05:46:08 Or # 05:46:23 those are real useful 05:46:25 It largely meets its goals of keeping the common things from the earlier standards while allowing greater source compatibility across implementations 05:46:38 --- quit: smokeink (Remote host closed the connection) 05:46:40 my CHIP-8 was using them to print opcodes as they ran 05:46:55 and addresses and that 05:46:56 Also ." and S" should honestly respect escape sequences. That's a big flaw in the standard. 05:47:26 WilhelmVonWeiner: Well, "because an API will always provide more functionality than any individual user of that API needs" 05:47:31 I don't need that stuff. 05:47:55 Imo, "CORE" should only contain the bare necessities. 05:48:29 I don't need escape sequences 05:48:34 13 EMIT 05:48:51 but what are the bare necessities? 05:49:27 crc: The words that you can use to build all other words. 05:49:35 adding escape sequences to s" would break existing code that didn't expect them. hence s\" 05:50:26 WilhelmVonWeiner: If I want to print a string like "Index", I can't do that without escaping ". 05:51:03 WilhelmVonWeiner: In that case I could still add a "34 EMIT" inbetween, but with S" I am totally lost. 05:51:16 gforth has words for that, but imo that should be the default behavior. 05:52:18 if you had S' you could S' Index' 05:52:22 so more like eforth (around 30 words)? or rx (56 or so words)? then leave it up to the user to define everything else? 05:53:12 dave0: Yeah, but as soon as you mix ' and ", then it breaks again. 05:53:44 john_cephalopoda: :-( 05:54:09 s\" takes care of this situation 06:01:38 escaped strings are a lot of off-line parsing action. Those html tags should probably be turned into forth words. 06:04:24 crc: Yeah, I just wish that was part of the standard. 06:05:22 john_cephalopoda: It's part of the forth200x standard http://www.forth200x.org/escaped-strings.html 06:17:08 --- quit: pierpal (Quit: Poof) 06:17:26 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 06:20:13 I have finally brought my buckling spring keyboard back into action 06:20:17 it's SO NICE to type on 06:20:30 LOUD though, I'd forgotten how loud these things get. 06:23:15 model M or F? 06:23:52 i'm half stuck on my forth cpu design 06:24:22 i think i'd like to do single clock cycle instructions, but that means a lot of things need to sit in registers 06:24:36 plus maybe pipelining 06:37:29 --- quit: xek (Ping timeout: 240 seconds) 06:42:16 i generally don't have an issue reasoning about stacks 06:42:39 crc: M. I would love an F though 06:42:46 but when you dump it and it's a stack that grows down (pushing decrements the stack pointer), and dump output has lower addresses at the top 06:42:56 Unicomp's version of the M. The same, but aesthetically different. 06:43:02 like, just that double-reversal confuses the heck out of me 06:43:20 like trying to reason out a double negative in a sentence 06:43:36 I have a unicomp m, it's nice to use on the rare days when my rsi pain isn't bothering me 06:44:20 At work I have access to a 1989 IBM model m 06:44:44 I don't think I have the ports for one of them. 06:45:13 * crc has a coworker who's obsessed with the model m. he has 6-7 spares as backups and various adapters for each 06:45:58 I can't blame him, it's a dream machine 06:48:50 I'd love to get an M15 someday. Split, tenting, and buckling springs. 06:54:39 --- join: proteusguy (~proteus-b@cm-58-10-154-54.revip7.asianet.co.th) joined #forth 06:54:39 --- mode: ChanServ set +v proteusguy 06:55:42 wonder how much one of those go for 06:56:06 $1600+ apparently... 06:58:03 WilhelmVonWeiner: yeah, they are really expensive 07:16:05 hmm, new post from /u/wengchunkn on reddit. I think I'm done responding to these. 07:16:31 yey? 07:16:37 important person? 07:16:41 no 07:17:25 he posts about big, vague concepts that loosely relate to RPN, which he equates to being Forth 07:17:42 nice 07:17:47 vision 07:18:40 lots of invented acronyms, wants to unify all languages via an RPN syntax based on physical locations of bits of code in source files, charging money for colon definitions 07:19:13 what would the money be used for? 07:19:56 no idea. he wants to bake a payment thing into the language to allow the developer of a word to charge for it 07:20:03 right on 07:20:07 blockchain? 07:20:26 that's not specified 07:20:29 okay 07:20:39 i keep trying to get my company to pay me per line of code too, i don't understand why it doesn't catch on 07:20:44 https://github.com/udexon/SMMP/blob/master/CDIB.md 07:20:59 ah, no need for details 07:21:20 so, are you elaborating on these suggestions? 07:21:46 I tried to get him to clarify things 07:25:52 --- join: darithorn (~darithorn@75.174.238.174) joined #forth 07:27:34 crc: "c++ parser in forth on php" or something 07:27:34 I'm thinking that as a community grows it needs something to preserve the high quality and forthiness 07:31:05 I remember that one: he fails to see that identification of { } pairs isn't parsing and that C++ and C are different. Or that a stack based / reverse polish notation for a PHP with cryptically renamed fuctions doesn't make it Forth. 07:31:43 who? 07:31:47 the crazy? 07:31:54 yes 07:32:05 so why do you engage? 07:32:48 yeah crc, why do you do the thing that you just said you're going to stop doing? 07:32:50 He's trying to start a blockchain project. 07:32:57 Like Tron 07:33:17 good for him 07:33:29 That's my take on the ramblings anyhow 07:33:42 I had been hoping that he might actually start focusing towards the details and develop something that could be interesting in the future. 07:33:44 isn't bitcoin script a stack language? 07:33:59 Yes 07:34:03 crc: nah, people who talk don't walk 07:37:05 corecode: I gave him a month. Done with him now unless he eventually comes around with code and specifics. 07:37:31 my suggestion is not to care about the ramblings of crazies 07:42:06 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 07:44:42 sometimes crazy ideas lead to interesting projects 07:45:22 --- quit: MrMobius (Ping timeout: 246 seconds) 07:45:22 --- nick: [1]MrMobius -> MrMobius 07:47:12 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 07:50:16 --- quit: MrMobius (Ping timeout: 246 seconds) 07:50:16 --- nick: [1]MrMobius -> MrMobius 07:52:57 like the crazy programmer in the 60s, who wondered if he could re-compile his interpreter during runtime 07:54:07 crc: yea, but only if they are being implemented, not when they're just being tossed around vaguely 07:55:14 yes, which is why I gave it a month. That's enough time to see if someone is willing to at least make a reasonable start. 07:55:33 i generally wait until there is code 07:55:52 or a spec 08:02:30 --- quit: proteusguy (Ping timeout: 245 seconds) 08:12:26 Hmm, package management. 08:12:40 Many languages got it nowadays, but most of them do it wrong. 08:12:53 yes 08:13:00 because it is difficult :) 08:15:45 Not that much 08:16:59 The most difficult part is the cyclic dependency check. 08:17:07 But that's it. 08:17:34 pretty sure you're underestimating things 08:18:17 What is the complicated part? 08:18:20 --- quit: pierpal (Ping timeout: 245 seconds) 08:19:04 different API versions required for the same package 08:19:12 Lol, no package manager handles that. 08:19:21 node does, i think 08:19:23 --- join: proteusguy (~proteus-b@cm-58-10-154-54.revip7.asianet.co.th) joined #forth 08:19:23 --- mode: ChanServ set +v proteusguy 08:19:44 every imported package is only visible to the package using it 08:20:35 But even with different API versions - just make subdirectories for different versions and the packager has to specify which one they want. 08:20:47 right 08:21:07 My main complaint is, that it seems to be a complex thing in most package managers, to install stuff for one user. 08:21:27 probably should be per-project 08:22:35 Might work, too. 08:22:36 hyperstatic scope takes care of dependency conflicts 08:22:47 Almost like NixOS 08:30:33 I'm just thinking about how one might create a package out of a word such as px! 08:30:33 By package I mean finding all words that px! calls and bundling those words up into a minimal binary turnkey that could also be comma compiled onto another dictionary and work. 08:30:41 so i think for a single cycle ALU, i need TOS and second on stack in registers, and not in memory 08:30:58 pointfree: Why binary? 08:31:28 corecode, you could need as many as the top 4 items in the stack mapped as registers - but yes, definitely TOS & NOS. 08:35:09 john_cephalopoda: So the package can just be comma compiled onto the dictionary and be readily machine-handled with regular forth dictionary handling words like `'` `,` `execute` 'sifting` `see` `dump` etc. 08:35:10 You could still call `see` on packages before installing them. 08:35:49 but maybe you are right... 08:36:25 compiling from source can aid in compatibility with and linking with low level words. 08:37:03 Mmh. 08:37:54 So maybe stop short of executing core words by switching to dummy core words and fetching the contents of return stack addresses. 08:40:05 ...and calling `see` on the contents at those high level words' return stack addresses to get source code of the word and its dependencies. 08:42:44 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 08:48:01 done with my last bit of pastebin work, using a pipe & curl to upload a paste to sprunge.us: http://forth.works/c855f03430ba613e8e9acb318d8a630b 08:54:23 --- join: mark4 (~mark4@12.41.103.244) joined #forth 08:55:19 I'll have to look into adding support for a bidirectional variant of unix:popen so I can avoid the temporary file 08:56:55 is there a bidirectional variant? wont you need 2 pipes? 08:58:21 probably 08:59:08 macos popen is bidirectional, as is freebsd 08:59:09 ok just cheking lol 08:59:12 bsd popen 08:59:45 Never understood why it was a difficult proposition. 09:00:31 openbsd is unidirectional, don't know on linux 09:00:38 --- join: Kumool (~Khwerz@adsl-64-237-233-182.prtc.net) joined #forth 09:00:49 I think netbsd allows bidirectional as well 09:00:53 linux is one-way 09:02:51 just commited a fix to x4's github that prevented the extended forth from loading under certain kernels, fsave bug 09:03:41 every now and then a new kernel release would be unable to run x4 but then a later release of the linux kernel wouldnt have the issue 09:03:44 it was my bug tho 09:16:10 --- quit: pierpal (Quit: Poof) 09:16:31 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 09:17:12 --- quit: dave0 (Quit: dave's not here) 09:21:38 ok so why does the xterm256-color terminfo file NOT start with a 0432 octal magic number grrr 09:21:40 --- quit: pierpal (Read error: Connection reset by peer) 09:23:18 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 09:28:08 actually the entire binary file format for xterm256-color is different 09:29:13 mark4, wow long time no see. I was just going over your github earlier today by coincidence! 09:29:39 hey. working my first programming job in 7 years 09:29:45 im in alpharetta ga 09:30:13 zy]x[yz: said he was in this area but not sure if he is or not 09:30:49 Hmm, I wonder if it would have advantages to use openGL for rendering the terminal... 09:31:08 On occasion, 16-bit signed integers are not large enough. With ncurses 6.1, a new format 09:31:08 is introduced by making a few changes to the legacy format: 09:31:14 drat i have to update my curses code :/ 09:31:19 mark4: If it's an xterm bug report it to Thomas E. DIckey ( he's responsive) or in the #xterm irc channel 09:31:27 mark4, cool - I used to live in Lawrenceville and have a friend with a testing biz in Alpharetta. What kind of work you doing? Weren't you in Texas before? 09:31:29 its not an xterm bug 09:31:51 i was in texas, moved to north carolina then got this job here 09:32:47 mark4, i am 09:32:51 ! 09:32:54 i live here 09:33:05 and work here 09:33:08 was not sure if you were just joking or actually lived here lol 09:34:07 i've lived in ga my whole life 09:34:26 --- quit: pierpal (Read error: Connection reset by peer) 09:36:13 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 09:38:09 i also have a problem getting the alt charset output to work in the linux terminal and i have no idea why its not working. asked thomas dickey for info on why the alt charset doesnt work for me there but he didnt answer that question 09:38:18 it works in every x terminal i have tested under 09:38:27 no line drawing etc in linux terminal 09:44:43 --- quit: pierpal (Ping timeout: 246 seconds) 09:46:01 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 09:50:25 --- quit: pierpal (Ping timeout: 245 seconds) 10:04:02 --- join: smokeink (~smokeink@118.131.144.142) joined #forth 10:06:09 --- quit: proteusguy (Ping timeout: 240 seconds) 10:14:07 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:17:16 --- quit: pierpal (Read error: Connection reset by peer) 10:18:44 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:19:24 --- join: proteusguy (~proteus-b@cm-58-10-154-54.revip7.asianet.co.th) joined #forth 10:19:24 --- mode: ChanServ set +v proteusguy 10:23:14 --- quit: pierpal (Ping timeout: 268 seconds) 10:25:46 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:27:20 --- quit: pierpal (Read error: Connection reset by peer) 10:30:00 --- quit: nighty- (Remote host closed the connection) 10:33:14 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:34:39 --- quit: pierpal (Read error: Connection reset by peer) 10:39:56 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:41:07 --- quit: pierpal (Read error: Connection reset by peer) 10:47:35 --- quit: dddddd (Remote host closed the connection) 10:51:11 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:52:17 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 10:57:29 --- quit: pierpal (Ping timeout: 240 seconds) 11:07:21 --- join: xek (~xek@apn-31-0-23-81.dynamic.gprs.plus.pl) joined #forth 11:08:20 --- quit: gravicappa (Ping timeout: 245 seconds) 11:08:52 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 11:27:33 --- quit: pierpal (Ping timeout: 244 seconds) 11:56:35 --- quit: darithorn (Quit: Leaving) 11:59:49 --- quit: dys (Ping timeout: 240 seconds) 12:00:26 --- quit: smokeink (Remote host closed the connection) 12:00:48 --- join: smokeink (~smokeink@118.131.144.142) joined #forth 12:11:43 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 12:33:14 --- join: dys (~dys@tmo-112-201.customers.d1-online.com) joined #forth 13:20:13 hm, single cycle ! is difficult 13:20:36 because i need to refill both TOS and NOS 13:23:20 .\" \x1BP1;0;0!zHello World\x1B\x5C" 13:23:28 .\" \x1B[1*z" 13:23:57 * pointfree is trying out terminal macros in mlterm 13:24:35 https://vt100.net/docs/vt510-rm/DECDMAC.html 13:24:35 https://vt100.net/docs/vt510-rm/DECINVM.html 13:24:43 what's the word that returns the pointer to TOS ? 13:25:05 what pointer 13:25:29 smokeink: sp@ 13:25:36 ( it's unrelated to what you were discussing ) 13:26:26 oh that would assume that the stack is in the same address space, interesting 13:27:11 i guess only if you used !/@ with that address 13:31:41 Unfortunately the terminal macros are cleared when the terminal window is closed so I can't use them to cookie track you in the cli for offers of free ipods. 13:34:45 john_cephalopoda: were you suggesting writing a terminal emulator? 13:48:27 pointfree: Not planning to do so, I was just wondering since terminal emulators appear to have so many issues with rendering simple text. 13:50:44 Hmm, I don't know what I want to do with Forth. 13:52:15 Having a broad software ecosystem written in Forth would be pretty awesome... 13:53:59 But the Forth standard has some gaps that make it hard to write applications in ANS Forth that actually do stuff. 13:55:01 Cultivate your dissatisfaction with everything and you will always be busy. 13:55:22 Oh, I already have cultivated it a lot :þ 13:55:38 Good 13:56:08 john_cephalopoda: add what you need, or implement a forth that fixes the things you dislike 13:56:09 pickyness is a virtue 13:57:16 The biggest issues that I got with ANS Forth are string handling and file handling. Catastrophic. 13:58:30 I could maybe write some wrapper to make string handling better, but file handling is very low-level and hard to fix without changing the forth implementation itself. 13:59:11 --- quit: mtsd (Quit: WeeChat 1.6) 13:59:46 I never really did much with files on an ANS Forth, but I never liked strings. Having a mix of string types always felt wrong. 14:02:31 hm, maybe i can only keep TOS in a register, and read NOS from memory 14:02:53 hm no 14:03:22 this doesn't fix my problem that i need to fetch two stack elements for ! operations 14:03:56 so my ! cannot be single cycle 14:04:07 interesting problem 14:04:16 crc: The question is if cstrings or c-addr n is the way to go. 14:04:22 i 14:04:34 i went with c style strings 14:04:47 what are cstrings? counted strings? 14:05:15 Little problem, I think I'm missing something obvious: 0 SP@ 0x1104EE GetWindowThreadProcessId \ works , but 0x1104EE 0 swap SP@ cell + GetWindowThreadProcessId doesn't ... Am I messing anything up in the 2nd snippet ? 14:05:21 corecode: Yep. Counted strings. 14:05:45 (mine are null terminated), counted are ok too 14:05:49 crc: Right, 0-terminating is also possible, although I always found it a bit dangerous. It's easy to forget the \0. 14:06:15 I disliked passing two values for a string 14:06:19 john_cephalopoda: i like the fatness of cstrings, but i don't like having to allocate temporaries during parsing 14:06:37 oh damn, I must be too tired 14:06:53 corecode: Why do you need to allocate temporaries during parsing? 14:06:54 I saw it only when I typed on this channel 14:07:26 john_cephalopoda: how else would i create a cstring? 14:07:32 i need to store it somewhere 14:07:42 But you also have to store a regular string. 14:07:46 no 14:07:53 i can point in-place 14:08:09 In what way? 14:08:46 i don't know what that means 14:09:09 Oh, you mean just pointing at a memory area where some string is stored and using (c-addr n). 14:09:14 yes 14:09:20 Right, that makes sense. 14:10:48 Also for substrings cstrings are inconvenient. 14:16:16 --- join: tabemann_ (~tabemann@2600:1700:7990:24e0:ad0a:7cab:643e:f81f) joined #forth 14:33:57 --- quit: dne (Remote host closed the connection) 14:35:35 --- join: dne (~dne@jaune.mayonnaise.net) joined #forth 14:40:02 --- quit: smokeink (Remote host closed the connection) 15:32:27 --- quit: X-Scale (Ping timeout: 244 seconds) 15:32:48 --- join: X-Scale` (~ARM@46.50.3.56) joined #forth 15:33:11 --- nick: X-Scale` -> X-Scale 16:52:13 --- quit: john_cephalopoda (Ping timeout: 252 seconds) 16:54:15 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 17:02:26 --- quit: mark4 (Ping timeout: 250 seconds) 17:12:32 --- join: mark4 (~mark4@12.41.103.244) joined #forth 17:20:54 --- join: xek_ (~xek@apn-31-0-23-81.dynamic.gprs.plus.pl) joined #forth 17:21:30 --- quit: xek (Ping timeout: 250 seconds) 17:27:33 --- join: darithorn (~darithorn@75.174.238.174) joined #forth 18:42:52 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 18:42:54 huh my OS is popular all of a sudden, just checked HN 18:59:55 --- quit: tabemann_ (Ping timeout: 268 seconds) 19:16:14 so... why the decision for Nga to not change IP until the END of the bundle? 19:16:16 --- quit: dddddd (Remote host closed the connection) 19:17:36 I think the example was "lit call lit call" - but only the last call was executed.. 19:22:57 --- join: ducky22 (~seth@cpe-173-88-158-135.neo.res.rr.com) joined #forth 19:29:56 --- join: dave0 (~dave0@193.060.dsl.syd.iprimus.net.au) joined #forth 19:30:10 hi 20:07:19 PoppaVic: io is incremented after each processing instruction bundle 20:08:13 Ip changes calls and jumps take place immediately 20:09:14 --- join: nighty- (~nighty@b157153.ppp.asahi-net.or.jp) joined #forth 20:09:45 The muri assembler source discusses this briefly: 20:09:54 While you can pack up to four instructions per location, you 20:09:54 should not place anything after an instruction that modifies the 20:09:54 instruction pointer. These are: ju, ca, cc, re, and zr. 20:13:01 crc: thanks, yes: I'd read it in the pages. I just wondered why not just do it on the first one and be done with it? 20:16:07 A bit of a desire to keep things minimalist and simple. The instruction processor doesn't track which instructions have already been executed or any internal register states. I just let it assume that whosever is feeding it instructions has packed them as intended. 20:16:17 (This 20:16:36 I mean, you can have several LIT in a row, and even if they had two CALL in a row, the first would short the 2nd 20:17:05 hmm, ok.. So, basically it was an assumption that the tool compiling it would do the proper job 20:17:06 (This was intended as a modular model in some ways, I expect Nga to be extended as needed but it's users) 20:17:42 Yeah, if you have users relying on you and the behavior, I gotcha'. 20:17:57 PoppaVic: yes 20:18:25 The Nga document makes this clearer: 'Nga will not stop processing code, but execution flow errors may arise 20:18:25 if the packing tool does not take these into account.' 20:18:58 Yep, that was obvious waaay back when I looked at this before ;-) 20:29:32 --- join: gravicappa (~gravicapp@h109-187-251-146.dyn.bashtel.ru) joined #forth 20:55:57 --- join: smokeink (~smokeink@118.131.144.142) joined #forth 20:59:10 --- quit: ducky22 (Ping timeout: 246 seconds) 21:00:13 --- join: tabemann_ (~tabemann@2600:1700:7990:24e0:ad0a:7cab:643e:f81f) joined #forth 21:19:26 --- quit: `presiden (Read error: Connection reset by peer) 21:21:05 --- quit: Kumool (Quit: EXIT) 21:22:18 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 21:25:32 --- quit: MrMobius (Ping timeout: 268 seconds) 21:25:33 --- nick: [1]MrMobius -> MrMobius 21:44:29 --- quit: darithorn (Quit: Leaving) 21:46:42 --- quit: mark4 (Quit: Leaving) 22:04:05 --- quit: PoppaVic (Ping timeout: 250 seconds) 22:15:45 --- join: PoppaVic (~PoppaVic@unaffiliated/poppavic) joined #forth 23:39:16 --- quit: jedb (Ping timeout: 268 seconds) 23:59:59 --- log: ended forth/19.01.19