Skip to content

advait/spillem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spillem

A toy LISP implementation in Elm. Spillem is based on the wonderful mal (Make a Lisp) project. Spillem deviates from the mal spec due to the limitations of Elm (inability to read files, manipulate stdio, etc).

Interpreter Features

  • Parser
  • Ints, Lists, Symbols
  • Eval
  • Environments
  • Functions/Lexical Closures
  • Macros
  • Atoms
  • Quasi/Unquote
  • Vectors
  • Maps
  • Try/Catch
  • Meta-circular interpreter

Repl

Spillem also comes bundled with an interactive repl in a web UI. To access this, run elm reactor and open src/Repl.elm.

Why?

You will never truly understand a lexical closure until you have implemented one yourself. This project has helped me understand the nature of programming languages, interpreters, functional programming, etc. more than any other side project I have worked on.

About

A toy lisp implementation in Elm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages