Poly/ML – 一种标准 ML 实现
Poly/ML – A Standard ML Implementation

原始链接: https://github.com/polyml/polyml

Poly/ML 是 Standard ML (SML) 的一种稳健且高性能的实现,完全兼容 ML97 标准。它以对语言扩展采取保守态度而闻名,并因其极快的编译器而成为 Isabelle 和 HOL 等大型项目的首选。 其主要功能包括:用于链接外部库的强大外部函数接口、符号调试器,以及一个利用多核处理器和并行垃圾回收器的专用线程库。Poly/ML 原生支持 x86(32/64 位)和 64 位 ARM 架构,并为其他平台提供字节码支持。 该实现由专人积极维护且文档齐全,提供完善的基础库(Basis library)以及用于用户支持的活跃邮件列表。对于追求 Standard ML 编程效率与稳定性的开发者而言,这是一个可靠且可用于生产环境的平台。

```Hacker News最新 | 过往 | 评论 | 提问 | 展示 | 招聘 | 投稿登录Poly/ML – 一种标准 ML 实现 (github.com/polyml)7 点,由 Lyngbakr 发布于 1 小时前 | 隐藏 | 过往 | 收藏 | 1 条评论 帮助 tingletech 33 分钟前 [–] “标准 ML 是一种函数式编程语言,其含义在于它具备数学函数的全部能力。” ——摘自仓库链接的一个 PDF 文件(我以前不知道什么是标准 ML,我本以为它是一种标记语言)回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索: ```
相关文章

原文

Poly/ML logo

Poly/ML is a Standard ML implementation originally written in an experimental language called Poly. It has been fully compatible with the ML97 standard since version 4.0. For a full history, see here.

Poly/ML takes a conservative approach to the Standard ML language and avoids incompatible extensions. It has added various library extensions particularly the thread library. Poly/ML's active development and unique features make it an exceptional implementation.

  • Fast compiler
  • Preferred implementation for large projects such as Isabelle and HOL.
  • Foreign function interface - allows static and dynamic libraries to be loaded in Poly/ML and exposes their functions as Poly/ML functions. See here for an example of static linking.
  • Symbolic debugger
  • Windows programming interface
  • Thread library - provides a simplified version of Posix threads modified for Standard ML and allows Poly/ML programs to make use of multiple cores. The garbage collector is also parallelised.

The documentation for the Poly/ML Basis library can be found here and includes information on global values and types as well as structures, signatures and functors. More in-depth documentation can be found at the SML Family website here.

Poly/ML has native support for i386 (32- and 64-bit) and ARM (64-bit only). It will also work on other architectures using a byte-code interpreter. For more information, see the download page.

There is a mailing list for Poly/ML for questions and support.

联系我们 contact @ memedata.com