top | item 47082727

(no title)

reliefcrew | 10 days ago

https://mitpress.mit.edu/9780262560993/the-little-schemer/

She can play along on the computer by installing mit-scheme (http://www.gnu.org/software/mit-scheme/) and placing the snippet below into ~/.scheme.init

   (define atom?
     (lambda (x)
       (and (not (pair? x)) (not (null? x)))))

   (define lat?
     (lambda (l)
       (cond
        ((null? l) #t)
        ((atom? (car l)) (lat? (cdr l)))
        (else #f))))

   (define member?
     (lambda (x l)
       (cond
        ((null? l) #f)
        ((eq? (car l) x) #t)
        (else (member? x (cdr l))))))

   (define mber?
     (lambda (a lat)
       (cond
        ((null? lat) #f)
        (else (or (eq? (car lat) a)
                  (mber? a (cdr lat)))))))

discuss

order

No comments yet.