X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=code%2Frefunctionalizing_zippers.rkt;h=477daea9f27e1d47bacd3ed84efcef0a53c396ff;hp=cac0916b1b1d22d7fd54ccefb548fe7d15447947;hb=ad14f269d489cc9a2ea9e522e2da37a42cfd46b3;hpb=a4dfe1de1feca715d65c992ee99a1d062e769aaf diff --git a/code/refunctionalizing_zippers.rkt b/code/refunctionalizing_zippers.rkt index cac0916b..477daea9 100644 --- a/code/refunctionalizing_zippers.rkt +++ b/code/refunctionalizing_zippers.rkt @@ -69,7 +69,8 @@ (define (tc3 l k) (cond [(null? l) (k '())] - [(eqv? #\# (car l)) (append (k '()) (tc3 (cdr l) identity))] + ; [(eqv? #\# (car l)) (append (k '()) (tc3 (cdr l) identity))] + [(eqv? #\# (car l)) (k (tc3 (cdr l) identity))] [(eqv? #\S (car l)) (tc3 (cdr l) (compose k k))] [else (tc3 (cdr l) (lambda (tail) (k (cons (car l) tail))))])) @@ -78,7 +79,8 @@ (shift k (cond [(null? l) (identity (k '()))] - [(eqv? #\# (car l)) (append (k '()) (reset (tr3 (cdr l))))] + ; [(eqv? #\# (car l)) (append (k '()) (reset (tr3 (cdr l))))] + [(eqv? #\# (car l)) (k (reset (tr3 (cdr l))))] [(eqv? #\S (car l)) ((compose k k) (tr3 (cdr l)))] [else ((lambda (tail) (k (cons (car l) tail))) (tr3 (cdr l)))])))