[ColorForth] Newbie questions
- Subject: [ColorForth] Newbie questions
- From: Kristopher Johnson <kristopher_d_johnson@xxxxxxxxx>
- Date: Wed, 22 Aug 2001 06:49:31 -0700 (PDT)
I'm a newbie myself, so this might not be entirely accurate, but here's what
I've figured out:
colorForth has two word lists: 'macro' and 'forth'. Words in the macro list
are treated like IMMEDIATE words in ANS Forth: they are executed in a
definition rather than being compiled. Most of the macros compile machine-code
instructions.
Within a definition, the macro list is searched first, and the word is executed
if found. Otherwise, the forth list is searched, and a call to the word is
compiled.
Outside of a definition, the macro list is not searched: the interpreter only
searches the forth list and executes the word if found. This is why common
words like 'drop' and 'swap' don't work when entered as commands--they are only
defined as macros.
What I did was add my own definitions:
forth
: drop drop ;
: swap swap ;
\ etc.
-- Kris
--- Leslie Snively <les@xxxxxxxxxxxxxx> wrote:
> I've found a PC on which colorForth boots and runs - somewhat as
> expected. However, there are parts don't seem to work, and I'm not sure
> if that's due to the hardware I'm running it on, or if I'm not
> understanding some aspects of using colorForth. Following is a
> description of what's happening, and any guidance or suggestions would
> be appreciated. Thanks, in advance.
> The editor and keyboard all behave as described in the Users
> Guide. Some words execute as expected such as 'save' and 'dump'.
> However, many of the words that appear as though they have been loaded
> don't seem to function. For example, after entering numbers on the
> stack, using 'drop' or 'swap', and most stack operators, appear to have
> no effect; executing the word causes the word to be followed by a '?'
> suggesting that the word is not recognized.
> As I currently understand color.com, block 18 causes certain other
> blocks containing macros and word definitions to be loaded. And, I
> assumed that block 18 was loaded as part of the boot process. However,
> that doesn't appear to be happening. I tried manually loading blocks
> such as 24 that contain many of the useful macros and word definitions.
> The ones in the loaded blocks still didn't seem to be available,
> resulting in the '?' after their invocation, suggesting, strongly, that
> I'm not understanding some of the basics.
> I also tried adding my own words to one of the unused blocks.
> However, it didn't result in something that worked either, again acting
> as though it didn't recognize the new word I created.
> Finally, showing my ignorance even more blatantly, what's the
> difference between a 'macro' and an ordinary word definition? Why is it
> that some apparently integral words are redefined as macros? What are
> the advantages or requirements for doing this?
> My apologies to the list for probably missing something that is
> obvious to everyone else. However, I'd like to join the growing ranks
> of colorForthers rather than just being a wannabe, and I seem to be
> having trouble getting there on my own.
>
> Leslie Snively
__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/
------------------------
To Unsubscribe from this list, send mail to Mdaemon@xxxxxxxxxxxxxxxxxx with:
unsubscribe ColorForth
as the first and only line within the message body
Problems - List-Admin@xxxxxxxxxxxxxxxxxx
Main ColorForth site - http://www.colorforth.com