Crates.io | janetrs |
lib.rs | janetrs |
version | 0.7.0 |
source | src |
created_at | 2020-08-28 01:55:34.586563 |
updated_at | 2024-03-15 15:47:33.876535 |
description | High level binding for Janet programming language |
homepage | https://crates.io/crates/janetrs |
repository | https://github.com/GrayJack/janetrs |
max_upload_size | |
id | 281695 |
size | 677,352 |
A crate with high level bindings to Janet C API.
Provide a safe and ergonomic interface to the Janet C API to create Janet clients and Janet modules/libraries using Rust.
This project still are in it's early stages, so breaking changes may happen, there is no minimal supported Rust version (MSRV) yet.
Notice that most doc tests will fail if the feature "almagation" or "link-system" aren't set, because most of then need the Janet runtime to function properly.
std
: Enable some trait impl for types that only exist on the std
and the
Error traitunicode
: Enable more methods for JanetString and JanetBufferinline-more
: More aggressive inliningamalgation
: Link the Janet runtime to the package, enabling to use the
client moduleunicode
: Enable some unicode methods for JanetString and JanetBuffersystem
: Use system header to get Janet functionslink-system
: Link the Janet runtime to the package from the system, enabling
to use the client modulenightly
: Enable some parts of the crate that uses nightly features, to use
this feature you must compile the crate using a nightly rust versionThese variables are only used when the amalgation
feature is enabled
It is possible to use environment variables to overwrite some Janet definitions.
JANET_RECURSION_GUARD=<integer>
JANET_MAX_PROTO_DEPTH=<integer>
JANET_MAX_MACRO_EXPAND=<integer>
JANET_STACK_MAX=<integer>
This software is licensed under the terms of the MIT Public License.
[ ]: Lacking
[I]: Incomplete
[X]: Done
Probably there is much more missing, for that you can use the lowlevel
module
to access the raw C API of Janet