From 4a14b7f7d86fc9ac29e214c47c934a106749d2ac Mon Sep 17 00:00:00 2001 From: Robin Templeton Date: Sat, 14 Jun 2014 03:33:22 -0400 Subject: [PATCH] allow arbitrary constants in cps (Best-ability ChangeLog annotation added by Christopher Allan Webber.) * module/language/cps/types.scm (constant-type): No longer error if type not determined. Return &all-types instead. --- module/language/cps/types.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/module/language/cps/types.scm b/module/language/cps/types.scm index 4cfc71fd6..7a117f2de 100644 --- a/module/language/cps/types.scm +++ b/module/language/cps/types.scm @@ -348,8 +348,7 @@ minimum, and maximum." ((bitvector? val) (return &bitvector (bitvector-length val))) ((array? val) (return &array (array-rank val))) ((not (variable-bound? (make-variable val))) (return &unbound #f)) - - (else (error "unhandled constant" val)))) + (else (return &all-types #f)))) (define *type-checkers* (make-hash-table)) (define *type-inferrers* (make-hash-table))