Content deleted Content added
AlecGargett (talk | contribs) No edit summary |
AlecGargett (talk | contribs) Years first appeared |
||
Line 18:
| [[Standard ML]] || {{No}}<ref name=cl.cam.ac.uk>{{cite web|title=Introduction to Functional Programming|url=http://www.cl.cam.ac.uk/~jrh13/slides/funprog-jrh/l8.pdf|access-date=26 November 2013}}</ref> || {{No}}<ref>{{cite web|title=Lazy and Eager Evaluation|url=http://homepages.inf.ed.ac.uk/dts/fps/lecture-notes/lazy.pdf|access-date=26 November 2013}}</ref><ref>{{cite web|last=Harper, MacQueen, Milner|title=Standard ML|url=http://www.lfcs.inf.ed.ac.uk/reports/86/ECS-LFCS-86-2/ECS-LFCS-86-2.pdf|work=Section 3.6}}</ref> || style="background:#8CF; text-align:center"|Static<ref>[[Wikibooks:Standard ML Programming/Types]]</ref> || {{Yes}} || {{Yes}}|| {{Yes}}<ref name="courses">{{cite web|title=Mutable and optional data|url=http://courses.cs.washington.edu/courses/cse341/04wi/lectures/08-ml-refs.html|access-date=28 November 2013}}</ref> || {{No}} || {{Yes}} || {{dunno}}
|-
| [[OCaml]] || {{No}}<ref name=ocaml-functional>{{cite web|title=Functional Programming – OCaml|url=http://ocaml.org/learn/tutorials/functional_programming.html|access-date=26 November 2013}}</ref> || {{Yes}}<ref name=ocaml-functional /> || style="background:#8CF; text-align:center"|Static<ref>{{cite web|last=Hickey|first=Jason|title=Introduction to Objective Caml|url=http://files.metaprl.org/doc/ocaml-book.pdf|work=Section 2.4|publisher=Cambridge University Press|access-date=26 November 2013|url-status=dead|archive-url=https://web.archive.org/web/20131002091023/http://files.metaprl.org/doc/ocaml-book.pdf|archive-date=2 October 2013}}</ref> || {{Yes}}<ref>{{cite web|title=Type and exception definitions|url=http://caml.inria.fr/pub/docs/manual-ocaml-4.00/manual016.html}}</ref> || {{Yes}}<ref>{{cite web|url=http://ocaml.org/learn/description.html#DataTypes| title=Learn OCaml - Data Types}}</ref> || {{Yes}}<ref>{{cite web|url=http://ocaml.org/learn/description.html#Imperativefeatures | title=Learn OCaml - Imperative Features}}</ref> || {{Partial}}, simulated with parametric modules<ref>{{cite web|title=Implementing Type-Classes as OCaml Modules|url=https://accu.org/index.php/journals/2445|access-date=11 May 2020}}</ref> || {{Yes}} ||
|-
| [[F Sharp (programming language)|F#]] || {{No}}<ref>{{cite web | url=http://fsharpforfunandprofit.com/learning-fsharp/| access-date=6 December 2013 | title=Learning F#}}</ref>|| {{Yes}}<ref name="msdn">{{cite web|title=Lazy Computations (F#)|url=http://msdn.microsoft.com/en-us/library/vstudio/dd233247.aspx|publisher=Microsoft Developer Network|access-date=26 November 2013}}</ref> || style="background:#8CF; text-align:center"|Static<ref>{{cite web|title=About F#|url=http://fsharp.org/about/index.html|access-date=26 November 2013}}</ref> || {{Yes}}<ref>{{cite web|title=Structures - F#|url=https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/structures|access-date=11 May 2020}}</ref> || {{Yes}}<ref>{{cite web|title=Discriminated Unions|url=https://msdn.microsoft.com/en-us/library/dd233226.aspx}}</ref> || {{Yes}}<ref name=f-sharp-lang-spec>{{cite web|title=The F# 3.0 Language Specification: 1.1.2 Making Data Simple|url=http://fsharp.org/about/files/spec.pdf|access-date=26 November 2013}}</ref> || {{No}} || {{Yes}} ||
|-
| [[Haskell]] || {{Yes}}<ref name=haskell.org>{{cite web|title=Haskell Wiki|url=http://www.haskell.org|access-date=26 November 2013}}</ref> || {{Yes2}}Default<ref name=haskell.org.wiki.lazyEval>{{cite web|title=Haskell Wiki Lazy Evaluation|url=http://www.haskell.org/haskellwiki/Lazy_evaluation|access-date=26 November 2013}}</ref> || style="background:#8CF; text-align:center"|Static<ref name="haskell.org.wiki.typing">{{cite web|title=Haskell Typing|url=http://www.haskell.org/haskellwiki/Typing|publisher=HaskellWiki|access-date=26 November 2013}}</ref> || {{Yes}}<ref name="haskell.org" /> || {{Yes}}<ref name=haskell.org.wiki.abstractDataType>{{cite web|title=Haskell Wiki Abstract Data Type|url=http://www.haskell.org/haskellwiki/Abstract_data_type|access-date=26 November 2013}}</ref> || {{Yes}}<ref>{{cite web|url=http://www.haskell.org/haskellwiki/Functional_programming#Immutable_data|title=Haskell Wiki|access-date=27 November 2013}}</ref> || {{Yes}}<ref>{{cite web|url=http://www.haskell.org/tutorial/classes.html|title=Type Classes and Overloading}}</ref> || {{Yes}} || 1990
|-
| [[Scala (programming language)|Scala]] || {{No}}<ref name=scala-lang.org.archives.files.ScalaOverview>{{cite web|title=Scala Overview|url=http://www.scala-lang.org/old/sites/default/files/linuxsoft_archives/docu/files/ScalaOverview.pdf|access-date=26 November 2013}}</ref> || {{Yes}}<ref name=scala-lang.org.files.ScalaExample>{{cite web|title=Scala by Example|url=http://www.scala-lang.org/docu/files/ScalaByExample.pdf|access-date=26 November 2013}}</ref> || style="background:#8CF; text-align:center"|Static<ref name="scala-lang.org.archives.files.ScalaOverview" /> || {{Yes}}<ref name="scala-lang.org/files/archive">{{cite web|title=Scala Reference|url=http://www.scala-lang.org/files/archive/nightly/pdfs/ScalaReference.pdf|access-date=26 November 2013}}</ref> || {{Yes}}<ref name="scala-lang.org/files/archive" /> || {{Yes}}<ref name=scala-lang.org.collections.overview>{{cite web|title=Mutable and Immutable Collections|url=http://docs.scala-lang.org/overviews/collections/overview.html|access-date=26 November 2013}}</ref> || {{Yes}}<ref>{{cite web|title=The Neophyte's Guide to Scala Part 12: Type Classes|url=http://danielwestheide.com/blog/2013/02/06/the-neophytes-guide-to-scala-part-12-type-classes.html|access-date=29 November 2013}}</ref> || {{Yes}} ||
|-
| [[JavaScript]] || {{No}}<ref>[[List of multi-paradigm programming languages#Language overview]]</ref>{{unreliable source?|date=March 2015}} || {{Partial}}, with extension<ref>{{cite web|last=Tao|first=Dan|title=Lazy.js|url=http://danieltao.com/lazy.js/|work=Dan Tao|access-date=26 November 2013}}</ref> || style="background:#FC6; text-align:center"|Dynamic<ref>{{cite web|title=JavaScript Overview|url=https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/JavaScript_Overview|work=Mozilla Developer Network|publisher=Mozilla Developer Network|access-date=26 November 2013}}</ref> || {{Partial}}, with extension<ref>{{cite web|last=Frank|first=Thomas|title=Add some klass to JavaScript|url=http://www.thomasfrank.se/klass.html|work=thomasfrank.com|access-date=26 November 2013|archive-url=https://web.archive.org/web/20131208100043/http://thomasfrank.se/klass.html|archive-date=8 December 2013|url-status=dead}}</ref> || {{Partial}}, with extension<ref>{{cite web|last=Faubion|first=Nathan|title=ADT|url=https://npmjs.org/package/adt|work=NPM|publisher=Joyent, nodejitsu|access-date=26 November 2013}}</ref> || {{partial}}<ref>[[Immutable object#JavaScript]]</ref><ref>{{cite web|title=Javascript Data structures|url=https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures|work=Mozilla Developer Network|publisher=Mozilla Developer Network|access-date=26 November 2013}}</ref> || {{Dunno|Not applicable}} || {{Yes}} || 1995
Line 34:
| [[SASL (programming language)|SASL]] || {{Yes}}<ref>Turner, D.A. "An Implementation of SASL". University of St. Andrews, Department of Computer Science Technical Report. TR/75/4.</ref> || {{Yes}} || style="background:#FC6; text-align:center"|Dynamic<ref name="From Semantics to Computer Science">{{cite book | url=https://books.google.com/books?id=W2baKp7710sC&q=sasl+dynamic+typing&pg=PA128 | title=Kahn networks at the dawn of functional programming| isbn=9780521518253| last1=Kahn| first1=Gilles| last2=Bertot| first2=Yves| last3=Huet| first3=Gérard| last4=Lévy| first4=Jean-Jacques| last5=Plotkin| first5=Gordon| date=2009-09-24}}</ref> || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || 1972
|-
| [[Elixir (programming language)|Elixir]] || {{No}} || {{Partial}}, with the Stream module<ref name="https://hexdocs.pm/elixir/Stream.html">{{cite web | url=https://hexdocs.pm/elixir/Stream.html | title=Stream - Elixir v.1.6.0}}</ref> || style="background:#FC6; text-align:center"|Dynamic || {{Yes}} || {{No}} || {{Yes}} || {{Dunno|Not applicable}} || {{Yes}} ||
|-
| [[Erlang (programming language)|Erlang]] || {{No}} || {{No}}<ref name=erlang.org>{{cite web | url=http://www.erlang.org/doc/reference_manual/expressions.html#id76539| access-date=27 November 2013 | title=Erlang Reference Manual}}</ref> || style="background:#FC6; text-align:center"|Dynamic || {{Yes}}<ref>{{cite web | url=http://www.erlang.org/eeps/eep-0029.html | title=Erlang Programming Language - Abstract Patterns}}</ref> || {{No}} || {{Yes}}<ref name=stackoverflow.com>{{cite web | url=https://stackoverflow.com/questions/2715517/how-do-i-modify-a-record-in-erlang | access-date=15 December 2013 | title=Stack Overflow - How do I modify a record in erlang?}}</ref> || {{Dunno|Not applicable}} || {{Yes}} ||
|-
| [[Elm (programming language)|Elm]] || {{Yes}} || {{No}} || style="background:#8CF; text-align:center"|Static<ref name=elm-lang.org.blog.interactiveProgramming>{{cite web | url=http://elm-lang.org/blog/Interactive-Programming.elm | access-date=29 November 2013 | title=Elm Blog - Interactive Programming | archive-url=https://web.archive.org/web/20131006235603/http://elm-lang.org/blog/Interactive-Programming.elm | archive-date=6 October 2013 | url-status=dead }}</ref> || {{dunno}} || {{Yes}}<ref name=elm-lang.org.learn.syntax>{{cite web | url=http://elm-lang.org/learn/Syntax.elm#algebraic-data-types | access-date=29 November 2013 | title=Elm Syntax - Algebraic Data Types | archive-url=https://web.archive.org/web/20160313052210/http://elm-lang.org/learn/syntax.elm#algebraic-data-types | archive-date=13 March 2016 | url-status=dead }}</ref> || {{Yes}}<ref name=elm-lang.org.blog.interactiveProgramming /> || {{No}} || {{Yes}} || 2012
|