1 unstable release

new 0.1.0 Dec 18, 2024

#112 in #incremental

MIT license

710KB
27K SLoC

C 26K SLoC // 0.0% comments JavaScript 449 SLoC // 0.0% comments Scheme 107 SLoC // 0.1% comments Rust 30 SLoC // 0.1% comments

👾 Plum Programming Language

  • A statically typed, imperative programming language with ADT's (Algebraic Data Types) inspired by rust, gleam
  • The compiler is built upon the tree-sitter parser so has out of the box syntax highlighting support for helix and zed editor
  • Plans to be compiled to amd64,arm64, and riscv64 using QBE maintaining C-ABI compatibility

Requirements

node >= 23.1.0
npm >= 10.9.0
qbe >= 1.2
clang >= 16.0.0

lib.rs:

This crate provides plum language support for the tree-sitter parsing library.

Typically, you will use the [LANGUAGE][] constant to add this language to a tree-sitter Parser, and then use the parser to parse some code:

let code = r#"
"#;
let mut parser = tree_sitter::Parser::new();
let language = tree_sitter_plum::LANGUAGE;
parser
    .set_language(&language.into())
    .expect("Error loading plum parser");
let tree = parser.parse(code, None).unwrap();
assert!(!tree.root_node().has_error());

Dependencies

~4–305KB