Skip to content

Latest commit

 

History

History
34 lines (33 loc) · 1.48 KB

Changelog.org

File metadata and controls

34 lines (33 loc) · 1.48 KB

Changelog

Unreleased

  • Added vm.fork() for using SPAIK in an asynchronous fashion, using a message-api.
  • Added serde deserializer for arbitrary runtime SPAIK values
  • Added line-number reporting on runtime errors
  • Made (pow :number :number) a builtin
  • Added (join :intoiter) for joining strings inside collections
  • Added (sym-id :symbol)
  • Added (instant) for timing
  • The (len) function now accepts strings
  • Re-added (disassemble-all)
  • Added (dis) macro for easily disassembling expressions
  • Made it possible to pass + - / * operations as functions
  • Removed the sys:: cruft in favor of the new Subr trait and functions implemented using it.
  • EnumCall and associated proc-macro derivation to make it easier to implement the command-pattern using SPAIK.
  • Derive-macro for the Fissile trait
  • The spaikfn macro, for making Rust functions callable from Lisp.
  • Use serde~/~bincode instead of binread~/~binwrite for dumping modules
  • Removed C code
  • Added continuations and an async~/~await API in async.lisp
  • Added (throw :any), for control flow. Currently exclusively used for control flow that bubbles up to Rust.
  • Added (error :symbol), for error-reporting
  • Added generic iteration using (iter obj) and (next it) for vector, cons, and string.
  • Added sqrt function
  • Added the char type for string iteration.
  • Added public SPAIK API to make it easier to integrate SPAIK into other projects.
  • Remove stack_ref_op cruft