diff options
author | Andy Wingo <wingo@pobox.com> | 2009-02-21 20:07:57 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-02-21 20:28:29 +0100 |
commit | aec8febc4621e87d9c3c1a10341ead00f784ff7f (patch) | |
tree | 3e414df090af0515c9a642b08503f62253e7c34b /module/language/ecmascript/compile-ghil.scm | |
parent | 594d9d4c482d91ccfbc474ec193baadde6ab11f7 (diff) | |
download | guile-aec8febc4621e87d9c3c1a10341ead00f784ff7f.tar.gz |
compile ecmascript's parser. yay! instant load-time!
* module/language/ghil/compile-glil.scm (codegen): If there are more than
255 arguments, make a list and use apply instead of calling directly.
* module/language/Makefile.am: Now we can compile parse.scm. Yay!
* module/language/scheme/compile-ghil.scm: Add a note.
* module/language/ecmascript/compile-ghil.scm: Add a note.
Diffstat (limited to 'module/language/ecmascript/compile-ghil.scm')
-rw-r--r-- | module/language/ecmascript/compile-ghil.scm | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/module/language/ecmascript/compile-ghil.scm b/module/language/ecmascript/compile-ghil.scm index e6c590096..a1aa11a68 100644 --- a/module/language/ecmascript/compile-ghil.scm +++ b/module/language/ecmascript/compile-ghil.scm @@ -46,6 +46,8 @@ (@implv ,e ,l ,sym) ,args)) +;; The purpose, you ask? To avoid non-tail recursion when expanding a +;; long pmatch sequence. (define-macro (ormatch x . clauses) (let ((X (gensym))) `(let ((,X ,x)) |