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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.