Skip to content

pkuderov/clispi

Repository files navigation

clispi

Common Lisp interpreter written in Go language. It implements the base part of Common Lisp with some differences and limitations:

  • No macroses
  • Shared namespace for functional and simple variables.
  • Variables, which store simple value or lambda - have same nature. So (lambda ...) just return unnamed lambda variable - it can be used without needing to call execution staight after initialising (as it is in Common Lisp).
  • So then functions are just lambdas with name. You can do with it what you can do with any variables.
  • This interpreter presents some core (base) Common Lisp functions - these functions have low level implementation. These base function-variables are consts so they cannot be overwritten for the safe sake.
  • There's some differences with sintax for lazy evaluation - all expressions are markable as lazy evaluated (but with different sign - '$')

About

Common Lisp interpreter written in Go language

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published