- fixed bug in tag annotation for primitives that are applied an

incorrect number of arguments.
This commit is contained in:
Abdulaziz Ghuloum 2008-10-17 21:37:05 -04:00
parent 0d91ab9774
commit 06e9d149c9
2 changed files with 7 additions and 8 deletions

View File

@ -244,13 +244,12 @@
[(null? x*) env]
[else (extend (car x*) (car t*)
(extend* (cdr x*) (cdr t*) env))]))
(cond
[(= (length rand-t*) (length rand*))
(values (make-funcall (make-primref op) rand*)
(extend* rand* rand-t* env)
ret-t)]
[else
(error 'apply-primcall "invalid extesion" op rand*)]))
(values
(make-funcall (make-primref op) rand*)
(if (= (length rand-t*) (length rand*))
(extend* rand* rand-t* env)
env) ;;; incorrect number of args
ret-t))
(define (inject* ret-t arg-t)
(define (extend* x* env)
(define (extend x t env)

View File

@ -1 +1 @@
1628
1629