6个版本 (3个重大更改)

0.4.0 2023年7月2日
0.3.1 2023年3月14日
0.2.0 2023年3月5日
0.0.1 2023年2月24日

#540 in 编程语言

每月下载量35

MIT/Apache

455KB
16K SLoC

A snake inside of a gear shape

赫比

此仓库托管一个动态类型语言、其编译器和虚拟机。

🚧此分支包含语言的重写。目前处于高度开发中!🚧

使用方法

安装库(目前仅通过git提供)

$ cargo add --git https://github.com/jprochazk/hebi.git --branch v2

导入它,并运行一些代码

use hebi::Hebi;

fn main() {
  let mut hebi = Hebi::new();

  println!("1 + 1 = {}", hebi.eval("1 + 1").unwrap());
}

赫比可以做的远不止这些!以下是它的部分特性

  • 语法类似于Python,包括重要的缩进
  • 一等函数
  • 具有单继承的类
  • 简单的Rust函数和结构绑定
  • 异步支持

访问示例目录以查看赫比的实际应用。

您可以使用以下命令运行示例:cargo run --example <name>

$ cargo run --example basic

开发

第一步是通过rustup安装Rust和Cargo。

xtask

此仓库使用cargo-xtask进行各种实用工具、脚本和任务。这意味着您不需要Rust和Cargo之外的东西。无需makefiles、Python或Bash。

要查看所有可用的任务,请运行

$ cargo xtask

要运行其中一个,请使用

$ cargo xtask <task>

或者更短的

$ cargo x <task>

例如

# Run all tests and examples
$ cargo xtask test

一些任务使用您必须安装的工具,尽管这些工具数量很少,并且理想情况下始终通过rustupcargo安装。

  • Miri (rustup +nightly component add miri)
  • Insta (cargo install --locked cargo-insta)
  • mdBook (cargo install --locked mdbook)

为什么选择 Hebi?

我认为这是合适的,因为该语言属于 Python 家族,而 Hebi(蛇)在日语中意为蛇。

许可证

根据以下任一许可证授权:

任您选择。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义的您有意提交的任何贡献,均应双许可如上所述,无需任何附加条款或条件。

依赖项

~5MB
~75K SLoC