For the simplified UI version switch to branch UI.
This fork contains a stripped version of EFSD-vis with the UI functionality removed and a few changes so that it can be run in Node.js and have the First Futamura Projection applied to it. Cannot be used as it is- it needs to be ran through a preprocessor implemented in a private repo.
<var> ::= {variables}
<bool> ::= true | false
<num> ::= {num}
<const> ::= <bool> | <num>
<expr> ::= <var>
| λ <var>. <expr>
| <expr> <expr>
| <const>
| ~ <expr>
| <expr> + <expr> | <expr> - <expr> | <expr> * <expr> | <expr> / <expr> | <expr> <= <expr>
| <expr> && <expr> | <expr> || <expr>
| rec <var>. <expr>
| let <var> = <expr> in <expr>
| { <expr> }
| link <var> to <expr>
| set <var> to <expr>
| peek <expr>
| deref <expr>
| step