prelude: :gerbil/core
package: gerbil/runtime
namespace: #f

(%#begin (%#export #t)
         (%#import
          :gerbil/runtime/gambit
          :gerbil/runtime/util
          :gerbil/runtime/table
          :gerbil/runtime/c3)
         (%#define-runtime type-flag-opaque type-flag-opaque)
         (%#define-runtime type-flag-extensible type-flag-extensible)
         (%#define-runtime type-flag-macros type-flag-macros)
         (%#define-runtime type-flag-concrete type-flag-concrete)
         (%#define-runtime type-flag-id type-flag-id)
         (%#define-runtime class-type-flag-struct class-type-flag-struct)
         (%#define-runtime class-type-flag-sealed class-type-flag-sealed)
         (%#define-runtime class-type-flag-metaclass class-type-flag-metaclass)
         (%#define-runtime class-type-flag-system class-type-flag-system)
         (%#define-runtime t::t t::t)
         (%#define-runtime class::t class::t)
         (%#define-runtime object::t object::t)
         (%#define-runtime class-type? class-type?)
         (%#define-runtime class-type=? class-type=?)
         (%#define-runtime __class-type=? __class-type=?)
         (%#begin (%#begin-syntax
                   (%#call (%#ref load-module)
                           (%#quote "gerbil/runtime/mop~1")))
                  (%#define-syntax fxflag-set? |[:0:]#fxflag-set?|))
         (%#define-syntax fxflag-unset? |[:0:]#fxflag-unset?|)
         (%#define-runtime type-opaque? type-opaque?)
         (%#define-runtime __type-opaque? __type-opaque?)
         (%#define-runtime type-extensible? type-extensible?)
         (%#define-runtime __type-extensible? __type-extensible?)
         (%#define-runtime class-type-final? class-type-final?)
         (%#define-runtime __class-type-final? __class-type-final?)
         (%#define-runtime class-type-struct? class-type-struct?)
         (%#define-runtime __class-type-struct? __class-type-struct?)
         (%#define-runtime class-type-sealed? class-type-sealed?)
         (%#define-runtime __class-type-sealed? __class-type-sealed?)
         (%#define-runtime class-type-metaclass? class-type-metaclass?)
         (%#define-runtime __class-type-metaclass? __class-type-metaclass?)
         (%#define-runtime class-type-system? class-type-system?)
         (%#define-runtime __class-type-system? __class-type-system?)
         (%#define-runtime
          make-class-type-descriptor
          make-class-type-descriptor)
         (%#define-syntax defrefset |[:0:]#defrefset|)
         (%#define-syntax defrefset* |[:0:]#defrefset*|)
         (%#define-runtime class-type-id class-type-id)
         (%#define-runtime &class-type-id &class-type-id)
         (%#define-runtime class-type-id-set! class-type-id-set!)
         (%#define-runtime &class-type-id-set! &class-type-id-set!)
         (%#define-runtime class-type-name class-type-name)
         (%#define-runtime &class-type-name &class-type-name)
         (%#define-runtime class-type-name-set! class-type-name-set!)
         (%#define-runtime &class-type-name-set! &class-type-name-set!)
         (%#define-runtime class-type-flags class-type-flags)
         (%#define-runtime &class-type-flags &class-type-flags)
         (%#define-runtime class-type-flags-set! class-type-flags-set!)
         (%#define-runtime &class-type-flags-set! &class-type-flags-set!)
         (%#define-runtime class-type-super class-type-super)
         (%#define-runtime &class-type-super &class-type-super)
         (%#define-runtime class-type-super-set! class-type-super-set!)
         (%#define-runtime &class-type-super-set! &class-type-super-set!)
         (%#define-runtime class-type-fields class-type-fields)
         (%#define-runtime &class-type-fields &class-type-fields)
         (%#define-runtime class-type-fields-set! class-type-fields-set!)
         (%#define-runtime &class-type-fields-set! &class-type-fields-set!)
         (%#define-runtime
          class-type-precedence-list
          class-type-precedence-list)
         (%#define-runtime
          &class-type-precedence-list
          &class-type-precedence-list)
         (%#define-runtime
          class-type-precedence-list-set!
          class-type-precedence-list-set!)
         (%#define-runtime
          &class-type-precedence-list-set!
          &class-type-precedence-list-set!)
         (%#define-runtime class-type-slot-vector class-type-slot-vector)
         (%#define-runtime &class-type-slot-vector &class-type-slot-vector)
         (%#define-runtime
          class-type-slot-vector-set!
          class-type-slot-vector-set!)
         (%#define-runtime
          &class-type-slot-vector-set!
          &class-type-slot-vector-set!)
         (%#define-runtime class-type-slot-table class-type-slot-table)
         (%#define-runtime &class-type-slot-table &class-type-slot-table)
         (%#define-runtime
          class-type-slot-table-set!
          class-type-slot-table-set!)
         (%#define-runtime
          &class-type-slot-table-set!
          &class-type-slot-table-set!)
         (%#define-runtime class-type-properties class-type-properties)
         (%#define-runtime &class-type-properties &class-type-properties)
         (%#define-runtime
          class-type-properties-set!
          class-type-properties-set!)
         (%#define-runtime
          &class-type-properties-set!
          &class-type-properties-set!)
         (%#define-runtime class-type-constructor class-type-constructor)
         (%#define-runtime &class-type-constructor &class-type-constructor)
         (%#define-runtime
          class-type-constructor-set!
          class-type-constructor-set!)
         (%#define-runtime
          &class-type-constructor-set!
          &class-type-constructor-set!)
         (%#define-runtime class-type-methods class-type-methods)
         (%#define-runtime &class-type-methods &class-type-methods)
         (%#define-runtime class-type-methods-set! class-type-methods-set!)
         (%#define-runtime &class-type-methods-set! &class-type-methods-set!)
         (%#define-runtime class-type-slot-list class-type-slot-list)
         (%#define-runtime __class-type-slot-list __class-type-slot-list)
         (%#define-runtime class-type-field-count class-type-field-count)
         (%#define-runtime __class-type-field-count __class-type-field-count)
         (%#define-runtime class-type-seal! class-type-seal!)
         (%#define-runtime __class-type-seal! __class-type-seal!)
         (%#define-runtime substruct? substruct?)
         (%#define-runtime __substruct? __substruct?)
         (%#define-runtime base-struct/1 base-struct/1)
         (%#define-runtime base-struct/2 base-struct/2)
         (%#define-runtime base-struct/list base-struct/list)
         (%#define-runtime base-struct base-struct)
         (%#define-runtime find-super-constructor find-super-constructor)
         (%#define-runtime compute-class-slots compute-class-slots)
         (%#define-runtime make-class-type make-class-type)
         (%#define-runtime __make-class-type __make-class-type)
         (%#define-runtime class-precedence-list class-precedence-list)
         (%#define-runtime __class-precedence-list __class-precedence-list)
         (%#define-runtime compute-precedence-list compute-precedence-list)
         (%#define-runtime make-class-predicate make-class-predicate)
         (%#define-runtime __make-class-predicate __make-class-predicate)
         (%#define-syntax if-class-slot-field |[:0:]#if-class-slot-field|)
         (%#define-runtime make-class-slot-accessor make-class-slot-accessor)
         (%#define-runtime
          __make-class-slot-accessor
          __make-class-slot-accessor)
         (%#define-runtime make-class-slot-mutator make-class-slot-mutator)
         (%#define-runtime __make-class-slot-mutator __make-class-slot-mutator)
         (%#define-runtime
          make-class-slot-unchecked-accessor
          make-class-slot-unchecked-accessor)
         (%#define-runtime
          __make-class-slot-unchecked-accessor
          __make-class-slot-unchecked-accessor)
         (%#define-runtime
          make-class-slot-unchecked-mutator
          make-class-slot-unchecked-mutator)
         (%#define-runtime
          __make-class-slot-unchecked-mutator
          __make-class-slot-unchecked-mutator)
         (%#begin (%#define-runtime not-an-instance__% not-an-instance__%)
                  (%#begin (%#define-runtime
                            not-an-instance__0
                            not-an-instance__0)
                           (%#define-runtime not-an-instance not-an-instance)))
         (%#define-runtime make-final-slot-accessor make-final-slot-accessor)
         (%#define-runtime make-final-slot-mutator make-final-slot-mutator)
         (%#define-runtime make-struct-slot-accessor make-struct-slot-accessor)
         (%#define-runtime make-struct-slot-mutator make-struct-slot-mutator)
         (%#define-runtime
          make-struct-slot-unchecked-accessor
          make-struct-slot-unchecked-accessor)
         (%#define-runtime
          make-struct-slot-unchecked-mutator
          make-struct-slot-unchecked-mutator)
         (%#define-runtime
          make-struct-subclass-slot-accessor
          make-struct-subclass-slot-accessor)
         (%#define-runtime
          make-struct-subclass-slot-mutator
          make-struct-subclass-slot-mutator)
         (%#define-runtime
          make-class-cached-slot-accessor
          make-class-cached-slot-accessor)
         (%#define-runtime
          make-class-cached-slot-mutator
          make-class-cached-slot-mutator)
         (%#define-runtime
          make-class-cached-slot-unchecked-accessor
          make-class-cached-slot-unchecked-accessor)
         (%#define-runtime
          make-class-cached-slot-unchecked-mutator
          make-class-cached-slot-unchecked-mutator)
         (%#define-runtime class-slot-offset class-slot-offset)
         (%#define-runtime __class-slot-offset __class-slot-offset)
         (%#define-runtime class-slot-ref class-slot-ref)
         (%#define-runtime __class-slot-ref __class-slot-ref)
         (%#define-runtime class-slot-set! class-slot-set!)
         (%#define-runtime __class-slot-set! __class-slot-set!)
         (%#define-runtime unchecked-field-ref unchecked-field-ref)
         (%#define-runtime unchecked-field-set! unchecked-field-set!)
         (%#define-runtime unchecked-slot-ref unchecked-slot-ref)
         (%#define-runtime unchecked-slot-set! unchecked-slot-set!)
         (%#define-syntax __slot-e |[:0:]#__slot-e|)
         (%#begin (%#define-runtime slot-ref__% slot-ref__%)
                  (%#begin (%#define-runtime slot-ref__0 slot-ref__0)
                           (%#define-runtime slot-ref slot-ref)))
         (%#begin (%#define-runtime __slot-ref__% __slot-ref__%)
                  (%#begin (%#define-runtime __slot-ref__0 __slot-ref__0)
                           (%#define-runtime __slot-ref __slot-ref)))
         (%#begin (%#define-runtime slot-set!__% slot-set!__%)
                  (%#begin (%#define-runtime slot-set!__0 slot-set!__0)
                           (%#define-runtime slot-set! slot-set!)))
         (%#begin (%#define-runtime __slot-set!__% __slot-set!__%)
                  (%#begin (%#define-runtime __slot-set!__0 __slot-set!__0)
                           (%#define-runtime __slot-set! __slot-set!)))
         (%#define-runtime __slot-error __slot-error)
         (%#define-runtime subclass? subclass?)
         (%#define-runtime __subclass? __subclass?)
         (%#define-runtime object? object?)
         (%#define-runtime object-type object-type)
         (%#define-runtime direct-instance? direct-instance?)
         (%#define-runtime __direct-instance? __direct-instance?)
         (%#define-runtime immediate-instance-of? immediate-instance-of?)
         (%#define-runtime struct-instance? struct-instance?)
         (%#define-runtime __struct-instance? __struct-instance?)
         (%#define-runtime class-instance? class-instance?)
         (%#define-runtime __class-instance? __class-instance?)
         (%#define-runtime make-object make-object)
         (%#define-runtime __make-object __make-object)
         (%#define-runtime object-fill! object-fill!)
         (%#define-runtime __object-fill! __object-fill!)
         (%#define-runtime new-instance new-instance)
         (%#define-runtime __new-instance __new-instance)
         (%#define-runtime make-instance make-instance)
         (%#define-runtime __make-instance __make-instance)
         (%#define-runtime make-class-instance make-class-instance)
         (%#define-runtime struct-instance-init! struct-instance-init!)
         (%#define-runtime __struct-instance-init! __struct-instance-init!)
         (%#define-runtime ___struct-instance-init! ___struct-instance-init!)
         (%#define-runtime class-instance-init! class-instance-init!)
         (%#define-runtime __class-instance-init! __class-instance-init!)
         (%#define-runtime ___class-instance-init! ___class-instance-init!)
         (%#define-runtime
          __metaclass-instance-init!
          __metaclass-instance-init!)
         (%#define-runtime constructor-init! constructor-init!)
         (%#define-runtime __constructor-init! __constructor-init!)
         (%#define-runtime ___constructor-init! ___constructor-init!)
         (%#define-runtime struct-copy struct-copy)
         (%#define-runtime __struct-copy __struct-copy)
         (%#define-runtime struct->list struct->list)
         (%#define-runtime __struct->list __struct->list)
         (%#define-runtime class->list class->list)
         (%#define-runtime __class->list __class->list)
         (%#define-runtime call-method call-method)
         (%#define-runtime __call-method __call-method)
         (%#define-runtime method-ref method-ref)
         (%#define-runtime __method-ref __method-ref)
         (%#define-runtime checked-method-ref checked-method-ref)
         (%#define-runtime bound-method-ref bound-method-ref)
         (%#define-runtime __bound-method-ref __bound-method-ref)
         (%#define-runtime checked-bound-method-ref checked-bound-method-ref)
         (%#define-runtime
          __checked-bound-method-ref
          __checked-bound-method-ref)
         (%#define-runtime find-method find-method)
         (%#define-runtime __find-method __find-method)
         (%#define-runtime mixin-find-method mixin-find-method)
         (%#define-runtime __mixin-find-method __mixin-find-method)
         (%#define-runtime direct-method-ref direct-method-ref)
         (%#define-runtime __direct-method-ref __direct-method-ref)
         (%#define-runtime mixin-method-ref mixin-method-ref)
         (%#define-runtime __mixin-method-ref __mixin-method-ref)
         (%#begin (%#define-runtime bind-method!__% bind-method!__%)
                  (%#begin (%#define-runtime bind-method!__0 bind-method!__0)
                           (%#define-runtime bind-method! bind-method!)))
         (%#begin (%#define-runtime __bind-method!__% __bind-method!__%)
                  (%#begin (%#define-runtime
                            __bind-method!__0
                            __bind-method!__0)
                           (%#define-runtime __bind-method! __bind-method!)))
         (%#begin (%#define-runtime
                   make-method-specializer-table__%
                   make-method-specializer-table__%)
                  (%#begin (%#define-runtime
                            make-method-specializer-table__0
                            make-method-specializer-table__0)
                           (%#define-runtime
                            make-method-specializer-table__1
                            make-method-specializer-table__1)
                           (%#define-runtime
                            make-method-specializer-table
                            make-method-specializer-table)))
         (%#define-runtime
          method-specializer-table-ref
          method-specializer-table-ref)
         (%#define-runtime
          method-specializer-table-set!
          method-specializer-table-set!)
         (%#define-runtime
          __method-specializer-table-set!
          __method-specializer-table-set!)
         (%#define-runtime
          method-specializer-table-update!
          method-specializer-table-update!)
         (%#define-runtime
          __method-specializer-table-update!
          __method-specializer-table-update!)
         (%#define-runtime
          method-specializer-table-delete!
          method-specializer-table-delete!)
         (%#define-runtime __method-specializers __method-specializers)
         (%#define-runtime __method-specializers-mx __method-specializers-mx)
         (%#define-runtime bind-specializer! bind-specializer!)
         (%#define-runtime
          __lookup-method-specializer
          __lookup-method-specializer)
         (%#define-runtime
          __class-specializer-hash-key
          __class-specializer-hash-key)
         (%#begin (%#define-runtime
                   make-class-specializer-table__%
                   make-class-specializer-table__%)
                  (%#begin (%#define-runtime
                            make-class-specializer-table__0
                            make-class-specializer-table__0)
                           (%#define-runtime
                            make-class-specializer-table__1
                            make-class-specializer-table__1)
                           (%#define-runtime
                            make-class-specializer-table
                            make-class-specializer-table)))
         (%#define-runtime
          class-specializer-table-ref
          class-specializer-table-ref)
         (%#define-runtime
          class-specializer-table-set!
          class-specializer-table-set!)
         (%#define-runtime
          __class-specializer-table-set!
          __class-specializer-table-set!)
         (%#define-runtime
          class-specializer-table-update!
          class-specializer-table-update!)
         (%#define-runtime
          __class-specializer-table-update!
          __class-specializer-table-update!)
         (%#define-runtime
          class-specializer-table-delete!
          class-specializer-table-delete!)
         (%#define-runtime __class-specializers-mx __class-specializers-mx)
         (%#define-runtime __class-specializers __class-specializers)
         (%#define-runtime __class-specializers-key __class-specializers-key)
         (%#define-runtime specialize-class specialize-class)
         (%#define-runtime __specialize-class __specialize-class)
         (%#define-runtime
          __lookup-class-specializer
          __lookup-class-specializer)
         (%#define-runtime __bind-class-specializer! __bind-class-specializer!)
         (%#define-runtime __specialize-method __specialize-method)
         (%#define-runtime ___specialize-class ___specialize-class)
         (%#define-runtime seal-class! seal-class!)
         (%#define-runtime __seal-class! __seal-class!)
         (%#define-runtime next-method next-method)
         (%#define-runtime __next-method __next-method)
         (%#define-runtime call-next-method call-next-method)
         (%#define-runtime __call-next-method __call-next-method)
         (%#define-runtime write-style write-style)
         (%#define-runtime write-object write-object)
         (%#define-runtime __shadow-classes __shadow-classes)
         (%#define-runtime __shadow-classes-mx __shadow-classes-mx)
         (%#define-runtime __shadow-class __shadow-class)
         (%#define-runtime class-of class-of)
         (%#define-runtime __subtype-id __subtype-id)
         (%#define-syntax defsubtype |[:0:]#defsubtype|)
         (%#define-runtime __system-classes __system-classes)
         (%#define-runtime __system-class __system-class)
         (%#define-syntax defsystem-class |[:0:]#defsystem-class|)
         (%#define-runtime __make-system-class __make-system-class)
         (%#define-syntax defshadow-class |[:0:]#defshadow-class|))
(%#call (%#ref load-module) (%#quote "gerbil/runtime/mop~0"))
