GitHub Hot Board

GitHub Hot Board · Hồ sơ kho lưu trữ

GrayJack/janetrs

Rust high level bindings for Janet (Mô tả đến từ chính kho lưu trữ.)

Dữ liệu tại October 27GrayJack

Thứ hạng tốt nhất

#102

Kho Báu Bị Lãng Quên

100

Tổng sao

8

Tổng fork

6

Số ngày có mặt (30 ngày)

Trạng thái dự ánGiấy phép: MITPush gần nhất: October 5Issue mở (gồm PR): 4

Thu thập từ 2026-10-25; chưa rõ = chưa thu thập được

Gắn huy hiệu vào README của bạn · GrayJack/janetrs[![Gắn huy hiệu vào README của bạn](https://git.vaiox.xyz/api/badge/GrayJack/janetrs.svg)](https://git.vaiox.xyz/vi/repo/GrayJack/janetrs)

Badge · 任何仓库都可以挂 —— 未上榜的仓库显示灰章,上完榜会自动点亮。

<a href="https://git.vaiox.xyz/vi/repo/GrayJack/janetrs"><img src="https://git.vaiox.xyz/api/badge/GrayJack/janetrs.svg" alt="Gắn huy hiệu vào README của bạn" height="20"></a>

Tài liệu dự án

JanetRS

Hits-of-Code Build Status Crates.io Docs latest release Docs dev branch MIT license

A crate with high level bindings to Janet C API.

Goals

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.

Cargo Features

  • std: Enable some trait impl for types that only exist on the std and the Error trait
  • unicode: Enable more methods for JanetString and JanetBuffer
  • inline-more: More aggressive inlining
  • amalgation: Link the Janet runtime to the package, enabling to use the client module
  • unicode: Enable some unicode methods for JanetString and JanetBuffer
  • system: Use system header to get Janet functions
  • link-system: Link the Janet runtime to the package from the system, enabling to use the client module
  • nightly: Enable some parts of the crate that uses nightly features, to use this feature you must compile the crate using a nightly rust version

By default, the following features are enabled: std, unicode, amalgation.

Note: If you don't need the Janet runtime (eg. making a Janet Library), you can use disable the default features

janetrs = { version = "0.7.0", default-features = false, features = ["std", "unicode"] }

Environment variables

These 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>

Licensing

This software is licensed under the terms of the MIT Public License.

TODO: Types: Lacking or Incomplete

  • Marshaling

[ ]: 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

TODO: Lib level

  • Better docs.
  • Marshalling mechanism

Acknowledgments

  • Calvin Rose for creating this amazing language called Janet
  • andrewchambers for janet_ll crate and discuss with us some ideas for the abstractions of this crate

Thứ hạng hiện tại

  • 102

    Kho Báu Bị Lãng Quên

    100 sao · 8 fork · Tổng Star (tăng dần)

    Lãng quên →

Diễn biến 30 ngày

Tổng số sao

Diễn biến thứ hạng

Tăng sao hằng ngày

Hàng xóm xếp hạng trên cùng bảng · Lãng quên

Dự án tương tự · chủ đề chung

← Về bảng xếp hạng

GitHub Hot BoardCỗ Máy Thời GianKhám phá联系我们 · Contact