luna 编程语言 - 一个小巧、精妙的在 C 中实现的虚拟机
Luna 是一门富有表现力、简洁、优雅的编程语言,实现于 C 语言中。其核心是协作式线程并发、异步 I/O,并受到 Lua、io、Rust、Ruby 和 C 等语言的影响。Luna 更倾向于统一和简洁,而不是一些微小的隐晦的便利,提供简单有效语言的真正便利。这包括省略那些有助于实现魔法的功能,例如 getter/setter、method_missing 样式的委托等。这个项目非常在进展中,因为我正在探索虚拟机的美妙世界!欢迎加入。
速度快! - 规模小(约 2000 行代码) - 简单、优雅、明确 - 学习曲线小 - 具有推断的静态类型 - 通过协程实现高并发 - 可嵌入的/可修改的核心 - ...
✔ 词法分析器
✔ 解析器
✔ 测试套件
✔ AST
✔ 为 REPL 提供 Linenoise 集成
◦ 机器注册
◦ C 公开/内部 API
◦ 垃圾收集
◦ 连续性
◦ 优化(TCO 等)
◦ 可移植性
◦ 闭包
◦ VIM、TM 和语法
◦ 网站
◦ 上下文线程 注意: Luna 尚未运行任何代码,它仅解析代码并构建 AST。对于语言的某些方面仍需做出一些决定。如果您想加入并与社区一起完成 Luna 的设计,请查看 问题跟踪器 并分享您的想法。
Luna 采用静态类型,但由于类型推断,大部分都是可选的。某些声明(例如函数参数)必须指定类型:
暂无开放 Issues,或尚未同步最近议题。