prelude: :gerbil/core
package: gerbil/compiler
namespace: gxc

(%#begin (%#import
          :gerbil/core/expander
          :gerbil/expander
          :gerbil/compiler/base
          :gerbil/compiler/method
          :gerbil/compiler/compile
          :gerbil/compiler/optimize-base
          :gerbil/compiler/optimize-xform
          :gerbil/compiler/optimize-top
          :gerbil/compiler/optimize-spec
          :gerbil/compiler/optimize-ann
          :gerbil/compiler/optimize-call)
         (%#export #t)
         (%#define-runtime optimizer-info-init! gxc#optimizer-info-init!)
         (%#define-runtime optimize! gxc#optimize!)
         (%#define-runtime
          optimizer-load-builtin-ssxi
          gxc#optimizer-load-builtin-ssxi)
         (%#define-runtime
          optimizer-load-ssxi-deps
          gxc#optimizer-load-ssxi-deps)
         (%#define-runtime optimizer-load-ssxi gxc#optimizer-load-ssxi)
         (%#define-runtime optimizer-import-ssxi gxc#optimizer-import-ssxi)
         (%#define-runtime
          optimizer-import-ssxi-by-id
          gxc#optimizer-import-ssxi-by-id)
         (%#define-runtime optimize-source gxc#optimize-source)
         (%#define-runtime ::generate-ssxi::t gxc#::generate-ssxi::t)
         (%#define-runtime ::generate-ssxi? gxc#::generate-ssxi?)
         (%#define-runtime make-::generate-ssxi gxc#make-::generate-ssxi)
         (%#begin (%#begin-syntax
                   (%#call (%#ref load-module)
                           (%#quote "gerbil/compiler/optimize~1")))
                  (%#define-syntax ::generate-ssxi |gxc[:0:]#::generate-ssxi|))
         (%#define-runtime
          ::generate-ssxi-bind-methods!
          gxc#::generate-ssxi-bind-methods!)
         (%#define-runtime apply-generate-ssxi gxc#apply-generate-ssxi)
         (%#define-runtime
          generate-ssxi-begin-syntax%
          gxc#generate-ssxi-begin-syntax%)
         (%#define-runtime generate-ssxi-module% gxc#generate-ssxi-module%)
         (%#define-runtime
          generate-ssxi-define-values%
          gxc#generate-ssxi-define-values%)
         (%#define-runtime generate-ssxi-call% gxc#generate-ssxi-call%)
         (%#define-runtime
          generate-ssxi-begin-annotation%
          gxc#generate-ssxi-begin-annotation%)
         (%#define-runtime !alias::typedecl gxc#!alias::typedecl)
         (%#define-runtime !class::typedecl gxc#!class::typedecl)
         (%#define-runtime !predicate::typedecl gxc#!predicate::typedecl)
         (%#define-runtime !constructor::typedecl gxc#!constructor::typedecl)
         (%#define-runtime !accessor::typedecl gxc#!accessor::typedecl)
         (%#define-runtime !mutator::typedecl gxc#!mutator::typedecl)
         (%#define-runtime !interface::typedecl gxc#!interface::typedecl)
         (%#define-runtime !lambda::typedecl gxc#!lambda::typedecl)
         (%#define-runtime !case-lambda::typedecl gxc#!case-lambda::typedecl)
         (%#define-runtime !kw-lambda::typedecl gxc#!kw-lambda::typedecl)
         (%#define-runtime
          !kw-lambda-primary::typedecl
          gxc#!kw-lambda-primary::typedecl)
         (%#define-runtime
          !primitive-predicate::typedecl
          gxc#!primitive-predicate::typedecl))
(%#call (%#ref load-module) (%#quote "gerbil/compiler/optimize~0"))
