data List a = Nil | Cons a (List a);
|
|
map f xs = case xs of { Nil -> Nil; Cons x xs -> Cons (f x) (map f xs) };
|
|
readall k = getchar (\ch -> readall (\xs -> k (Cons ch xs))) (\ch -> k Nil);
|
|
putall x xs = case xs of { Nil -> x; Cons x xs -> putchar x (\ch -> putall x xs) };
|
|
id x = x;
|
|
main x = readall (putall x);
|