[stack] A bit more about Catenate

Don Groves <[email protected]>
Newsgroups gmane.comp.lang.concatenative
Message-ID <[email protected]>
A few more Catenate features:

Dynamic typing:
Data is typed; names are not. A name can hold any type of data.

Linearity:
Every memory cell has exactly one reference. When de-referenced, a  
cell is cleared and is immediately available for re-allocation. Thus,  
garbage collection is trivial (marking without sweeping ;-)

Unicode:
UTF8 encoding is used throughout.

Syntax:
Probably best described as a math-inspired, Lispish Joy. For example,  
here is a sample terminal session:

stack: { }
=> 3

stack: {3}
=> 4 *

stack: {12}
=> _

And a more complex one calculating the area of a circle of radius 3:

stack: { }
=> 3.1459 defcon π

π defined

stack: { }
=> [dup *] defun ^2

^2 defined

stack: { }
=> [^2 π *] defun πr^2

πr^2 defined

stack: { }
=> 3 πr^2

stack: {28.3131 }
=> _

Questions, comments, and suggestions will be gladly received,
Don Groves



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/concatenative/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/concatenative/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
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.