I love both Forth and Lisp but SectorLisp it's far better.
Also, for a small demo, check Eforth under Subleq/Muxleq:
https://github.com/howerj/subleq
edit subleq.fth/muxleq.fth and set these options to 1:
1 constant opt.multi ( Add in large "pause" primitive )
1 constant opt.editor ( Add in Text Editor )
1 constant opt.info ( Add info printing function )
0 constant opt.generate-c ( Generate C code )
1 constant opt.better-see ( Replace 'see' with better version )
1 constant opt.control ( Add in more control structures )
0 constant opt.allocate ( Add in "allocate"/"free" )
1 constant opt.float ( Add in floating point code )
0 constant opt.glossary ( Add in "glossary" word )
1 constant opt.optimize ( Enable extra optimization )
1 constant opt.divmod ( Use "opDivMod" primitive )
0 constant opt.self ( self-interpreter [NOT WORKING] )
Then run this to create a new EForth image with float/do...loop and such: ./muxleq ./muxleq.dec < muxleq.fth > new.dec
Subleq is the original one, muxleq it's multiplexed. The command it's the same, just replace
muxleq with subleq (edit the fth file too).Usage: ./muxleq new.dec
For a brief help:
words
On Forth syntax, the EForth Overview PDF will be enough, except for 8086 related code, where here it's different.