En/Je/On 2012-12-31 13:13, Thomas Harte escribió / skribis / wrote :

> Would it be fair to describe Forth as the procedural analogue of Smalltalk?

I don't know Smalltalk. I think I read a comparation some time ago.
AFAIK they internally work quite differently.

> I'm thinking specifically about strict left-to-right evaluation,

Right. Forth has no syntax. That's one of its strongest features.  Words
are executed in the order they are received (from a keyboard, a file, a
serial line or whatever). 

> words having meaning only by definition

Right. 

> and runtime components doing the things that are usually specialised
> syntax like branches and loops. 

Words that create control structures are ordinary words in Forth. They
compile lower-level words and branch information on the word currently
compiled. Thus you can write your own special control structures on the
fly if you need, anywhere in a Forth program,  and use them right on the
next word you create.  In fact, actually you don't write a "Forth
program" at all -- you write your own dialect of the language suitable
for resolving your particular problem. 

I think the following online/downloadable books by Leo Brodie could be
helpful in order to solve your doubts:

The "Forth way" to solve problems (no Forth knowledge required, useful
also for programmers of other languages):

http://thinking-forth.sourceforge.net

(The simple Forth "compiler" is caricatured on Figure 4-7, page 103, and
explained on page 102).

A good classic tutorial for beginners:

http://forth.com/starting-forth/


Marcos

-- 
http://programandala.net

Reply via email to