(declare (block) (standard-bindings) (extended-bindings))
(begin
  (define scheme/eval-impl#init!
    (make-promise (lambda () (_gx#load-expander!))))
  (define scheme/eval-impl#r7rs-eval
    (lambda (_expr7954_ _environment7955_)
      (force scheme/eval-impl#init!)
      (call-with-parameters
       (lambda () (gx#eval-syntax__0 _expr7954_))
       gx#current-expander-context
       _environment7955_)))
  (define scheme/eval-impl#environments (make-table))
  (define scheme/eval-impl#make-environment
    (lambda (_imports7947_)
      (force scheme/eval-impl#init!)
      (let ((_ctx7949_
             (let ((__obj7958 (make-object gx#top-context::t '5)))
               (gx#top-context:::init!__0 __obj7958)
               __obj7958)))
        (call-with-parameters
         (lambda ()
           (gx#eval-syntax__0 '(import :scheme/r7rs))
           (for-each
            (lambda (_in7952_)
              (gx#eval-syntax__0 (cons 'import (cons _in7952_ '()))))
            _imports7947_)
           _ctx7949_)
         gx#current-expander-context
         _ctx7949_))))
  (define scheme/eval-impl#r7rs-environment
    (lambda _imports7938_
      (let* ((_ctx7945_
              (let ((_$e7940_
                     (table-ref
                      scheme/eval-impl#environments
                      _imports7938_
                      '#f)))
                (if _$e7940_
                    (values _$e7940_)
                    (let ((_ctx7943_
                           (scheme/eval-impl#make-environment _imports7938_)))
                      (table-set!
                       scheme/eval-impl#environments
                       _imports7938_
                       _ctx7943_)
                      _ctx7943_))))
             (__obj7959 (make-object gx#top-context::t '5)))
        (gx#top-context:::init!__% __obj7959 _ctx7945_)
        __obj7959))))
