Janet is a functional and imperative programming language.
other programs. Think Lua or Guile. Janet also can be used for rapid
2024-06-20 22:31:41 by Charlotte Koch | Files touched by this commit (3) |
Log message:
lang/janet: Update to 1.35.2
New changes:
## 1.35.2 - 2024-06-16
- Fix some documentation typos.
- Allow using `:only` in import without quoting.
## 1.35.0 - 2024-06-15
- Add `:only` argument to `import` to allow for easier control over imported
bindings.
- Add extra optional `env` argument to `eval` and `eval-string`.
- Allow naming function literals with a keyword. This allows better stacktraces
for macros without accidentally adding new bindings.
- Add `bundle/` module for managing packages within Janet. This should replace
the jpm packaging format eventually and is much simpler and amenable to more
complicated builds.
- Add macros `ev/with-lock`, `ev/with-rlock`, and `ev/with-wlock` for using
mutexes and rwlocks.
- Add `with-env`
- Add *module-make-env* dynamic binding
- Add buffer/format-at
- Add long form command line options for readable CLI usage
- Fix bug with `net/accept-loop` that would sometimes miss connections.
## 1.34.0 - 2024-03-22
- Add a new (split) PEG special by @ianthehenry
- Add buffer/push-* sized int and float by @pnelson
- Documentation improvements: @amano-kenji, @llmII, @MaxGyver83, @pepe,
@sogaiu.
- Expose _exit to skip certain cleanup with os/exit.
- Swap set / body order for each by @sogaiu.
- Abort on assert failure instead of exit.
- Fix: os/proc-wait by @llmII.
- Fix macex1 to keep syntax location for all tuples.
- Restore if-let tail calls.
- Don't try and resume fibers that can't be resumed.
- Register stream on unmarshal.
- Fix asm roundtrip issue.
|
2024-02-21 11:57:08 by Nia Alarie | Files touched by this commit (1) |
Log message:
janet: Requires C11 atomics support
|
2024-02-14 19:39:37 by Charlotte Koch | Files touched by this commit (3) |
Log message:
lang/janet: Update to 1.33.0
Notable changes since 1.31.0:
## 1.33.0 - 2024-01-07
- Add more + and * keywords to default-peg-grammar by @sogaiu.
- Use libc strlen in janet_buffer_push_cstring by @williewillus.
- Be a bit safer with reference counting.
- Add support for atomic loads in Janet's atomic abstraction.
- Fix poll event loop CPU usage issue.
- Add ipv6, shared, and cryptorand options to meson.
- Add more ipv6 feature detection.
- Fix loop for forever loop.
- Cleaned up unused NetStateConnect, fixed janet_async_end() ev refcount by
@zevv.
- Fix warnings w/ MSVC and format.
- Fix marshal_one_env w/ JANET_MARSHAL_UNSAFE.
- Fix `(default)`.
- Fix cannot marshal fiber with c stackframe, in a dynamic way that is fairly
conservative.
- Fix typo for SIGALARM in os/proc-kill.
- Prevent bytecode optimization from remove mk* instructions.
- Fix arity typo in peg.c by @pepe.
- Update Makefile for MinGW.
- Fix canceling waiting fiber.
- Add a new (sub) PEG special by @ianthehenry.
- Fix if net/server's handler has incorrect arity.
- Fix macex raising on ().
## 1.32.1 - 2023-10-15
- Fix return value from C function `janet_dobytes` when called on Janet
functions that yield to event loop.
- Change C API for event loop interaction - get rid of JanetListener and
instead use `janet_async_start` and `janet_async_end`.
- Rework event loop to make fewer system calls on kqueue and epoll.
- Expose atomic refcount abstraction in janet.h
- Add `array/weak` for weak references in arrays
- Add support for weak tables via `table/weak`, `table/weak-keys`, and
`table/weak-values`.
- Fix compiler bug with using the result of `(break x)` expression in some
contexts.
- Rework internal event loop code to be better behaved on Windows
- Update meson build to work better on windows
|
2023-09-28 01:58:51 by Charlotte Koch | Files touched by this commit (3) |
Log message:
lang/janet: Update to 1.31.0.
## 1.31.0 - 2023-09-17
- Report line and column when using `janet_dobytes`
- Add `:unless` loop modifier
- Allow calling `reverse` on generators.
- Improve performance of a number of core functions including `partition`, \
`mean`, `keys`, `values`, `pairs`, `interleave`.
- Add `lengthable?`
- Add `os/sigaction`
- Change `every?` and `any?` to behave like the functional versions of the `and` \
and `or` macros.
- Fix bug with garbage collecting threaded abstract types.
- Add `:signal` to the `sandbox` function to allow intercepting signals.
|
2023-08-15 17:13:55 by Charlotte Koch | Files touched by this commit (3) |
Log message:
lang/janet: Update to 1.30.0
## 1.30.0 - 2023-08-05
- Change indexing of `array/remove` to start from -1 at the end instead of -2.
- Add new string escape sequences `\\a`, `\\b`, `\\?`, and `\\'`.
- Fix bug with marshalling channels
- Add `div` for floored division
- Make `div` and `mod` variadic
- Support `bnot` for integer types.
- Define `(mod x 0)` as `x`
- Add `ffi/pointer-cfunction` to convert pointers to cfunctions
|
2023-06-21 08:37:06 by Charlotte Koch | Files touched by this commit (3) |
Log message:
lang/janet: Update to 1.29.1
Changes from 1.28.0:
## 1.29.1 - 2023-06-19
- Add support for passing booleans to PEGs for "always" and \
"never"
matching.
- Allow dictionary types for `take` and `drop`
- Fix bug with closing channels while other fibers were waiting on them:
`ev/take`, `ev/give`, and `ev/select` will now return the correct
(documented) value when another fiber closes the channel.
- Add `ffi/calling-conventions` to show all available calling conventions
for FFI.
- Add `net/setsockopt`
- Add `signal` argument to `os/proc-kill` to send signals besides `SIGKILL`
on Posix.
- Add `source` argument to `os/clock` to get different time sources.
- Various combinator functions now are variadic like `map`
- Add `file/lines` to iterate over lines in a file lazily.
- Reorganize test suite to be sorted by module rather than pseudo-randomly.
- Add `*task-id*`
- Add `env` argument to `fiber/new`.
- Add `JANET_NO_AMALG` flag to Makefile to properly incremental builds
- Optimize bytecode compiler to generate fewer instructions and improve
loops.
- Fix bug with `ev/gather` and hung fibers.
- Add `os/isatty`
- Add `has-key?` and `has-value?`
- Make imperative arithmetic macros variadic
- `ev/connect` now yields to the event loop instead of blocking while
waiting for an ACK.
|
2023-05-27 08:29:51 by Charlotte Koch | Files touched by this commit (3) |
Log message:
lang/janet: Update to 1.28.0
## 1.28.0 - 2023-05-13
- Various bug fixes
- Make nested short-fn's behave a bit more predictably (it is still not
recommended to nest short-fns).
- Add `os/strftime` for date formatting.
- Fix `ev/select` on threaded channels sometimes live-locking.
- Support the `NO_COLOR` environment variable to turn off VT100 color codes
in repl (and in scripts). See http://no-color.org/
- Disallow using `(splice x)` in contexts where it doesn't make sense rather
than silently coercing to `x`. Instead, raise a compiler error.
- Change the names of `:user8` and `:user9` sigals to `:interrupt` and
`:await`
- Change the names of `:user8` and `:user9` fiber statuses to `:interrupted`
and `:suspended`.
- Add `ev/all-tasks` to see all currently suspended fibers.
- Add `keep-syntax` and `keep-syntax!` functions to make writing macros
easier.
|
2023-03-07 07:09:02 by Charlotte Koch | Files touched by this commit (3) |
Log message:
lang/janet: Update to 1.27.0
## 1.27.0 - 2023-03-05
- Change semantics around bracket tuples to no longer be equal to regular
tuples.
- Add `index` argument to `ffi/write` for symmetry with `ffi/read`.
- Add `buffer/push-at`
- Add `ffi/pointer-buffer` to convert pointers to buffers the cannot be
reallocated. This allows easier manipulation of FFI memory, memory mapped
files, and buffer memory shared between threads.
- Calling `ev/cancel` on a fiber waiting on `ev/gather` will correctly cancel
the child fibers.
- Add `(sandbox ...)` function to core for permission based security. Also add
`janet_sandbox` to C API. The sandbox allows limiting access to the file
system, network, ffi, and OS resources at runtime.
- Add `(.locals)` function to debugger to see currently bound local symbols.
- Track symbol -> slot mapping so debugger can get symbolic information. This
exposes local bindings in `debug/stack` and `disasm`.
- Add `os/compiler` to detect what host compiler was used to compile the
interpreter
- Add support for mingw and cygwin builds (mingw support also added in jpm).
|