I saw a project for implementing an Elm repl in the browser on elm/projects. Evan recommended to build an repl for a simple lambda calculus first so I gave it a shot. Here’s how it looks:
Here are some sample lambda calculus:
id = \x. x
true = \t. \f. t false = \t. \f. f
pair = \first. \second. \choose. choose first second first = \pair. pair true first (pair true false) -- true
You can try the repl online here.
The highlights are:
- Cell-based repl with easy navigation
- Seamless multi-line cell editing
- Instant evaluations and problem feedbacks
- Auto save repl
- Support several color themes
- Tailored experiences for all devices
I would love your feedback on the UI, design, and functionalities of the repl. My main question is how to implement the call by name evaluation strategy? Here’s my current attempt.