petit_lisp 6.4.0 copy "petit_lisp: ^6.4.0" to clipboard
petit_lisp: ^6.4.0 copied to clipboard

A simple Lisp implementation

Changelog #

6.4.0 #

  • Optional and rest args keywords are now preferably #:optional and #:rest
    • They are recognized by lambda*, define*, and define-macro*, but not lambda, define, or define-macro
    • &optional and &rest are recognized as synonyms
  • Dotted rest args are supported everywhere
  • Add build-in functions: pair?, list?, let*, cond

6.3.0 #

  • "Truthy" logic: false and null are falsy; others are truthy
  • Support &rest arguments in lambdas
  • Add macros
  • Add quasiquoting, unquoting, splicing, dotted pairs
  • Add built-in functions: list, progn, make-symbol, gensym, eq?, member, memq, when, unless, and all c[ad]{2,3}r functions

6.2.0 #

  • Add Environment.interrupt callback to allow interrupting execution

6.1.0 #

  • Support &optional arguments in lambdas

6.0.2 #