Partial functions
A partial function is a function that is not defined for all possible arguments of the specified type. Examples in the Haskell standard library are:
head
,tail
: undefined for empty lists(!!)
: undefined if the index is at least as big as the list lengthdiv
: undefined if the divisor is zero
The opposite is a total function.
There are methods to avoid the use of partial functions.