From ff7fff920d1a26cf01837d0ad5e44ac471ef94e9 Mon Sep 17 00:00:00 2001 From: Ian Price Date: Wed, 28 Jun 2017 10:38:00 +0100 Subject: [PATCH] Add macro type in runtime.js * module/language/js-il/runtime.js (scheme.Macro): Add type. (make-syntax-transformer): Add guile procedure. --- module/language/js-il/runtime.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/module/language/js-il/runtime.js b/module/language/js-il/runtime.js index cccccc6b6..5a2afa225 100644 --- a/module/language/js-il/runtime.js +++ b/module/language/js-il/runtime.js @@ -550,3 +550,15 @@ function scm_mul(self, cont) { }; def_guile0("*", scm_mul); +// Macros +scheme.Macro = function (name, type, binding) { + // TODO: prim field? + this.name = name; + this.type = type; + this.binding = binding; + return this; +}; + +def_guile0("make-syntax-transformer", function (self, cont, name, type, binding) { + return cont(new scheme.Macro(name, type, binding)); +});