- fixed bug in tag annotation for primitives that are applied an
incorrect number of arguments.
This commit is contained in:
parent
0d91ab9774
commit
06e9d149c9
|
@ -244,13 +244,12 @@
|
||||||
[(null? x*) env]
|
[(null? x*) env]
|
||||||
[else (extend (car x*) (car t*)
|
[else (extend (car x*) (car t*)
|
||||||
(extend* (cdr x*) (cdr t*) env))]))
|
(extend* (cdr x*) (cdr t*) env))]))
|
||||||
(cond
|
(values
|
||||||
[(= (length rand-t*) (length rand*))
|
(make-funcall (make-primref op) rand*)
|
||||||
(values (make-funcall (make-primref op) rand*)
|
(if (= (length rand-t*) (length rand*))
|
||||||
(extend* rand* rand-t* env)
|
(extend* rand* rand-t* env)
|
||||||
ret-t)]
|
env) ;;; incorrect number of args
|
||||||
[else
|
ret-t))
|
||||||
(error 'apply-primcall "invalid extesion" op rand*)]))
|
|
||||||
(define (inject* ret-t arg-t)
|
(define (inject* ret-t arg-t)
|
||||||
(define (extend* x* env)
|
(define (extend* x* env)
|
||||||
(define (extend x t env)
|
(define (extend x t env)
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
1628
|
1629
|
||||||
|
|
Loading…
Reference in New Issue