Transition to SpnHashMap-based abstract syntax tree.
Added 'parse()', 'parseexpr()' and 'compileast()', accordingly.
Improved error location reporting in parser and compiler (line and column info).
Added 'sleep()' and 'clock()' library functions for more accurate time handling.
Transition to value semantics (copying and returning by-value) of SpnValues
in the interface of various collection objects (e. g. spn_array_get(),
spn_hashmap_get*(), etc.)
Fixed a bug in the JavaScript binding, related to failing to re-create an
invalidated SpnFunction object (namely, 'wrapperGenerator') when its owning
global context was reset, and consequently deallocated bytecode was executed.
General minor bug fixes, stylistic improvements, refactoring, minor performance
tuning in spn_hashmap_get_strkey.
Added in-buffer code evaluation in Emacs sparkling-mode; fixed some annoyances
in the UI of sparkling-mode as well (e. g. incorrect indentation, curly braces)
Added unit tests for the parser. TODO: add unit tests for compiler, VM, library.
Changed prefix of octal literals to '0o' or '0O'; added binary literals,
prefixed by '0b' or '0B'
The error message parameter of 'assert()' is now optional.
The file descriptor object returned by 'fopen()' now maps the C file handle
to a more meaningful key, "file", rather than the non-descriptive '1'.
Formatting of floating-point numbers as strings now uses the C stdlib.
Renamed 'combine()' to 'zip()'; added 'zipwith()' library function.