2024-04-30 01:09:54 just had an idea. i've been using { and } to swap between compiling for the interpreter and cross-compiling for a target binary. and i find that it's easy to get lost if you have huge { } blocks, so i've been limiting the { } to wrapping logically atomic sections. like { : foo ... ; } or maybe { create buf 10 allot : bar buf ... ; } 2024-04-30 01:10:31 the idea that just occurred to me is this: { } could easily be enhanced to create a scope where, when } is encountered, all words since { except the last are unlinked 2024-04-30 01:10:52 so words within a { } only have visibility of each other, and only the last word becomes "public" after } 2024-04-30 01:47:51 Yes, if you are just making a list of cell-sized entities and you don't need to be able to insert, delete, etc. in an efficient way. 2024-04-30 01:48:39 rendar: I'm also looking forward to seeing what you wind up doing with that. 2024-04-30 01:55:27 BTW, I see I missed a question you asked earlier; I *think* you were asking how I recovered from an error in my system. It's pretty simple - before I start interpreting the line I copy the entire system - the dictionary, the stacks, etc. - into a snapshot block. I run dup before doing that to get my register-cached top of stack saved to. If an error occurs, the error handler copies that image back and runs 2024-04-30 01:55:29 drop to undo that dup, and I re-target the PC to QUIT, which clears the return stack and starts the interpreter. 2024-04-30 01:55:49 saved "too" 2024-04-30 01:56:14 If no error occurs, I just abandon the snapshot - it gets overwritten when I do the copy for the next line. 2024-04-30 01:57:23 It's a sledge hammer - it copies a lot more than it really 'needs to," but as I was trying to improve my error recovery I just kept running into more ways to foul things up; eventually I just got frustrated and pulled out the sledge hammer. 2024-04-30 01:58:08 And since I catch memory addressing errors and run through the error recovery for that, I almost never get any segfaults anymore. 2024-04-30 02:07:20 I was acutely aware of the resource cost, but in the end I decided the improvement in my user experience was worth it. 2024-04-30 02:07:50 At least on a notebook with 16GB of RAM. 2024-04-30 03:26:32 This is interesting: 2024-04-30 03:26:35 https://en.wikipedia.org/wiki/Linear_Tape-Open 2024-04-30 04:28:42 anyone here ever see any FORTH run on One Laptop per Child (OLPC) hardware? 2024-04-30 04:35:35 of the 90K or so distributed in the US, of the 3 million world wide, I have never even seen one of these computers. 2024-04-30 05:43:47 I haven't either. It's interesting it hasn't come back up - tech prices have dropped quite a lot since those days. My understanding is that they were wanting a $100 machine, but were never able to get it under $200. 2024-04-30 05:44:43 And there was a lot of controversy around it - people complaining there were better things to do with the money, people accusing companies of trying to rig the setup for profit (I'm looking at you, Microsoft...), etc. 2024-04-30 05:46:09 Microsoft spun a special version of Windows for it, or worked in that direction, that they wanted $10 a copy for. Then they tried to insist that Windows versions of the machine have only Windows on it. 2024-04-30 05:46:31 The people in charge said they'd sell a Linux only version and a dual boot version but would not sell a Windows only version. 2024-04-30 05:47:02 Nice that at least someone in the world had the balls to stand up to Microsoft. 2024-04-30 05:47:37 Anyway, you know it would be easier to meet that cost target now than it was then. 2024-04-30 09:20:23 crc: if you have in the stack `x1 x2 x3, ... x1_000_000 1_000_000` you have 1M operands plus an integer indicating depth, a word pops that integer, then starts looping from 0 to N, pops operands and operate on them, easy 2024-04-30 19:57:29 zelgomer, check this out https://bpa.st/LBFQ 2024-04-30 19:57:55 zelgomer, with that 'stackreb' word, i can rebalance the stack inside an `#err* ..` block 2024-04-30 19:58:18 as an operand, i pass the difference between stack depths, now and before, if you got what i mean 2024-04-30 20:38:25 oh, I forgot to report back here, but I did get the forth + minimal editor running on ATMega3208p in time for the presentations last week 2024-04-30 21:38:04 Hey, has anyone set up a Samba share on a Raspberry Pi? 2024-04-30 21:41:01 rendar: no earthly idea what that gibberish means 2024-04-30 23:33:47 Ah, I got it working.