X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=hints%2Fassignment_4_hint_2.mdwn;h=f9f4cf253a0b938b2d8a877bad7d90dd7051086e;hp=6bcd7701ee6320b241d61a04c7f584a87d35ab47;hb=5bda5b5a2df9af3e0b46179854b370819f14ced8;hpb=d921bb783f9bbdb90a4b849a2846e4b59a4626a7 diff --git a/hints/assignment_4_hint_2.mdwn b/hints/assignment_4_hint_2.mdwn index 6bcd7701..f9f4cf25 100644 --- a/hints/assignment_4_hint_2.mdwn +++ b/hints/assignment_4_hint_2.mdwn @@ -1,3 +1,18 @@ +Hints for `list_equal`. + +* If `left` is `[]`, what does `right` have to be for `left` and `right` to be equal? (Come on, it's not too hard, you can figure it out.) + +* Suppose on the other hand that `left` has head `left_hd` and tail `left_tl`. + +
    +
  1. If `right` is then `[]`, are `left` and `right` equal? +
  2. If `right` isn't `[]`, and its head isn't equal to `left_hd`, are `left` and `right` equal? +
  3. If `right` isn't `[]` and its head *is* equal to `left_hd`, what else has to be the case for `left` and `right` to be equal? +
+ +* Can you now write a recursive definition of the `list_equal` function? +What's your base case? + + + +