Comparison of functional programming languages
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Default Evaluation | Effects | Typing | Pure | |
---|---|---|---|---|
Haskell | lazy | IO type + monads | static | yes |
PureScript | eager | Effect type + monads | static | yes |
Elm | eager | Cmd/Sub events | static | yes |
Clean | lazy | uniqueness | static | yes |
Miranda | lazy | lazy lists | static | yes |
F# | eager | raw side-effects | static | no |
ML | eager | raw side-effects | static | no |
Scheme | eager | raw side-effects | dynamic | no |
Typed Racket | eager | raw side-effects | gradual | no |
Clojure | eager | raw side-effects | dynamic + type hints | no |
Erlang | eager | raw side-effects | dynamic + type hints | no |