Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. (check-expect (parse 1) 1)
  2. (check-expect (interp (parse 1)) 1)
  3. (check-expect (interp (parse '((fun (x) (+ 2 x)) 3))) 5)
  4. (check-expect (interp (parse '((fun (x) (+ 2 x)) (+ 1 2)))) 5)
  5. (check-expect (interp (parse '((fun (x) (fun (r) r)) 3))) (fun 'r 'r))
  6. (check-expect (interp (parse '((fun (x) ((fun (x) x) 2)) 3))) 2)
  7. (check-expect (interp (parse '((fun (x) x) ((fun (x) x) 2)))) 2)
  8. (check-expect (interp (parse '(+ 2 3))) 5)
  9. (check-expect (interp (parse '(fun (x) (fun (x) x)))) (fun 'x (fun 'x 'x)))
  10. (check-expect (interp (parse '(with ((x 3)) x))) 3)
  11. (check-expect (interp (parse '((fun (x) x) 3))) 3)
  12. (check-expect (interp (parse '(with ((f (fun (x) (+ x x)))) (f 3)))) 6)
  13. (check-expect (interp (parse '((fun (f) (f 3)) (fun (x) (+ x x))))) 6)
  14. (check-expect (interp (parse `(with ((f (fun (x) (with ((g (fun (x) (* x x)))) (* 2 (g x)))))) (f 10)))) 200)
  15. (check-expect (interp (parse `(with ((f (fun (x) (with ((f (fun (x) (* x x)))) (* 2 (f x)))))) (f 10)))) 200)
  16. (check-expect (interp (parse `(((fun (x) (fun (y) (+ x y))) 2) 3))) 5)
  17. (check-expect (interp (parse '(with ((f (fun (x) (+ x x)))) (f 3)))) 6)
  18. (check-expect (unparse (one-step (one-step (parse '(with ((gen (fun (x) (fun (y) (* x y))))) ((gen 3) 4)))))) '((fun (y) (* 3 y)) 4))
  19. ;?? (check-error (interp (parse '(x 3))) "one-step: undefined")
  20.  
  21. (check-error (one-step 3) "one-step: irreducible")
  22. (check-error (one-step 'x) "one-step: undefined")
  23. (check-expect (one-step (bin '+ (bin '+ 2 3) 1)) (bin '+ 5 1))
  24. (check-expect (one-step (bin '+ (bin '+ 2 3) (bin '+ 1 4))) (bin '+ 5 (bin '+ 1 4)))
  25. (check-expect (one-step (bin '+ (bin '+ (bin '+ 1 1) 3) (bin '+ 1 4))) (bin '+ (bin '+ 2 3) (bin '+ 1 4)))
  26. (check-expect (one-step (bin '+ (bin '+ 3 (bin '+ 1 1)) (bin '+ 1 4))) (bin '+ (bin '+ 3 2) (bin '+ 1 4)))
  27. (test)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement