home .. forth .. colorforth mail list archive ..

Re: [colorforth] Where is +


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

---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com