From 06e9d149c992c0895e6875b59c3cae5e2e268d2d Mon Sep 17 00:00:00 2001 From: Abdulaziz Ghuloum Date: Fri, 17 Oct 2008 21:37:05 -0400 Subject: [PATCH] - fixed bug in tag annotation for primitives that are applied an incorrect number of arguments. --- scheme/ikarus.compiler.tag-annotation-analysis.ss | 13 ++++++------- scheme/last-revision | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/scheme/ikarus.compiler.tag-annotation-analysis.ss b/scheme/ikarus.compiler.tag-annotation-analysis.ss index 5a2aa7e..d45e0c6 100644 --- a/scheme/ikarus.compiler.tag-annotation-analysis.ss +++ b/scheme/ikarus.compiler.tag-annotation-analysis.ss @@ -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) diff --git a/scheme/last-revision b/scheme/last-revision index 4ef9b1f..7e8f4ed 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1628 +1629