
Hi, Pascal
(and hi, list!)
1. Here is one: define a function that takes two lists, both of which have
elements in growing order (i.e 1,2,3,3,5,9,9,..), and outputs a list with
the type of [Either a a], where a `Left a' would represent an element from
the first list, a `Right a' from the second list. Make it so that the
elements are in order, and also that the lefts preceede the rights.
Example, the inputs of [1,1,3,7,7] and [1,2,3,5,5] would result in [Left 1,
Left 1, Right 1, Right 2, Left 3, Right 3, Right 5, Right 5, Left 7, Left 7]
2. As an extension (not sure if this is too difficult for what you're
looking for): write another function that takes a list-of-lists as input
and outputs the result in tuples, where the first member is the index of
the list (counting from zero), and the second is the value itself.
Example [[1,3],[2,3],[1,3,4]] should result in
[(0,1),(2,1),(1,2),(0,3),(1,3),(2,3),(2,4)]
On Fri, Dec 12, 2014 at 4:14 AM, Pascal Knodel
Hello,
I'm preparing for an exam (university level introductory course). Functional programming in Haskell is part of it. That includes the concept of streams (theoretically infinite list computations).
I have difficulties in solving exercises that ask me to define streams for a given problem. Do you know good examples, the difficulty should be maybe a little harder than Fibonacci or intersections, but solvable in about 5 to 10 minutes. If there are examples from the book "Haskell - the craft of functional programming", please don't spoiler, I'm reading it parallel to this conversation. Don't give solutions, just problems (5 to 10 more will do). Examples, other than integer sequences are welcome.
Pascal _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
-- Carl Eyeinsky