+++ /dev/null
-data Either a b = Left a | Right b\r
-\r
-data List a = Nil | Cons a (List a)\r
-\r
-data Nat = Zero | Succ Nat\r
-\r
-sum Zero a = a\r
-sum a Zero = a\r
-sum (Succ a) (Succ b) = Succ (Succ (sum a b))\r
-\r
-sum_append xs ys\r
- = go Zero (Left xs)\r
- where\r
- go z (Left xs)\r
- = match xs with\r
- Nil -> go z (Right ys)\r
- Cons x xs' -> go (sum x z) (Left xs')\r
- go z (Right ys)\r
- = match ys with\r
- Nil -> z\r
- Cons y ys' -> go (sum y z) (Right ys')\r
-\r
-main = "Hello world!"\r
---\r
-Hello world!
\ No newline at end of file