It was thus said that the Great John R. once stated:
On 6/21/06, Don Y <dgy at dakotacom.net> wrote:
Amusingly, *except* for parens, LISP largely does
without punctuation!
Unfortunately, parens are a royal PITA as they require tracking
more state than local punctuation.
And RPN languages like Forth can even do away with parentheses.
However I don't know that you could call Forth "punctuation free" or
even Regular (in the sense of not needing a parser). In general Forth
is processed one word at a time with an ad hoc lexer + smarts. Some
words read ahead in the input stream, and state during parsing is
important.
Well, in Forth, functions are called "words" and + is a word. So is (.
As is @. And !. As well as 0 [1], 1 [1] and 2 [1]. There are only a few
words (in ANS Forth) that require looking ahead and they're well known.
Most of the words in Forth pull parameters off the stack.
-spc (And one can always rename @ as fetch)
[1] To conserve space. Otherwise, numbers are stored as two cells: the
address for "push the following value onto the stack" function, and
then the actual value. 0, 1 and 2 are used enough to warrent their
own words.