5

Microsoft の新しい F# プログラミング言語は、関数型プログラミング (ファーストクラスのレキシカル クロージャーとテール コール) と、マルチコアの活用を容易にする効率的な同時実行ガベージ コレクターの強力な組み合わせを提供します。

OCaml、Haskell、Erlang、および私が知っているすべての無料の Lisp と Scheme の実装には、同時 GC がありません。Scala と Clojure には並行 GC がありますが、テール コールはありません。

したがって、これらの機能を組み合わせたオープンソースのプログラミング言語はないようです。あれは正しいですか?

4

5 に答える 5

4

Scalaには、末尾再帰の最適化がいくつかあります。しかし、完全なもののためにSISCスキームを入手してください。

于 2008-11-11T18:36:38.750 に答える
4

GHC の最新バージョンは、並列 GC をサポートしています。リリース ノートを参照してください。

于 2008-11-10T13:26:29.813 に答える
0

Javaはテールコールを追加していると思われます。その場合、clojure はそれらを取得します。当面は、ループ/再帰メカニズムを使用して手動で取得できます。

于 2008-11-10T13:35:35.787 に答える
0

あなたの質問に対する答えではありませんが、私の知る限り、F# は標準の .NET ガベージ コレクターを使用しますが、これは同時実行ではありません。GC 中はすべてのスレッドが停止します。

編集:私の間違い、マルチプロセッサモードで同時GCがあります。

于 2008-11-10T13:09:50.953 に答える