Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (check-expect (parse 1) 1)
- (check-expect (interp (parse 1)) 1)
- (check-expect (interp (parse '((fun (x) (+ 2 x)) 3))) 5)
- (check-expect (interp (parse '((fun (x) (+ 2 x)) (+ 1 2)))) 5)
- (check-expect (interp (parse '((fun (x) (fun (r) r)) 3))) (fun 'r 'r))
- (check-expect (interp (parse '((fun (x) ((fun (x) x) 2)) 3))) 2)
- (check-expect (interp (parse '((fun (x) x) ((fun (x) x) 2)))) 2)
- (check-expect (interp (parse '(+ 2 3))) 5)
- (check-expect (interp (parse '(fun (x) (fun (x) x)))) (fun 'x (fun 'x 'x)))
- (check-expect (interp (parse '(with ((x 3)) x))) 3)
- (check-expect (interp (parse '((fun (x) x) 3))) 3)
- (check-expect (interp (parse '(with ((f (fun (x) (+ x x)))) (f 3)))) 6)
- (check-expect (interp (parse '((fun (f) (f 3)) (fun (x) (+ x x))))) 6)
- (check-expect (interp (parse `(with ((f (fun (x) (with ((g (fun (x) (* x x)))) (* 2 (g x)))))) (f 10)))) 200)
- (check-expect (interp (parse `(with ((f (fun (x) (with ((f (fun (x) (* x x)))) (* 2 (f x)))))) (f 10)))) 200)
- (check-expect (interp (parse `(((fun (x) (fun (y) (+ x y))) 2) 3))) 5)
- (check-expect (interp (parse '(with ((f (fun (x) (+ x x)))) (f 3)))) 6)
- (check-expect (unparse (one-step (one-step (parse '(with ((gen (fun (x) (fun (y) (* x y))))) ((gen 3) 4)))))) '((fun (y) (* 3 y)) 4))
- ;?? (check-error (interp (parse '(x 3))) "one-step: undefined")
- (check-error (one-step 3) "one-step: irreducible")
- (check-error (one-step 'x) "one-step: undefined")
- (check-expect (one-step (bin '+ (bin '+ 2 3) 1)) (bin '+ 5 1))
- (check-expect (one-step (bin '+ (bin '+ 2 3) (bin '+ 1 4))) (bin '+ 5 (bin '+ 1 4)))
- (check-expect (one-step (bin '+ (bin '+ (bin '+ 1 1) 3) (bin '+ 1 4))) (bin '+ (bin '+ 2 3) (bin '+ 1 4)))
- (check-expect (one-step (bin '+ (bin '+ 3 (bin '+ 1 1)) (bin '+ 1 4))) (bin '+ (bin '+ 3 2) (bin '+ 1 4)))
- (test)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement