プログラミング
Poly/ML – Standard ML の実装
Poly/ML – A Standard ML Implementation (github.com)
要約
Poly/ML は、かつて実験的な言語であった Poly で書かれた Standard ML の実装です。バージョン4.0以降、ML97標準に完全互換しています。この実装は、特に Isabelle や HOL のような大規模プロジェクトで好まれ、スレッドライブラリや並列化されたガベージコレクタなどのユニークな機能を提供します。ネイティブでi386およびARMアーキテクチャをサポートし、バイトコードインタプリタを介して他のアーキテクチャでも動作します。
全文翻訳
Poly/ML
Poly/ML は、かつて Poly という実験的な言語で書かれた Standard ML の実装です。バージョン4.0以降、ML97標準に完全互換しています。完全な履歴については、こちらをご覧ください。Poly/ML は Standard ML 言語に対して保守的なアプローチを取り、非互換な拡張を避けています。特にスレッドライブラリなどの様々なライブラリ拡張が追加されています。Poly/ML の活発な開発とユニークな機能により、優れた実装となっています。
目次
機能
基盤
インストール
メーリングリスト
機能
高速コンパイラ
Isabelle や HOL のような大規模プロジェクトで好まれる実装。
外部関数インターフェース - 静的および動的ライブラリを Poly/ML にロードし、それらの関数を Poly/ML 関数として公開できます。静的リンクの例については、こちらをご覧ください。
シンボリックデバッガ
Windows プログラミングインターフェース
スレッドライブラリ - POSIX スレッドの簡略化されたバージョンを提供し、Standard ML 用に修正されており、Poly/ML プログラムが複数のコアを利用できるようにします。ガベージコレクタも並列化されています。
基盤
Poly/ML 基盤ライブラリのドキュメントは、こちらで見つけることができ、グローバルな値と型、構造体、シグネチャ、ファクタに関する情報が含まれています。より詳細なドキュメントは、SML Family のウェブサイトでこちらで見つけることができます。
インストール
Poly/ML は、i386 (32ビットおよび64ビット) および ARM (64ビットのみ) のネイティブサポートを備えています。バイトコードインタプリタを使用して、他のアーキテクチャでも動作します。詳細については、ダウンロードページをご覧ください。
メーリングリスト
Poly/ML に関する質問やサポートのためのメーリングリストがあります。