From: jim Date: Mon, 9 Feb 2015 00:21:30 +0000 (-0500) Subject: break up long expression X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=b93e99adfad61e703393d71f919af78a10b02101 break up long expression --- diff --git a/topics/week3_lists.mdwn b/topics/week3_lists.mdwn index 00f1ffde..8d646f17 100644 --- a/topics/week3_lists.mdwn +++ b/topics/week3_lists.mdwn @@ -80,7 +80,9 @@ To translate that, first let's handle the iteration over the final list, that `x This looks like what we had before, except that now we have this free variable `y` in our lambda expression. Perhaps we can bind that variable inside a *larger* lambda expression, and then map (and filter) *that* larger lambda expression over the list that `y` is drawn from: - map (lambda y. map (lambda x. 10*x + y) [1, 2, 3]) $ filter (lambda y. y < 6) [4, 5, 6] + let + f match lambda y. map (lambda x. 10*x + y) [1, 2, 3] + in map f $ filter (lambda y. y < 6) [4, 5, 6] This gives us nearly what we want. It evaluates to: