Version 21 of Haskell

Updated 2014-08-18 16:20:50 by pooryorick

Haskell is a polymorphicly-typed, type-safe, lazy, purely functional language.

See Also

Interfacing Tcl with Haskell
Monads
Playing Haskell
Tcl and other languages
FranTk
is a declarative GUI binding of Tk

Description

wdb: In Haskell it is not possible to assign a value to a variable. Therefore a program runs completely side-effect free.

Notation

'
surrounds a character
"
surrounds a sequence of characters, indicating a list composed of those characters in that sequence
(thing1,thing2)
"pair of things, each having its own type"
(type1,type2)
"pair of types"
(Tree a)
"a, which is of type Tree"
+
polymorphic infix operator for addition
++
polymorphic infix operator for concatenation
-
polymorphic infix operator for subtraction
->
(left) "maps to" (right)
.
infix operator for function composition
..
arithmetic sequence indicator
:
"is prepended to"
::
"has type"
<-
(left) "maps from" (right)
=>
"evaluates to", "reduces to"
=
"is defined as"
[]
"empty list"
[(a,b)]
"list where each thing is a pair of a thing having type a and a thing having type b"
[a]
"list of things which are of type a"
`
surrounds a function to indicate that it is being used as an infix operator
\
lambda function.
_|_
abstract notation for a non-terminating expression. Also known as "bottonm"
| (in a type declaration)
"or"
| (in a list comprehension)
"where"

http://imgs.xkcd.com/comics/haskell.png