2025-02-15 04:36:32 fwiw, Jupiter ACE compiles THEN and BEGIN to words that are effectively a no-op, but they help with decompilation 2025-02-15 04:51:15 That's a good point - if you wanted a total decompile ability then that kind of thing would help. 2025-02-15 08:10:52 More appropriate for essentially a compact BASIC replacement, where SEE needs to show the actual source, but you don't want to store all the text 2025-02-15 08:11:03 The ACE also stores comments right? 2025-02-15 10:47:49 veltas: what prompted me to say that was this https://www.99-bottles-of-beer.net/language-forth-793.html (too much factoring) 2025-02-15 10:49:50 sometimes i even think that just a big block without any words might be easier to write, and only factor if you really need it. otherwise you write a word and it's a dup there swap there and uhhh 2025-02-15 12:45:38 I'm quite into the factoring thing. 2025-02-15 12:46:51 There's nothing I hate more than to see a page of Forth that's all one word indented like C. 2025-02-15 12:47:32 Well, that's likely not true - I'm sure I could thing of thigns even worse. 2025-02-15 12:47:43 think 2025-02-15 12:48:09 Agh. Can't type this morning. Not totally awake yet, I guess. 2025-02-15 12:56:03 [bot]clog: !help 2025-02-15 12:56:05 !help 2025-02-15 12:56:14 [bot]clog: !commands 2025-02-15 12:58:08 KipIngram: definitely need a coffee machine with forth on it :) 2025-02-15 13:00:24 KipIngram: i'll note that i'm 100% on a desktop, which may be a useful distinction. factoring is probably a good tradeoff if there's less resources available. 2025-02-15 13:01:32 I've just evolved this style of writing little groups of related short definitions - they make little blocks on the screen. I've found it easer to pick my old code back up, etc. 2025-02-15 13:43:22 factoring can impact speed on some systems 2025-02-15 13:44:05 I ended up with long words on a 6502 program to try to claw back some performance 2025-02-15 13:46:10 Yeah, that's true. Did you profile so you knew where to focus that? 2025-02-15 13:48:14 Nah. It was fast enough to work but slow enough to be annoying so any increase in speed was welcome 2025-02-15 13:48:28 You can certainly speed things up that don't matter if you're not careful 2025-02-15 19:29:07 Has anybody tried a multi-stack Forth before? 2025-02-15 19:30:54 Most Forths have multiple stacks, usually at least two 2025-02-15 19:30:54 Floating point and string stacks are not uncommon 2025-02-15 19:31:04 As in, an arbitrary number of them. 2025-02-15 19:32:06 How would you select between them? 2025-02-15 19:32:53 There's a few ways. Naively you could have something designated as the "main" stack, and then use that to coordinate pushes/pops to other named stacks. 2025-02-15 19:33:30 Some of Chuck Moore's chips have A and B registers with instructions to move between them and the stack 2025-02-15 19:33:59 : swap temp1 push temp2 push temp1 pop temp2 pop ; 2025-02-15 19:34:56 Something to alleviate juggling. 2025-02-15 19:35:22 But now you're juggling between stacks :P 2025-02-15 19:35:49 Named stacks are just fancy variables. 2025-02-15 19:36:05 Linear collections. 2025-02-15 19:37:53 You could hold a bunch of things on alternate stacks and then chew through them pretty quickly. 2025-02-15 19:38:26 Anyway, was just curious if a Forth implementation existed that did something like this. 2025-02-15 19:39:14 Not that I know of 2025-02-15 19:39:49 Hang around, someone else might know of one 2025-02-15 20:20:15 I know that a considerable number of years ago I saw a system offered that had four data stacks. I've tried to go back and find it, mostly just out of curiosity, and failed, though. 2025-02-15 20:22:26 that's just a register machine, no? :P 2025-02-15 20:23:32 This may be what I remember: 2025-02-15 20:23:35 https://bernd-paysan.de/4stack.pdf 2025-02-15 20:23:51 Yes, I do think of it as basically a register machine with stacks tacked beneath the registers. 2025-02-15 20:24:40 what i did was put things on a continuum and think, say i had n stacks.. boom MMIXFORTH 2025-02-15 20:25:26 That link I just posted - that system had ALUs for each stack. 2025-02-15 20:58:00 pgimeno: aha, thanks! I should have thought of that; it's an obviously good idea now that you mention it 2025-02-15 21:00:21 wryl: the floating-point stack suggests you could have one stack per data type. The Reduceron was a multi-data-stack machine but wasn't Forth 2025-02-15 22:24:31 veltas: yes the ACE stores comments, and doesn't allow them in immediate mode, only when compiling 2025-02-15 22:28:17 wryl: the Kipple esoteric language has 26 stacks, but what you're suggesting isn't a bad idea... think having R> and >R but also S> and >S, T> and >T... just R is the return stack and the rest would be auxiliary data stacks 2025-02-15 22:28:54 Yeah. 2025-02-15 22:29:24 Provided you could get the stack depth of any given stack, as well, you could do things like store strings and do processing on them rather than reaching for RAM.