1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018 年 7 月 31 日

#14 in #intermediate

Apache-2.0/MIT

550KB
14K SLoC

evaltrees

Build Status Dependency Status

一个简单的函数式语言,以及其小步解释器。另外,可以显示“主表达式”的评估过程。作为明尼苏达大学 CSCI2041 课程的教学辅助工具。

解释器可以在按名调用、按需调用或按值调用模式下运行。表达式评估可以显示为具体语法或抽象语法。

请参阅 doc/syntax.md 了解语言的语法描述。

缺失的功能

(这些可能是不会实现的功能(尽管欢迎 PRs))

  • 相互递归
    • 目前,这会破坏类型检查
  • 多态递归
    • 这使得类型推断不可决
  • 高阶多态
    • 类型实现过程假设了 1 级多态
    • 这使得类型推断不可决

许可证

根据您的要求,许可权受以下其中之一保护:

任选其一。

贡献

除非您明确说明,否则根据 Apache-2.0 许可证定义的,您提交的任何有意提交以包含在作品中的贡献,都应按上述方式双重许可,而无需任何额外的条款或条件。

依赖关系

~4.5–6.5MB
~132K SLoC