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

ideas!?

Name: anon 2011-12-03 1:42

I require an idea to program over the christmas break! Any ideas?

Name: Anonymous 2011-12-03 22:26

>>18
(defun evaluate (exp env)
  (cond ((symbolp exp) (cdr (find exp env :key #'car)))
        ((atom exp)    exp)
        (t (case (car exp)
             (lambda (lambda (args)
                       (evaluate (caddr exp)
                                 (append (mapcar #'cons (cadr exp) args) env))))
             (let (evaluate `((lambda ,(mapcar #'car (cadr exp)) ,(caddr exp))
                              ,@(mapcar #'cadr (cadr exp)))
                            env))
             (t (funcall (evaluate (car exp) env)
                         (mapcar #'(lambda (x) (evaluate x env))
                                 (cdr exp))))))))


There you go. A simple Lisp-1 in 13 lines of CL.

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