- 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 newSubr
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 ofbinread~/~binwrite
for dumping modules - Removed C code
- Added continuations and an
async~/~await
API inasync.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)
forvector
,cons
, andstring
. - Added
sqrt
function - Added the
char
type forstring
iteration. - Added public SPAIK API to make it easier to integrate SPAIK into other projects.
- Remove
stack_ref_op
cruft