Path to this page:
Subject: CVS commit: pkgsrc/lang/janet
From: Charlotte Koch
Date: 2022-08-09 03:48:07
Message id: 20220809014807.5B8D1FB1A@cvs.NetBSD.org
Log Message:
janet: Update to 1.23.0
CHANGELOG:
Janet 1.23.0
------------
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
Janet 1.22.0
------------
- Prohibit negative size argument to table/new.
- Add module/value.
- Remove file/popen. Use os/spawn with the :pipe options instead.
- Fix bug in peg thru and to combinators.
- Fix printing issue in doc macro.
- Numerous updates to function docstrings
- Add defdyn aliases for various dynamic bindings used in core.
- Install janet.h symlink to make Janet native libraries and applications
easier to build without jpm.
Janet 1.21.2
------------
- Fix patch release - (version info)
Janet 1.21.1
------------
- Patch release to fix some versioning issues in the previous 1.21.0 release.
No new changes here.
Janet 1.21.0
------------
- C functions janet_dobytes and janet_dostring will now enter the event loop if
it is enabled.
- Fix hashing regression - hash of negative 0 must be the same as positive 0
since they are equal.
- The flycheck function no longer pollutes the module/cache
- Fix quasiquote bug in compiler
- Disallow use of cancel and resume on fibers scheduled or created with ev/go,
as well as the root fiber.
Janet 1.20.0
------------
Add :missing-symbol hook to compile that will act as a catch-all macro for
undefined symbols.
- Add :redef dynamic binding that will allow users to redefine top-level
bindings with late binding. This is intended for development use.
- Fix a bug with reading from a stream returned by os/open on Windows and
Linux.
- Add :ppc64 as a detectable OS type.
- Add & more support for destructuring in the match macro.
- Add & more support for destructuring in all binding forms (def).
Janet 1.19.2
------------
- Fix bug with missing status lines in some stack traces.
- Update hash function to have better statistical properties.
Janet 1.19.1
------------
- Add an optional prefix parameter to debug/stacktrace to allow printing
prettier error messages.
- Remove appveyor for CI pipeline
- Fixed a bug that prevented sending threaded abstracts over threaded channels.
- Fix bug in the map function with arity at least 3.
Janet 1.19.0
------------
- Add math/log-gamma to replace math/gamma, and change math/gamma to be the
expected gamma function.
- Fix leaking file-descriptors in os/spawn and os/execute.
- Ctrl-C will now raise SIGINT.
- Allow quoted literals in the match macro to behave as expected in patterns.
- Fix windows net related bug for TCP servers.
- Allow evaluating ev streams with dofile.
- Fix ev related bug with operations on already closed file descriptors.
- Add struct and table agnostic getproto function.
- Add a number of functions related to structs.
- Add prototypes to structs. Structs can now inherit from other structs, just
like tables.
- Create a struct with a prototype with struct/with-proto.
- Deadlocked channels will no longer exit early - instead they will hang, which
is more intuitive.
Files: