--- /dev/null
+\r
+data List a = Nil | Cons a (List a)\r
+\r
+first :: List Integer -> Integer\r
+//first Nil = 0 :: Integer\r
+first (Cons x _) = x\r
+\r
+reverse :: List a -> List a\r
+reverse l = reverseAux Nil l \r
+ where\r
+ reverseAux accum Nil = accum\r
+ reverseAux accum (Cons h t) = reverseAux (Cons h accum) t \r
+\r
+main :: Integer\r
+main = first (reverse l) \r
+ where\r
+ l = Cons (1 :: Integer) (Cons (2 :: Integer) (Cons (3 :: Integer) Nil))\r
+--\r
+3
\ No newline at end of file