Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Significant differences between F# and Clojure

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?

like image 891
nikolai Avatar asked May 27 '09 11:05

nikolai


People also ask

How do you know if significance F is significant?

You perform the F test by looking for the appropriate p-value in the computer analysis and interpreting the resulting significance level, as we did in Chapter 10. If the p-value is more than 0.05, then the result is not significant. If the p-value is less than 0.05, then the result is significant.

What does significance F mean in Anova?

The F-value in an ANOVA is calculated as: variation between sample means / variation within the samples. The higher the F-value in an ANOVA, the higher the variation between sample means relative to the variation within the samples. The higher the F-value, the lower the corresponding p-value.

What is a significant F ratio?

The F ratio is the ratio of two mean square values. If the null hypothesis is true, you expect F to have a value close to 1.0 most of the time. A large F ratio means that the variation among group means is more than you'd expect to see by chance.


4 Answers

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.

like image 64
Aaron Maenpaa Avatar answered Sep 18 '22 16:09

Aaron Maenpaa


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

like image 25
Marko Avatar answered Sep 18 '22 16:09

Marko


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.

like image 36
Brian Agnew Avatar answered Sep 19 '22 16:09

Brian Agnew


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

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

like image 27
Alex Beynenson Avatar answered Sep 21 '22 16:09

Alex Beynenson