00:00:00 --- log: started retro/06.08.19 00:09:29 --- join: Cheery (n=Cheery@a81-197-20-242.elisa-laajakaista.fi) joined #retro 00:19:05 crc, if you get a moment, let me know where you think I should vector in a stack-underflow check for the interpreter. 01:45:44 --- quit: neceve (Remote closed the connection) 05:18:44 --- join: crc_work (n=cchilder@h-64-105-207-163.phlapafg.covad.net) joined #retro 05:30:43 --- part: crc_work left #retro 07:22:14 --- join: crc_work (n=cchilder@h-64-105-207-163.phlapafg.covad.net) joined #retro 07:24:08 Quartus: I think the best options would be either: ui or how 07:24:30 ui is run before input is read; how is run after enter is pressed 07:25:20 ( addr count -- ) how Default action is to call eval 07:25:40 * crc_work found a bug in the ANS code 07:26:19 if you reset or have an error that calls reset, the stack depth gets screwed up horribly 07:26:57 it seems to be tied to the [if]/[else]/[then] stuff, because when I strip the comment block using them out, it works properly 07:30:11 --- part: crc_work left #retro 07:31:58 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #retro 07:56:54 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 12:59:07 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-180-000.pools.arcor-ip.net) joined #retro 13:01:41 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 13:04:37 crc, found the reason for the bug -- it's an unwholesome coupling between interpret and lookup in rx. Thinking about how to fix it. 13:07:25 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 13:07:49 --- nick: snoopy_1711 -> Snoopy42 13:11:41 Found a solution; not especially delighted by it. 13:11:42 But it works. 14:05:17 --- join: Quartus__ (n=Quartus_@209.167.5.1) joined #retro 15:41:33 --- quit: crc (Read error: 104 (Connection reset by peer)) 16:29:50 Update to the RetroForth ANS layer: http://retroforth.net/paste/?id=142 16:30:22 hiho all 16:31:05 --- quit: Quartus__ ("used jmIrc") 18:47:40 --- quit: virl (Remote closed the connection) 20:01:09 --- quit: Snoopy42 (calvino.freenode.net irc.freenode.net) 20:34:57 --- join: crc (n=crc@pool-70-110-129-33.phil.east.verizon.net) joined #retro 20:35:04 --- mode: ChanServ set +o crc 20:40:52 Hi crc. Nailed that bug. 20:48:08 by the way, your interpret loop relies on a side-effect of lookup. 20:54:57 --- join: Quartus__ (n=Quartus_@209.167.5.1) joined #retro 21:33:13 --- quit: Quartus__ (Read error: 60 (Operation timed out)) 21:37:36 --- join: Snoopy42 (i=snoopy_1@dslb-084-058-180-000.pools.arcor-ip.net) joined #retro 21:40:37 --- join: Quartus__ (n=Quartus_@209.153.204.2) joined #retro 22:22:27 Quartus: what side effect? 22:23:09 interpret calls lookup, which updates action (the side effect), which interpret then calls. 22:25:30 I was revectoring lookup and replacing xts I didn't care about with noop, but I had no way of intercepting the side-effect, and that was the bug. 22:25:52 how did you work around it? 22:26:08 I switched to a slightly more cumbersome method that involves stubbing out >number too. 22:26:22 there's a paste up. 22:26:59 it adds stack-undeflow checking too. 22:29:40 * crc will incorporate this into the download tomorrow 22:30:05 hard to find the bug, as my code was perfect assuming no sde-effect. I had to dig into rx to solve it. 22:30:27 sorry for the typos, I'm on a small gadget. 22:30:35 I will at least document this when I revise the handbook 22:30:48 I should have documented a lot of stuff long ago... 22:32:10 it would be marvellous to have the whole 'handle-word' in its own vectorable definition. 22:34:44 Or some way of revectoring the process without having to revector three words. 22:37:13 For instance in Quartus Forth, having (find) return noop for all strings does the trick. Then the number conversion/last-resort stuff never happens. I tried that first in rf, 22:37:55 but then found that retro needed lookup to return false on null strings, so I had to also revector word?. 22:38:09 then with the side-effect, also >number. 22:38:32 I'll see if I can make this cleaner 22:41:19 ok. I have an update that breaks out provided words by wordset, with notes to help retro-only people. 22:48:46 idoes reset loop to clear the stack? I'm not in front of the source right now. 22:50:12 yes 22:50:32 why not simply reset the stack pointer? 22:50:48 It zeros out the values 22:51:13 because your .s doesn't show the depth. 22:51:22 right 22:51:41 I may change that in 9.3 22:51:47 which, by the way, before I reimplemented .s, made it impossible to see if a word left a 0 on the stack. 23:36:13 By the by it looks like parse will need to be standardized in the layer too -- s" " does not produce a zero-length string. 23:45:16 --- join: swsch (n=stefan@pdpc/supporter/sustaining/swsch) joined #retro 23:45:16 --- mode: ChanServ set +o swsch 23:59:59 --- log: ended retro/06.08.19