Jim Pryor's git trees. - lambda.git/commitdiff projects / lambda.git / commitdiff commit grep author committer pickaxe ? search: re summary | shortlog | log | commit | commitdiff | tree raw | patch | inline | side by side (parent: e5f5823) ass10 tweaks author Jim Pryor <profjim@jimpryor.net> Thu, 23 Dec 2010 17:31:28 +0000 (12:31 -0500) committer Jim Pryor <profjim@jimpryor.net> Thu, 23 Dec 2010 17:31:28 +0000 (12:31 -0500) Signed-off-by: Jim Pryor <profjim@jimpryor.net> assignment10.mdwn patch | blob | history diff --git a/assignment10.mdwn b/assignment10.mdwn index 087b66a..d7e0e23 100644 (file) --- a/assignment10.mdwn +++ b/assignment10.mdwn @@ -114,7 +114,7 @@ Of course, if you need help or want us to review your efforts, we'll be glad to What would be a helper function you could supply as a `k` that would report `#t` iff the original `lst` contained more instances of some symbol than non-instances? -<!-- + <!-- (define remove-co (lambda (a lst k) (cond @@ -124,7 +124,7 @@ Of course, if you need help or want us to review your efforts, we'll be glad to (remove-co a (cdr lst) (lambda (left right) (k left (cons (car lst) right))))) (else (remove-co a (cdr lst) (lambda (left right) (k (cons (car lst) left) right))))))) ---> + --> 5. Now we define a function `insert-co` which has the following behavior. It accepts as arguments three symbols, a list, and a handler. The first symbol is inserted before (to the left of) any occurrences in the list of the second symbol, and after (to the right of) any occurrences of the third symbol. The handler is then called with three arguments: the new list (with the insertions made), the number of "to-the-left" insertions that were made, and the number of "to-the-right" insertions that were made. @@ -142,7 +142,7 @@ Of course, if you need help or want us to review your efforts, we'll be glad to (else (insert-co new before after (cdr lst) (lambda (new-lst lefts rights) ________)))))) -<!-- + <!-- (define insert-co (lambda (new before after lst k) (cond @@ -154,7 +154,7 @@ Of course, if you need help or want us to review your efforts, we'll be glad to (insert-co new before after (cdr lst) (lambda (new-lst lefts rights) (k (cons (after (cons new new-lst))) lefts (succ rights))))) (else (insert-co new before after (cdr lst) (lambda (new-lst lefts rights) (k (cons (car lst) new-lst) lefts rights))))))) ---> + --> 6. Go back to the "abSd" problem we presented in [[From List Zippers to Continuations]]. Consider the "tc" solution which uses NYU Lambda Wiki v2 RSS Atom