aboutsummaryrefslogtreecommitdiff
path: root/ch03
diff options
context:
space:
mode:
authorJan Sucan <jan@jansucan.com>2023-03-10 16:12:15 +0100
committerJan Sucan <jan@jansucan.com>2023-03-10 16:12:15 +0100
commit5cd664fe805f5c026c908ac0202edc30f28106b7 (patch)
treed2365be99e1e58b7d8e50f33dc4296329fb2bed1 /ch03
parent54afee05a42a7814a6261822b855b14fcdcaa41e (diff)
3_a_1: Add solution
Diffstat (limited to 'ch03')
-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]