解释型语言侧重于表达性和类型安全性。
Lily 是一门专注于表达力和类型安全的编程语言。
enum Color { Black, Blue, Cyan, Green, Magenta, Red, White, Yellow }
class Terminal(public var @foreground: Color, width_str: String)
{
public var @width = width_str.parse_i().unwrap_or(80)
public define set_fg(new_color: Color) {
@foreground = new_color
}
}
var terms = [Terminal(Color.White, "A"), Terminal(.Red, "40")]
terms.each(|e| e.width += 20 )
|> printLily 可能是一种静态类型语言,但其参考实现是一个动态类型语言。 解释器以及其 API 都经过精心设计。 考虑到沙箱化。因此,可以同时运行多个 不同的翻译器并存。
将参考实现作为解释器的另一个优点是 周转时间更短。翻译器的解析器的速度与 这些语言以解释器作为其参考。
您需要一个 C 编译器 (C11+) 和 CMake (3.10+)。没有外部依赖。要构建 Lily,请在终端中执行以下命令:
make 命令还会构建 covlib 和 pre-commit-tests。不需要其他命令。covlib 是一个库,用于测试 Lily 中的一些部分,而原生代码无法测试。pre-commit-tests 是一个特殊的运行程序,用于执行 test_main.lily。要运行 Lily 的测试,请在构建 Lily 后,从所在目录中执行 pre-commit-tests。
暂无开放 Issues,或尚未同步最近议题。