Comparison of functional programming languages: Difference between revisions

Content deleted Content added
D options
mNo edit summary
Line 11:
| [[Scheme (programming language)|Scheme]] || {{No}}<ref name=caml.inria.fr>{{cite web|title=Similar Functional Languages|url=http://caml.inria.fr/pub/docs/oreilly-book/html/book-ora202.html|access-date=26 November 2013}}</ref> || {{Yes}}<ref>{{cite web|title=(Scheme) 17. Lazy Evaluation|url=http://www.shido.info/lisp/scheme_lazy_e.html|access-date=30 April 2020}}</ref> || style="background:#FC6; text-align:center"|Dynamic<ref name="caml.inria.fr" /> || {{Yes}}<ref>{{cite web|title=Records - Revised<sup>6</sup> Report on the Algorithmic Language Scheme|url=http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib.html|access-date=11 May 2020}}</ref> || {{Partial|Simulated with thunks}}<ref>{{cite web|title=Algebraic Data Types in Scheme|url=https://pavpanchekha.com/blog/adtscm.html|access-date=11 May 2020}}</ref> || {{No}}<ref>{{cite web|title=Programs with State|url=http://www.cs.uni.edu/~wallingf/teaching/cs3540/sessions/session26.html|access-date=29 November 2013}}</ref>|| {{No}} || {{Yes}} || 1975
|-
| [[Racket (programming language)|Racket]] || {{No}} || {{YesYes2}}, defaultDefault in Lazy Racket<ref name="lazy racket">{{cite web|url=https://docs.racket-lang.org/lazy/index.html|title=Lazy Racket|access-date=8 February 2020|first=Eli|last=Barzilay}}</ref> || style="background:#99F; text-align:center"|Dynamic by default, [[gradual typing|gradual]] with Typed Racket<ref name="typed racket">{{cite web|url=https://docs.racket-lang.org/ts-reference/index.html|title=Typed Racket|access-date=8 February 2020|first1=Sam|last1=Tobin-Hochstadt|first2=Vincent|last2=St-Amour|first3=Eric|last3=Dobson|first4=Asumu|last4=Takikawa}}</ref> || {{Yes}}<ref name="racket struct">{{cite web|url=https://docs.racket-lang.org/guide/define-struct.html|title=The Racket Guide: Programmer-Defined Datatypes|access-date=8 February 2020}}</ref> || {{Yes2}}Yes, with Algebraic Racket<ref name="algebraic racket">{{Cite web|url=https://docs.racket-lang.org/algebraic/index.html|title=Algebraic Racket|access-date=8 February 2020|first=Eric|last=Griffis}}</ref> || {{Partial}}<ref name="racket immutability">{{Cite web|url=https://beautifulracket.com/explainer/data-structures.html|title=Beautiful Racket: Data Structures|access-date=8 February 2020|first=Matthew|last=Buttrick}}</ref> || {{No}} || {{Yes}} || 1995
|-
| [[Clojure]] || {{No}}<ref>{{cite web|title=Clojure Functional Programing|url=http://clojure.org/functional_programming}}</ref> || {{Yes}}<ref>{{cite web|title=Clojure - lazy|url=http://clojure.org/lazy|access-date=27 November 2013}}</ref> || style="background:#FC6; text-align:center"|Dynamic<ref>{{cite web|title=Exploring clojure: dynamic typing|date=7 December 2012 |url=http://tgoossens.wordpress.com/2012/12/07/dynamically-exploring-clojure/|access-date=26 November 2013}}</ref> || {{Yes}}<ref>{{cite web|last=Engelberg|first=Mark|title=Thoughts On Programming|date=21 April 2009 |url=http://programming-puzzler.blogspot.com/2009/04/adts-in-clojure.html|access-date=26 November 2013}}</ref> || {{Yes}}<ref name="clojure-contrib">{{cite web|title=clojure-contrib, typing example|url=https://code.google.com/p/clojure-contrib/source/browse/trunk/src/clojure/contrib/types/examples.clj?spec=svn596&r=596|access-date=26 November 2013}}</ref> || {{Yes}}<ref name=clojure.org>{{cite web|title=clojure: functional programming overview|url=http://clojure.org/functional_programming|access-date=26 November 2013}}</ref> || {{No}} || {{Yes}} || 2007
Line 104:
|[[Rust (programming language)|Rust]]
|{{No}}
|{{Partial|Lazy iterators}}<ref>{{cite web | url=https://doc.rust-lang.org/book/ch13-02-iterators.html | title=The Rust Programming Language, Processing a Series of Items with Iterators }}</ref> and external libraries <ref>{{cite web | url=https://crates.io/crates/lazy | title=Rust crate 'lazy'}}</ref>
|style="background:#8CF; text-align:center"|Static<ref>{{cite web |url=https://doc.rust-lang.org/book/ch03-02-data-types.html | title=The Rust Programming Language, Data Types}}</ref>
|{{Yes}}<ref name="rust-traits">{{cite web | url=https://doc.rust-lang.org/book/ch10-02-traits.html | title=The Rust Programming Language, Traits}}</ref>