大学で ML を学ぶのがとても好きでした。関数型プログラミングは、特定のアルゴリズムを作成するための爽快でエレガントな方法であることがよくあります。F# について聞いたことがあり、少し遊んでみました。それでも、私は ML でいくつかの興味深い関数を作成しており、他のアプリケーションで使用できるライブラリとしてそれらを統合したいと考えています。
通常、関数を SMLnj インタープリターに貼り付けます。それらをコンパイルする方法はありますか?
大学で ML を学ぶのがとても好きでした。関数型プログラミングは、特定のアルゴリズムを作成するための爽快でエレガントな方法であることがよくあります。F# について聞いたことがあり、少し遊んでみました。それでも、私は ML でいくつかの興味深い関数を作成しており、他のアプリケーションで使用できるライブラリとしてそれらを統合したいと考えています。
通常、関数を SMLnj インタープリターに貼り付けます。それらをコンパイルする方法はありますか?
MLj Compiler のようなものを使用する必要があります。Java Byte コードにコンパイルされます。または、SML.NETコンパイラを使用して .NET IL にコンパイルすることもできます。
プロジェクトは言語を普及させます。ML を使用した興味深い、紛れもなく「クールな」プロジェクトの基礎工事を行うと、人々はその言語に群がります。たとえば、ejabberd と mochiweb を使用した Erlang を見てください。どちらも erlang のような 1 回限りのダイアモンド イン ザ ラフ言語 (ちなみに、最近私が選んだ開発言語です) に驚異的な成果をもたらしたクールなプロジェクトです。私は、誰かが ML で何か素晴らしいものを作るのを見たいと思っています。言語は考えるのが楽しいものです。
いくつかの標準 ML コンパイラがあります。MLton wiki にもベンチマークが含まれています。
Standard ML をバイトコードにコンパイルする Moscow ML を使用しました。高速ではありませんが、機能します。MLton は、効率に関して最も優れた標準 ML コンパイラであるとよく言われます。
Poly / MLバージョン5以降は、従来の「ヒープダンプ」モデルとCスタイルのスタンドアロン実行可能ファイルの両方をサポートしていることに注意してください。Poly / ML Webサイトのドキュメントは、さまざまな場所に散らばっています。その中には、タイトルに非常に古い日付が含まれているものもありますが、システムは機能しています。
オブジェクトコードの生成については、バージョン5.0リリース(現在は5.5)のリリースノートPolyML.export
を渡すことで説明されています。こちらをご覧ください。
最近いくつかのGUIプロジェクトで使用されるように改装されたPoly/MLCインターフェースもあります。polymlメーリングリストで質問する必要があります。