FlislLanguage

Last edit July 29, 2008
FLISL is short for Forth Like Interpreted Scripting Language, it is meant for embedding into other programs.

It is a bit different than Forth. It is simpler, so it doesn't have as many commands, but you can add some in whatever program it is being embedded in.

A few of the features are:
  • Control-flow blocks are always delimited with square brackets, and the word that isn't a square bracket by itself actually does something, while square brackets by themself do nothing other than begin/end blocks
  • Stack marking, allowing you to deal with many values at once
  • Labels and GOTO, in addition to more structured programming contructs
  • "If ... else if ... else ... end if" blocks. An example: aaa IF[ bbb ]ELSE ccc IF[ ddd ]ELSE[ eee ]
  • Many abbreviations

Here is an example which calculates a fibonact sequence (assuming the existence of OUTPUT command, which is non-standard):
 1 1 [ SWAP OVER + DUP OUTPUT ]LOOP
With abbreviations, it is:
 1 1 [ S; O; + D; OUTPUT ]LOOP