Difference between revisions of "Comparison of functional programming languages"

From HaskellWiki
Jump to navigation Jump to search
(change strict to eager. Eager is a more standard term and constrasts better with lazy)
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  +
[[Category:Glossary]]
==Haskell compared to other Functional Programming Languages==
 
   
  +
{| class="wikitable" style="text-align:center;"
{| border=1 cellspacing=0 cellpadding=5
 
 
|
 
|
 
! Evaluation
 
! Evaluation
Line 19: Line 19:
 
| static
 
| static
 
| yes
 
| yes
  +
|-
|-
 
  +
! Miranda
  +
| lazy
  +
| lazy lists
  +
| static
  +
| yes
  +
|-
 
! ML
 
! ML
| strict
+
| eager
 
| side-effects
 
| side-effects
 
| static
 
| static
Line 27: Line 33:
 
|-
 
|-
 
! Scheme
 
! Scheme
| strict
+
| eager
 
| side-effects
 
| side-effects
 
| dynamic
 
| dynamic
Line 33: Line 39:
 
|-
 
|-
 
! Erlang
 
! Erlang
| ?strict
+
| eager
| ?side-effects
+
| side-effects
| ?dynamic w/ compiler annotions for static typing
+
| dynamic w/ compiler annotations for static typing
  +
| no
| ?yes (shadows old version of variable)
 
 
|}
 
|}

Revision as of 00:52, 6 April 2009


Evaluation IO Typing Pure
Haskell lazy monads static yes
Clean lazy uniqueness static yes
Miranda lazy lazy lists static yes
ML eager side-effects static no
Scheme eager side-effects dynamic no
Erlang eager side-effects dynamic w/ compiler annotations for static typing no