(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 (_expr404_ _environment405_)
      (force scheme/eval-impl#init!)
      (call-with-parameters
       (lambda () (gx#eval-syntax__0 _expr404_))
       gx#current-expander-context
       _environment405_)))
  (define scheme/eval-impl#environments (make-table))
  (define scheme/eval-impl#make-environment
    (lambda (_imports397_)
      (force scheme/eval-impl#init!)
      (let ((_ctx399_
             (let ((__obj4596 (make-object gx#top-context::t '5)))
               (gx#top-context:::init!__0 __obj4596)
               __obj4596)))
        (call-with-parameters
         (lambda ()
           (gx#eval-syntax__0 '(import :scheme/r7rs))
           (for-each
            (lambda (_in402_)
              (gx#eval-syntax__0 (cons 'import (cons _in402_ '()))))
            _imports397_)
           _ctx399_)
         gx#current-expander-context
         _ctx399_))))
  (define scheme/eval-impl#r7rs-environment
    (lambda _imports388_
      (let* ((_ctx395_
              (let ((_$e390_ (table-ref
                              scheme/eval-impl#environments
                              _imports388_
                              '#f)))
                (if _$e390_
                    (values _$e390_)
                    (let ((_ctx393_
                           (scheme/eval-impl#make-environment _imports388_)))
                      (table-set!
                       scheme/eval-impl#environments
                       _imports388_
                       _ctx393_)
                      _ctx393_))))
             (__obj4597 (make-object gx#top-context::t '5)))
        (gx#top-context:::init!__% __obj4597 _ctx395_)
        __obj4597))))
