32

F# と Clojure の最も重要な違いは何ですか?

Clojure にはない F# を持つコンストラクトと、その逆のコンストラクトはどれですか?

F# にはマクロがありますか?

4

7 に答える 7

60

違いのほとんどは、F# がMLから派生しているのに対し、clojure はlispから派生しているという事実に起因します。

したがって、F# は次のことに重点を置いて、より ML/OCaml/Haskell の感覚を持っています。

  • 静的型付け
  • 型推論
  • パターンマッチング

一方、clojure は次のことに重点を置いて、より Lisp の感覚を持っています。

  • s式
  • マクロ
  • 閉鎖

また、Brian が指摘したように、F# は .Net 言語であり、clojure は JVM 言語であるため、それぞれが膨大で異なるライブラリ セットにアクセスできます。

于 2009-05-27T11:24:38.813 に答える
11

Clojure は Lisp、実際には Lisp-1 ファミリー言語です。F# は実質的に .net プラットフォームに採用された OCaml です。

于 2009-06-03T12:00:38.550 に答える
6

主な違いの 1 つは、F# が .NET 言語であるのに対し、Clojure は JVM 上で実行されることです。したがって、展開とサポートされるプラットフォームは異なります。

ただし、F# は mono でサポートされていることに注意してください。

マクロに関しては、あなたは運が悪いと思います。

于 2009-05-27T11:12:34.970 に答える
6

CLR で Clojure を実行するために、いくつかの努力が払われているようです。非常に有望に見えます。

http://github.com/richhickey/clojure-clr

于 2009-12-22T18:02:07.410 に答える
2

マクロが必要な場合は、BooまたはNemerleで使用できます。

于 2009-05-27T20:09:00.160 に答える
2

F#は実際にはJVM上のScalaに対応しています。.NETプラットフォーム上のClojureに最も近いものはIronSchemeです。

于 2009-05-27T18:58:55.433 に答える