From dea3d44a63cf46683806bc739fe236fd238b1374 Mon Sep 17 00:00:00 2001 From: jim Date: Sun, 8 Feb 2015 18:44:13 -0500 Subject: [PATCH] create page --- exercises/assignment3_hints.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 exercises/assignment3_hints.mdwn diff --git a/exercises/assignment3_hints.mdwn b/exercises/assignment3_hints.mdwn new file mode 100644 index 00000000..b63a70a8 --- /dev/null +++ b/exercises/assignment3_hints.mdwn @@ -0,0 +1,13 @@ +## Comprehensions + +3. Using either Kapulet's or Haskell's list comprehension syntax, write an expression that transforms `[3, 1, 0, 2]` into `[3, 3, 3, 1, 2, 2]`. + +*Here is a hint* + +Define a function `dup (n, x)` that creates a list of *n* copies of `x`. Then use list comprehensions to transform `[3, 1, 0, 2]` into `[[3, 3, 3], [1], [], [2, 2]]`. Then use `join` to "flatten" the result. + +## Lists + +7. Continuing to encode lists in terms of their left-folds, how should we write `head`? This is challenging. + +*Here is a hint* -- 2.11.0