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 | Yes[21] | Dynamic[22] | todo | todo | Partially[23] | Yes[24] | Yes[25] | Yes[26] | Yes[27] |
Clean | Yes[28] | todo | todo | todo | todo | todo | todo | todo | todo | todo |
Miranda | Yes[29] | todo | todo | todo | todo | todo | todo | todo | todo | todo |
SASL | Yes[30] | todo | todo | todo | todo | todo | todo | todo | todo | todo |
References
- ^ Antoniotti, Marco. "CLAZY: Lazy Calling in Common Lisp". Retrieved 26 November 2013.
- ^ "Exploring clojure: dynamic typing". Retrieved 26 November 2013.
- ^ "clojure: functional programming overview". Retrieved 26 November 2013.
- ^ "monads in clojure". Retrieved 26 November 2013.
- ^ "Lazy and Eager Evaluation" (PDF). Retrieved 26 November 2013.
- ^ Harper, MacQueen, Milner. "Standard ML" (PDF). Section 3.6.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Hickey, Jason. "Introduction to Objective Caml" (PDF). Section 2.4. Cambridge University Press. Retrieved 26 November 2013.
- ^ http://ocaml.org/learn/tutorials/modules.html.
{{cite web}}
: Missing or empty|title=
(help) - ^ "Lazy Computations (F#)". Microsoft Developer Network. Retrieved 26 November 2013.
- ^ "About F#". Retrieved 26 November 2013.
- ^ "The F# 3.0 Language Specification: 1.1.2 Making Data Simple" (PDF). Retrieved 26 November 2013.
- ^ "F# Programming: Computational Expressions". The F# Software Foundation. Retrieved 26 November 2013.
- ^ "The F# 3 .0 Language Specification" (PDF). Section 6.3.10.
- ^ 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).
- ^ http://www.haskell.org/tutorial/classes.html.
{{cite web}}
: Missing or empty|title=
(help) - ^ a b "Scala Overview" (PDF). Retrieved 26 November 2013.
- ^ "Scala by Example" (PDF). Retrieved 26 November 2013.
- ^ a b "Scala Reference" (PDF). Retrieved 26 November 2013.
- ^ "Mutable and Immutable Collections". Retrieved 26 November 2013.
- ^ http://blog.tmorris.net/posts/understanding-monads-using-scala-part-1/.
{{cite web}}
: Missing or empty|title=
(help) - ^ Tao, Dan. "Lazy.js". Dan Tao. Retrieved 26 November 2013.
- ^ "JavaScript Overview". Mozilla Developer Network. Mozilla Developer Network. Retrieved 26 November 2013.
- ^ "Immutable Object". Wikipedia. Wikipedia. Retrieved 26 November 2013.
- ^ "How do I get the name of an object's type in JavaScript". Stack Overflow. Stack Overflow. Retrieved 26 November 2013.
- ^ "Function Object". Wikipedia. Wikipedia. Retrieved 26 November 2013.
- ^ Brett-Bowen, Rhys. "Monads in Plain JavaScript". Modern JavaScript. Blogger. Retrieved 26 November 2013.
- ^ "Javascript Closures". Retrieved 26 November 2013.
- ^ "FAQ - Clean".
- ^ "Miranda Official Website".
{{cite web}}
: Check|url=
value (help) - ^ Turner, D.A. "An Implementation of SASL". University of St. Andrews, Department of Computer Science Technical Report. TR/75/4.