X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=exercises%2Fassignment3_answers.mdwn;h=7530534f3c4e086c6260aaaface0b1b6b4126809;hp=1fe4baf3807868fe0f93cf387c873e1e70235a8b;hb=cff9857e52ac59c4905efeb80fcf8a91c2fd1ed8;hpb=063c22f99e0cacb54e0026057bfacdecbc34d394 diff --git a/exercises/assignment3_answers.mdwn b/exercises/assignment3_answers.mdwn index 1fe4baf3..7530534f 100644 --- a/exercises/assignment3_answers.mdwn +++ b/exercises/assignment3_answers.mdwn @@ -43,7 +43,7 @@ > let left_head = \xs. (xs f I) I err in > ... - > Here's another, more straightforward answer. We [[observed before|where?]] that left-folding the `cons` function over a list reverses it. Hence, it is easy to reverse a list defined in terms of its left-fold: + > Here's another, more straightforward answer. We [[observed before|/topics/week2_encodings#flipped-cons]] that left-folding the `cons` function over a list reverses it. Hence, it is easy to reverse a list defined in terms of its left-fold: > let left_empty = \f z. z in ; this the same as for the right-fold encoding of lists > let flipped_left_cons = \xs x. \f z. xs f (f z x) in ; left-folding supplies arguments in a different order than cons expects