trying to trace application

This commit is contained in:
Danny Yoo 2011-03-07 21:59:32 -05:00
parent c6f1aaf941
commit 470730bcb8
2 changed files with 25 additions and 14 deletions

View File

@ -355,7 +355,8 @@
(make-instruction-sequence
`(,(make-AssignPrimOpStatement
target
(make-ApplyPrimitiveProcedure n)))))
(make-ApplyPrimitiveProcedure n))
,(make-PopEnvironment n 0))))
after-call))))

View File

@ -92,6 +92,27 @@
(test (begin 1)
1)
(test (+ (* 3 4) 5)
17)
;; Square
(test (begin (define (f x)
(* x x))
(f 3))
9)
;; composition of square
(test (begin (define (f x)
(* x x))
(f (f 3)))
81)
;; Simple application
(test ((lambda (x) x) 42)
42)
@ -105,26 +126,15 @@
(test ((lambda (x y z) z) 3 4 5)
5)
;; And this should fail because it's not a lambda
(test/exn (not-a-procedure 5))
;; We should see an error here, since the arity is wrong
(test/exn ((lambda (x y z) x) 3))
(test/exn ((lambda (x y z) z) 3))
(test/exn ((lambda (x y z) x) 3 4 5 6))
;; And this should fail because it's not a lambda
(test/exn (not-a-procedure 5))
;; Square
(test (begin (define (f x)
(* x x))
(f 3))
9)
;; composition of square
(test (begin (define (f x)
(* x x))
(f (f 3)))
81)
; factorial