links · people · groups · tags | My: links · tags · groups · watchlists · notes login · sign up now! | help · blog
Simpy simpy
 
Michael Shook, member since May 27, 2004
.
Search Everyone: "elegant",

Top "elegant" experts: ndstyles, dlthompson619, luk2hym, softweb1234, michaelbj, madtop,

1 - 1 of 1   Watch mshook
 
(defun eval. (e a)
  (cond
    ((atom e) (assoc. e a))
    ((atom (car e))
     (cond
       ((eq (car e) 'quote) (cadr e))
       ((eq (car e) 'atom) (atom (eval. (cadr e) a)))
       ((eq (car e) 'eq) (eq (eval. (cadr e) a)
                             (eval. (caddr e) a)))
       ((eq (car e) 'car) (car (eval. (cadr e) a)))
       ((eq (car e) 'cdr) (cdr (eval. (cadr e) a)))
       ((eq (car e) 'cons) (cons (eval. (cadr e) a)
                                 (eval. (caddr e) a)))
       ((eq (car e) 'cond) (evcon. (cdr e) a))
       ('t (eval. (cons (assoc. (car e) a)
                        (cdr e))
                  a))))
    ((eq (caar e) 'label)
     (eval. (cons (caddar e) (cdr e))
            (cons (list (cadar e) (car e)) a)))
    ((eq (caar e) 'lambda)
     (eval. (caddar e)
            (append. (pair. (cadar e) (evlis. (cdr e) a))
                     a)))))
  • http://www.paulgraham.com/rootsoflisp.html
by mshook 2009-05-20 11:25 lisp · eval · beautiful · elegant · minimal · concise · 20 · may · 2009 · a · how · scheme
http://mshook.googlepages.com/d4m.htm?/mshook/20+may+2009+a - cached - mail it - history
1 - 1 of 1  
Related Tags
 
- exclude ~ optional + require
Add Dates