This release brings a number of new features that will make Janet useful in even more domains, including mutexes and reader-writer locks to the ev module to improve interactions with multi-threaded, native code, better named arguments support, and an experimental FFI module. Also a number of improvements and simplification to Janet's debugging capabilities have been made, and exposed with the new debugger
function.
- Add experimental
ffi/
module for interfacing with dynamic libraries and raw function pointers. Only available
on 64 bit linux, mac, and bsd systems. - Allow using
&named
in function prototypes for named arguments. This is a more ergonomic
variant of&keys
that isn't as redundant, more self documenting, and allows extension to
things like default arguments. - Add
delay
macro for lazy evaluate-and-save thunks. - Remove pthread.h from janet.h for easier includes.
- Add
debugger
- an easy to use debugger function that just takes a fiber. dofile
will now start a debugger on errors if the environment it is passed has:debug
set.- Add
debugger-on-status
function, which can be passed torun-context
to start a debugger on
abnormal fiber signals. - Allow running scripts with the
-d
flag to use the built-in debugger on errors and breakpoints. - Add mutexes (locks) and reader-writer locks to ev module for thread coordination.
- Add
parse-all
as a generalization of theparse
function. - Add
os/cpu-count
to get the number of available processors on a machine