Significant differences between F# and Clojure

15,939

Solution 1

Most of the differences will stem from the fact that F# is descended from ML while clojure is descended from lisp.

So F# has a more ML/OCaml/Haskell feel with emphasis on:

  • static typing
  • type inference
  • pattern matching

While clojure has more of a Lisp feel with emphasis on:

  • s-expressions
  • macros
  • closures

Also as Brian noted, F# is a .Net language while clojure is a JVM language so each will have access to a vast but different set of libraries.

Solution 2

Clojure is a lisp, actualy lisp-1 family language. F# is practicaly OCaml adopted to .net platform.

Solution 3

It looks like there's some effort being put into running Clojure on the CLR. Looks very promising.

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

Solution 4

One key difference is that F# is a .NET language, whereas Clojure runs on a JVM. Thus the deployments and supported platforms will be different.

Note that F# is supported by mono, however.

As for macros, I think you're out of luck.

Solution 5

They are both functional first programming languages, but their type systems are very different. F# is a strongly typed language and Clojure is a dynamically typed language and so

  1. Boumbles' answer to What is the Difference between Strong vs. Static Typing AND Weak vs. Dynamic Typing;
  2. haylem's answer to Dynamically vs Statically typed languages studies; or
  3. Joey Adams's question What is better for prototyping: a statically-typed language, or a dynamically-typed one?

may help answer "what are the most significant differences between the F# and Clojure?". Note however that the debate between "static typing" and "dynamic typing" is a long running one and so can appear religious.

Share:
15,939
Admin
Author by

Admin

Updated on June 07, 2022

Comments

  • Admin
    Admin almost 2 years

    What are the most significant differences between the F# and Clojure ?

    Which constructs has F# which Clojure does not have and vice versa?

    Does F# have macros?