From b764157a7ba4f56281327b096e1c78d916b39fc0 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Fri, 4 Apr 2014 12:07:24 +0200 Subject: [PATCH] Fix verify-cps to work * module/language/cps/verify.scm (verify-cps): Relax requirements for variable names to be symbols. --- module/language/cps/verify.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/module/language/cps/verify.scm b/module/language/cps/verify.scm index 9bc082b3e..d52135193 100644 --- a/module/language/cps/verify.scm +++ b/module/language/cps/verify.scm @@ -77,7 +77,7 @@ (check-label kf k-env)) (($ $kreceive ($ $arity ((? symbol?) ...) () (or #f (? symbol?)) () #f) k) (check-label k k-env)) - (($ $kargs ((? symbol? name) ...) (sym ...) body) + (($ $kargs (name ...) (sym ...) body) (unless (= (length name) (length sym)) (error "name and sym lengths don't match" name sym)) (visit-term body k-env (add-vars sym v-env))) @@ -93,7 +93,7 @@ ((? symbol? req) ...) ((? symbol? opt) ...) (and rest (or #f (? symbol?))) - (((? keyword? kw) (? symbol? kwname) (? symbol? kwsym)) ...) + (((? keyword? kw) (? symbol? kwname) kwsym) ...) (or #f #t)) ($ $cont kbody (and body ($ $kargs names syms _))) alternate)) @@ -141,7 +141,7 @@ #t) (($ $fun) (visit-fun exp k-env v-env)) - (($ $call (? symbol? proc) (arg ...)) + (($ $call proc (arg ...)) (check-var proc v-env) (for-each (cut check-var <> v-env) arg)) (($ $callk k* proc (arg ...)) @@ -169,7 +169,7 @@ (for-each (cut visit-cont-body <> k-env v-env) cont) (visit-term body k-env v-env))) - (($ $letrec ((? symbol? name) ...) (sym ...) (fun ...) body) + (($ $letrec (name ...) (sym ...) (fun ...) body) (unless (= (length name) (length sym) (length fun)) (error "letrec syms, names, and funs not same length" term)) (let ((v-env (add-vars sym v-env)))