Trebuchet
Three
Haskell functions
type signature
function name
myFunction
has the type
::
first parameter type
String
->
second parameter type
String
->
return type
Bool
definition
myFunction
parameter
wordA
parameter
wordB
=
body of the function
wordA == wordB
call
myFunction
argument
"kitten"
argument
"cat"
<-
evaluates to False
Variables
type level
myFunction
::
type variable
[a]
->
type variable
a
->
type variable
[a]
term level
myFunction
term-level variable
x
term-level variable
y
=
y : x