diff options
Diffstat (limited to 'module/language/javascript.scm')
-rw-r--r-- | module/language/javascript.scm | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/module/language/javascript.scm b/module/language/javascript.scm index 8829b3be0..4a4943545 100644 --- a/module/language/javascript.scm +++ b/module/language/javascript.scm @@ -4,6 +4,7 @@ #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) #:export ( + make-assign assign make-const const make-function function make-return return @@ -50,6 +51,7 @@ (define (print-js exp port) (format port "#<js ~S>" (unparse-js exp))) +(define-js-type assign id exp) (define-js-type const c) (define-js-type function args body) (define-js-type return exp) @@ -66,6 +68,8 @@ (define (unparse-js exp) (match exp + (($ assign id exp) + `(assign ,id ,(unparse-js exp))) (($ const c) `(const ,c)) (($ function args body) @@ -99,6 +103,13 @@ (define (print-exp exp port) (match exp + (($ assign id exp) + (print-id id port) + (format port " = ") + (display "(" port) + (print-exp exp port) + (display ")" port)) + (($ const c) (print-const c port)) |