3 个稳定版本
使用旧的 Rust 2015
1.1.0 | 2017 年 7 月 18 日 |
---|---|
1.0.5 | 2017 年 6 月 1 日 |
1.0.4 | 2017 年 4 月 25 日 |
#7 in #kailua
在 4 个包中使用 (直接使用 2 个)
310KB
6K SLoC
Kailua 的类型系统。
Kailua 的类型系统在原则上是一种 Hindler-Milner 类型系统,对子类型、渐进式类型和行多态有重大扩展。"原则上"的限定是因为存在(不幸的是)几个已知的差异,但它们至少被认为是(低优先级)错误。自然地,不支持完整的类型推断(这在我们要将记录、数组和映射 不 自由转换时甚至更不希望)。
Kailua 类型系统的两个定义性方面是:nil
不进行检查 和 (不可扩展)记录可能仍然包含未知标签。这是为了让类型系统在没有破坏 Lua 兼容性的情况下可用的结果;它与 TypeScript 1.x 的类型系统相当。类型系统确实有不允许 nil
或访问未知标签的类型,但它们主要存在是为了避免错误,而不是为了使类型系统一致。
泛型计划中,但尚未实现;这可能是最缺失的类型系统功能。许多递归类型也没有得到适当的检查,这需要类型系统仍然没有实现的适当的出现检查(啊)。
依赖关系
~5MB
~99K SLoC