Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Racket 1.00 KB | None | 0 0
  1. (define my-eval
  2.   '(lambda-rec (eval expr)
  3.                (cond [(pair? expr)
  4.                       (cond [(eq? (car expr) (quote +))
  5.                              (+ (eval (car (cdr expr)))
  6.                                 (eval (car (cdr (cdr expr)))))]
  7.                             [(eq? (car expr) (quote -))
  8.                              (- (eval (car (cdr expr)))
  9.                                 (eval (car (cdr (cdr expr)))))]
  10.                             [(eq? (car expr) (quote *))
  11.                              (* (eval (car (cdr expr)))
  12.                                 (eval (car (cdr (cdr expr)))))]
  13.                             [(eq? (car expr) (quote /))
  14.                              (/ (eval (car (cdr expr)))
  15.                                 (eval (car (cdr (cdr expr)))))])]
  16.                      [true expr])))
  17.  
  18. ;;TODO:
  19. (define (list->pair x)
  20.   (if (null? x)
  21.       'null
  22.       (cons-cons (car x) (list->pair (cdr x)))))
  23.  
  24. (define list1 '((quote +) 1 2))
  25. (define pair1 (list->pair list1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement