Sam对《The Little Schemer (4/e)》的笔记(2)

Sam
Sam (Don't Panic!)

读过 The Little Schemer (4/e)

The Little Schemer (4/e)
  • 书名: The Little Schemer (4/e)
  • 作者: Daniel P. Friedman/Matthias Felleisen
  • 页数: 216
  • 出版社: The MIT Press
  • 出版年: 1995-12-21
  • 第145页 Lambda and Ultimate

    Continuation passing style:

    (define evens*-co
      (lambda (xs col)
        (cond [(null? xs) (col '() 1 0)]
              [(atom? (car xs))
               (if (even? (car xs))
                   (evens*-co
                    (cdr xs)
                    (lambda (xss p s)
                      (col
                       (cons (car xs) xss)
                       (* (car xs) p)
                       s)))
                   (evens*-co
                    (cdr xs)
                    (lambda (xss p s)
                      (col xss p (+ (car xs) s)))))]
              [else (evens*-co
                     (car xs)
                     (lambda (al ap as)
                       (evens*-co
                        (cdr xs)
                        (lambda (dl dp ds)
                          (col
                           (append al dl)
                           (* ap dp)
                           (+ as ds))))))])))
    2016-07-27 08:53:48 回应
  • 第158页

    图灵的停机问题的证明

    (define eternity
      (lambda (x) (eternity x)))
    
    (define last-try
      (lambda (x)
        (and (will-stop? last-try)
             (eternity x))))
    2016-07-27 08:59:35 回应