[gambit-list] Re --enable-auto-forcing: Scope, how/where implemented, how build (with) it properly?
Bradley Lucier
lucier at math.purdue.edu
Mon Jun 12 18:30:10 EDT 2017
> On Jun 11, 2017, at 5:08 AM, Adam <adam.mlmb at gmail.com> wrote:
>
> Possibly the "macro-force-vars", which is used all over the runtime and compiler, would have something to do with this, but I don't find its definition anywhere.
>
In _gambit#.scm:
(macro-define-syntax macro-force-vars
(lambda (stx)
(syntax-case stx ()
((_ vars expr)
(if (let* ((co
(##global-var-ref
(##make-global-var '##compilation-options)))
(comp-opts
(if (##unbound? co) '() co)))
(assq 'force comp-opts))
(syntax-case (datum->syntax
#'vars
(map (lambda (x) `(,x (##force ,x)))
(syntax->list #'vars)))
()
(bindings #'(let bindings expr)))
#'expr)))))
More information about the Gambit-list
mailing list