Total Functional Programming
Last updated
Paper - D. A. Turner - Total Functional Programming
Total functional programming excludes the possibility of non-termination.
fib function will not compile in Haskell 2010 due to later standard not supporting n + k patterns.
Haskell 2010 version can be writen as follows,
fib n
| n == 0 = 0
| n == 1 = 1
| otherwise = fib (n-1) + fib (n - 2)In a non total language, each type contains a ⊥ (bottom).
In a non-total language such as Haskell, even simple natural identity such as e - e = 0 cannot be assumed to hold true equationally due to the presence of ⊥.
Last updated