Skip to content

Janet 1.23.0

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Jun 16:46
· 735 commits to master since this release

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 to run-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 the parse function.
  • Add os/cpu-count to get the number of available processors on a machine