[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/