Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

I have!

Name: Have you? 2011-08-04 19:23


(define make-c*r
  (lambda (desc)
    (define aux
      (lambda (desc f)
        (cond ((null? desc) f)
              ((eq? (car desc) 'a)
               (aux (cdr desc)
                    (lambda (x) (car (f x)))))
              ((eq? (car desc) 'd)
               (aux (cdr desc)
                    (lambda (x) (cdr (f x)))))
              (else (error "Argument not 'a or 'd -- MAKE-C*R" (car desc))))))
    (aux desc (lambda (x) x))))

(define cdddddddddar (make-c*r '(d d d d d d d d d a)))

Name: Anonymous 2011-08-04 19:40

Me too!
(define (make-c*r cudders)
  (foldl (lambda (cudder f)
           ((lambda (cr) (lambda (x) (f (cr x))))
            (case cudder
              ((a) car)
              ((d) cdr)
              (else (error "Argument not 'a or 'd -- MAKE-C*R" cudder)))))
         (lambda (x) x) cudders))

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List