Re: Where is +
Mark Slicker <[email protected]>
| Newsgroups | gmane.comp.lang.forth.colorforth |
|---|---|
| Message-ID | <[email protected]> |
On Sat, 23 Apr 2005, Robert Patten wrote: > Albert , > + is on block 22 and is not in the color.asm > + was removed along with other words when they could be implemented in > blocks. > Just the the assembler + is available in color.asm > Only the code needed to initialize and support load is needed in > color.asm > I think only 1, 2, 3, , ; then forth macro are necessary in > color.asm or colorForth meta compiler. > The rest including keyboard, video and editor can now be moved to blocks. > This is a chicken and egg problem. > I've thought this too, that you could strip colorForth down to just compiler, and compile everything else at boot. If you look at colorForth, you'll see that the compiler is dependent on accept, accept is dependent on key, and key is dependent on pause. If you add up everthing mentioned so far, and add support for some storage medium (e.g. floppy) you get: boot read storage multitasking keyboard input word/numeric input (accept) compiler You might want to add support for graphics too, because the word 'keyboard', which displays the keyboard, shares some state with accept. This depends on whether you wish to expose the innards of accept or not. The colorForth system as published does not expose many words in the kernel. cmForth does not expose many words, partly I think this it to save space, as the word header can be discarded. The corresponding resource in colorForth is the finite dictionaries of macro and forth. cmForth may give a good picture of what a metacompiling colorForth would look like. Here you have about 30 screens of Forth defining cmForth, most of that list above finds its way into the kernel of cmForth. Regards, Mark