Каковы наиболее существенные различия между F # и Clojure?
Какие конструкции имеют F #, которые Clojure не имеют и наоборот?
Есть ли у F # макросы?
Каковы наиболее существенные различия между F # и Clojure?
Какие конструкции имеют F #, которые Clojure не имеют и наоборот?
Есть ли у F # макросы?
Большая часть различий будет связана с тем, что F # происходит от ML, а clojure происходит от lisp.
Таким образом, F # имеет более ML/OCaml/Haskell с акцентом на:
В то время как clojure имеет больше Lisp с акцентом на:
Также, как отметил Брайан, F # является языком .Net, а clojure - это язык JVM, поэтому каждый из них будет иметь доступ к огромному, но другому набору библиотек.
Clojure является lisp, актуальным lisp -1 семейным языком. F # практичен OCaml, принятый для платформы .net.
Одно из ключевых отличий заключается в том, что F # является языком .NET, тогда как Clojure работает на JVM. Таким образом, развертывания и поддерживаемые платформы будут разными.
Обратите внимание, что F # поддерживается моно, однако.
Что касается макросов, я думаю, вам не повезло.
Похоже, что в CLR запущено Clojure несколько усилий. Выглядит очень многообещающе.
Они оба функциональные сначала языки программирования, но их системы типов очень разные. F # - строго типизированный язык, а Clojure - динамически типизированный язык и поэтому
может помочь ответить "каковы наиболее существенные различия между F # и Clojure?". Обратите внимание, однако, что дискуссия между "статической типизацией" и "динамической типизацией" является долговременной, и поэтому может показаться религиозной.
F # действительно соответствует Scala на JVM. Ближайшей вещью к Clojure на платформе .NET является IronScheme.
Если вы хотите использовать макросы, вы можете использовать его с Boo или Nemerle.