To Rev or not to Rev

Dennis Brown see3d at writeme.com
Mon May 2 11:02:52 EDT 2005


On May 2, 2005, at 10:25 AM, Geoff Canyon wrote:

> I'm not sure how to catalog Forth, but it's not OO (inherently -- 
> there are OO implementations). It's procedural, certainly, but the 
> inherent stack gives it a definite functional feel.

Forth is not really a high level language any more than assembler is.  
It is an alternative machine language based on a double stack 
architecture.   There have been hardware implementations of Forth as 
the native machine instruction set.  When emulated, the "Code" just 
consists of a list of addresses to the actual machine code for the 
native functions, or addresses of  "higher level" defined function 
(uses a flag bit to tell which).  This makes it execute much faster 
than "byte code".  You can implement a higher level language within the 
syntax of Forth because of its extensible nature.  "Words" are defined 
from other words in an interpretive environment.  Because of the double 
stack architecture, data arguments are passed and returned on one stack 
and return addresses are in the other stack.  It makes a very efficient 
and powerful architecture for developing real time machine controllers 
with a tiny amount of memory.  You are free to define "words" that 
implement an OO environment if you choose.  You could even create Rev 
using this as the lower level "P code", or an operating system for that 
matter.

Dennis



More information about the use-livecode mailing list