Many new functions and macros that should be generally useful, like assert
and eachk
. There is some backwards incompatibility in the Janet core with the removal of the numeric operators (==
, not==
, etc), removal of the emscripten build, removal of file/fileno
and file/fdopen
, and some changes to comparison functionality for abstract types. Many other small changes in the Changelog.
- Remove
file/fileno
andfile/fdopen
. - Remove
==
,not==
,order<
,order>
,order<=
, andorder>=
. Instead, use the normal
comparison and equality functions. - Let abstract types define a hash function and comparison/equality semantics. This lets
abstract types much better represent value types. This adds more fields to abstract types, which
will generate warnings when compiled against other versions. - Remove Emscripten build. Instead, use the amalgamated source code with a custom toolchain.
- Update documentation.
- Add
var-
- Add
module/add-paths
- Add
file/temp
- Add
mod
function to core. - Small bug fixes
- Allow signaling from C functions (yielding) via janet_signalv. This
makes it easy to write C functions that work with event loops, such as
in libuv or embedded in a game. - Add '%j' formatting option to the format family of functions.
- Add
defer
- Add
assert
- Add
when-with
- Add
if-with
- Add completion to the default repl based on currently defined bindings. Also generally improve
the repl keybindings. - Add
eachk
- Add
eachp
- Improve functionality of the
next
function.next
now works on many different
types, not just tables and structs. This allows for more generic data processing. - Fix thread module issue where sometimes decoding a message failed.
- Fix segfault regression when macros are called with bad arity.