Comparison of functional programming languages

This is an old revision of this page, as edited by Muqeetali (talk | contribs) at 17:03, 26 November 2013 (Overview of Functional Programming Languages). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

This sandbox is in the article namespace. Either move this page into your userspace, or remove the {{User sandbox}} template.

Overview of Functional Programming Languages

Pure Lazy Evaluation Typing Abstract Data Types Algebraic Data Types Data is Immutable Type Classes Functors Monads Closures
Lisp todo Yes[1] todo todo todo todo todo todo todo todo
Scheme todo todo todo todo todo todo todo todo todo todo
Clojure todo todo Dynamic [2] todo todo Yes [3] todo todo Yes [4] todo
ML todo No[5][6] todo todo todo todo todo todo todo todo
OCaml todo todo Static[7] todo todo todo todo Yes[8] todo todo
F# todo Yes[9] Static[10] todo todo Default[11] todo todo Yes[12][13] todo
Haskell Yes[14] Yes[14] Static[14] todo todo todo Yes [15] Yes[14] Yes[14] Yes[14]
Scala Yes[16] Yes[17] Static[16] todo Yes[18] Default[19] todo todo Yes[20] Yes[18]
Javascript todo todo todo todo todo todo todo todo todo Yes[21]
Clean Yes[22] todo todo todo todo todo todo todo todo todo
Miranda Yes[23] todo todo todo todo todo todo todo todo todo
SASL Yes[24] todo todo todo todo todo todo todo todo todo

References

  1. ^ Antoniotti, Marco. "CLAZY: Lazy Calling in Common Lisp". Retrieved 26 November 2013.
  2. ^ "Exploring clojure: dynamic typing". Retrieved 26 November 2013.
  3. ^ "clojure: functional programming overview". Retrieved 26 November 2013.
  4. ^ "monads in clojure". Retrieved 26 November 2013.
  5. ^ "Lazy and Eager Evaluation" (PDF). Retrieved 26 November 2013.
  6. ^ Harper, MacQueen, Milner. "Standard ML" (PDF). Section 3.6.{{cite web}}: CS1 maint: multiple names: authors list (link)
  7. ^ Hickey, Jason. "Introduction to Objective Caml" (PDF). Section 2.4. Cambridge University Press. Retrieved 26 November 2013.
  8. ^ http://ocaml.org/learn/tutorials/modules.html. {{cite web}}: Missing or empty |title= (help)
  9. ^ "Lazy Computations (F#)". Microsoft Developer Network. Retrieved 26 November 2013.
  10. ^ "About F#". Retrieved 26 November 2013.
  11. ^ "The F# 3.0 Language Specification: 1.1.2 Making Data Simple" (PDF). Retrieved 26 November 2013.
  12. ^ "F# Programming: Computational Expressions". The F# Software Foundation. Retrieved 26 November 2013.
  13. ^ "The F# 3 .0 Language Specification" (PDF). Section 6.3.10.
  14. ^ a b c d e f "Haskell Wiki". Retrieved 26 November 2013. Cite error: The named reference "haskell.org" was defined multiple times with different content (see the help page).
  15. ^ http://www.haskell.org/tutorial/classes.html. {{cite web}}: Missing or empty |title= (help)
  16. ^ a b "Scala Overview" (PDF). Retrieved 26 November 2013.
  17. ^ "Scala by Example" (PDF). Retrieved 26 November 2013.
  18. ^ a b "Scala Reference" (PDF). Retrieved 26 November 2013.
  19. ^ "Mutable and Immutable Collections". Retrieved 26 November 2013.
  20. ^ http://blog.tmorris.net/posts/understanding-monads-using-scala-part-1/. {{cite web}}: Missing or empty |title= (help)
  21. ^ "Javascript Closures". Retrieved 26 November 2013.
  22. ^ "FAQ - Clean".
  23. ^ "Miranda Official Website". {{cite web}}: Check |url= value (help)
  24. ^ Turner, D.A. "An Implementation of SASL". University of St. Andrews, Department of Computer Science Technical Report. TR/75/4.