aboutsummaryrefslogtreecommitdiff
path: root/ch03/3_a_1.hs
diff options
context:
space:
mode:
Diffstat (limited to 'ch03/3_a_1.hs')
-rw-r--r--ch03/3_a_1.hs14
1 files changed, 14 insertions, 0 deletions
diff --git a/ch03/3_a_1.hs b/ch03/3_a_1.hs
new file mode 100644
index 0000000..6e2b634
--- /dev/null
+++ b/ch03/3_a_1.hs
@@ -0,0 +1,14 @@
+-- Write the converse of fromList for the List type: a function that takes a
+-- List a and generates a [a].
+
+{-- From examples/examples/ch03/ListADT.hs --}
+data List a = Cons a (List a)
+ | Nil
+ deriving (Show)
+{-- End of code from examples --}
+
+toList (Cons x xs) = x:(toList xs)
+toList Nil = []
+
+-- ghci> toList (Cons 1 (Cons 2 (Cons 3 Nil)))
+-- [1,2,3]