Path to this page:
./
lang/janet,
Functional and imperative programming language
Branch: CURRENT,
Version: 1.35.2,
Package name: janet-1.35.2,
Maintainer: charlotteJanet is a functional and imperative programming language.
Janet makes a good system scripting language, or a language to embed in
other programs. Think Lua or Guile. Janet also can be used for rapid
prototyping, dynamic systems, and other domains where lisp shines.
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 557.181 KB
Version history: (Expand)
- (2024-06-20) Updated to version: janet-1.35.2
- (2024-02-14) Updated to version: janet-1.33.0
- (2023-09-28) Updated to version: janet-1.31.0
- (2023-08-15) Updated to version: janet-1.30.0
- (2023-06-21) Updated to version: janet-1.29.1
- (2023-05-27) Updated to version: janet-1.28.0
CVS history: (Expand)
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).
|
2023-03-04 03:18:59 by Charlotte Koch | Files touched by this commit (3) |
Log message:
lang/janet: Update to 1.26.0
## 1.26.0 - 2023-01-07
- Add `ffi/malloc` and `ffi/free`. Useful as tools of last resort.
- Add `ffi/jitfn` to allow calling function pointers generated at runtime from
machine code. Bring your own assembler, though.
- Channels can now be marshalled. Pending state is not saved, only items in the
channel.
- Use the new `.length` function pointer on abstract types for lengths. Adding
a `length` method will still work as well.
- Support byte views on abstract types with the `.bytes` function pointer.
- Add the `u` format specifier to printf family functions.
- Allow printing 64 integer types in `printf` and `string/format` family
functions.
- Allow importing modules from custom directories more easily with the `@`
prefix to module paths. For example, if there is a dynamic binding
:custom-modules that is a file system path to a directory of modules, import
from that directory with `(import @custom-modules/mymod)`.
- Fix error message bug in FFI library.
|