diff --git a/module/language/cps/compile-js.scm b/module/language/cps/compile-js.scm index 1d50c89cb..3b5e35e12 100644 --- a/module/language/cps/compile-js.scm +++ b/module/language/cps/compile-js.scm @@ -16,7 +16,6 @@ ;; first-order optimization should go here (set! exp (reify-primitives exp)) (set! exp (renumber exp)) - ;; (values exp env env) (match exp (($ $program funs) ;; TODO: I should special case the compilation for the initial fun, @@ -27,16 +26,12 @@ (values (make-program (compile-fun (car funs)) (map compile-fun (cdr funs))) env - env))) - ) + env)))) (define (compile-fun fun) - ;; meta (match fun (($ $cont k ($ $kfun src meta self ($ $cont tail ($ $ktail)) clause)) - (make-var k (compile-clause clause self tail))) - (_ - `(fun:todo: ,fun)))) + (make-var k (compile-clause clause self tail))))) (define (compile-clause clause self tail) (match clause @@ -58,9 +53,7 @@ (compile-term exp)) (($ $cont k _) (make-local (list (compile-cont body)) - (make-continue k (map make-id req))))))) - (_ - `(clause:todo: ,clause)))) + (make-continue k (map make-id req))))))))) (define (not-supported msg clause) (error 'not-supported msg clause)) @@ -115,9 +108,7 @@ ;; FIXME: ;; may happen if a test branch of a conditional compiles to values ;; placeholder till I learn if multiple values could be returned. - (make-id val)) - (_ - `(exp:todo: ,exp)))) + (make-id val)))) (define (compile-test exp kt kf) ;; TODO: find out if the expression is always simple enough that I diff --git a/module/language/javascript.scm b/module/language/javascript.scm index 0a0b20e56..18ce0f0d5 100644 --- a/module/language/javascript.scm +++ b/module/language/javascript.scm @@ -182,9 +182,3 @@ (display separator port) (printer x port)) rest)))) - -(define (print-terminated args printer terminator port) - (for-each (lambda (x) - (printer x port) - (display terminator port)) - args)) diff --git a/module/language/js-il.scm b/module/language/js-il.scm index 02a99d510..921bac63a 100644 --- a/module/language/js-il.scm +++ b/module/language/js-il.scm @@ -7,13 +7,12 @@ make-continuation continuation make-local local make-var var - make-continue continue ; differ from conts + make-continue continue make-const const make-primcall primcall make-call call make-closure closure make-branch branch - ; print-js make-return return make-id id )) @@ -78,7 +77,6 @@ `(continue ,k ,(map unparse-js args))) (($ branch test then else) `(if ,(unparse-js test) ,(unparse-js then) ,(unparse-js else))) - ;; values (($ const c) `(const ,c)) (($ primcall name args) @@ -90,8 +88,4 @@ (($ return val) `(return . ,(unparse-js val))) (($ id name) - `(id . ,name)) - (_ - ;(error "unexpected js" exp) - (pk 'unexpected exp) - exp))) + `(id . ,name)))) diff --git a/module/language/js-il/spec.scm b/module/language/js-il/spec.scm index 81ca5da1c..fa4dc8eca 100644 --- a/module/language/js-il/spec.scm +++ b/module/language/js-il/spec.scm @@ -1,6 +1,5 @@ (define-module (language js-il spec) #:use-module (system base language) - ; #:use-module (language js-il) #:use-module (language js-il compile-javascript) #:export (js-il)) @@ -8,5 +7,5 @@ #:title "Javascript Intermediate Language" #:reader #f #:compilers `((javascript . ,compile-javascript)) - #:printer #f ; print-js + #:printer #f #:for-humans? #f)