Forsp has:
- An S-Expression syntax like Lisp
- Function abstraction like Lisp
- Function application like Forth
- An environment structure like Lisp
- Lexically-scoped closures like Lisp (Scheme)
- Cons-cells / lists / atoms like Lisp
- A value/operand stack like Forth
- An ability to express the Lambda Calculus
- A Call-By-Push-Value evaluation order
- Only 3 syntax special forms: ’ ^ $
- Only 1 eval-time special form: quote
- Only 10 primitive functions need to self-implement
- Ability to self-implement in very little code
It’s evaluator is very simple. I suspect simpler than a McCarthy Lisp eval() function, but I haven’t defined a “simplicity function”, so you can be the judge.
In contrast to Lisp, apply() is trivial in Forsp, and instead we have a core function called compute()
You must log in or register to comment.