SMOP is a polymorphic meta-OO runtime library and specification. Although some default implementations are presented here, they are entirely optional. base - This module is actually composed only of the basic headers that define SMOP__Object* and SMOP__ResponderInterface* along with its respective macros. Theoretically, two SMOP objects can interoperate even without linking the same libraries. s0native - This module contains the stage 0 native types, they are packaged separated because they are not subject to garbage collection, and because of its importance to everything else, it builds libsmop-s0native. It contains: - bool - idconst (including the definition of some common used values) - empty interpreter (used as a short-circuit so you know there isn't one) nagc - This module implements the garbage collector for native types. It defines an additional member in the ResponderInterface of the types that use it that is called during destruction, as opposed to calling the DESTROYALL method. util capture - This module implements the native capture which is the base for the implementation of smop method calls. It is packaged separatedly because it is needed for far too many types. interpreter - In SMOP the interpreter is really just the container for the current continuation. It delegates the runloop to the continuation classes. mold - This is the default continuation class. It is a register-based bytecode interpreter. native - This module contains the regular native types, subject to garbage collection. s1p - This module contains simplification of Perl 6 types that exist for bootstrapping purposes: * SMOP::S1P::Scalar * SMOP::S1P::Array * SMOP::S1P::Array::BValue * SMOP::S1P::Hash * SMOP::S1P::Hash::BValue * SMOP::S1P::LexicalScope * SMOP::S1P::LexicalScope::Flattened * SMOP::S1P::Package * SMOP::S1P::Signature::Adhoc * SMOP::S1P::Signature::BindCapture * SMOP::S1P::Signature::BlockDefault * SMOP::S1P::Code * SMOP::S1P::Code::NativeC * SMOP::S1P::Capturize * SMOP::S1P::RITest * SMOP::S1P::ControlExceptionReturn * SMOP::S1P::OutOfItemsException p6opaque - This is the default representation for Perl 6 objects. It should support storing all kinds of meta information required by the Perl 6 default object system. It invokes the DESTROYALL method during its destruction. s1p-oo - This module contains types that aid OO bootstrapping * SMOP::S1P::PrototypeHOW * SMOP::S1P::RoleHOW * SMOP::S1P::Attribute * SMOP::S1P::Signature::MethodDefault core - This module contains the code for the core loading. * SMOP::S1P::MildewSOLoader pcl - libpcl integration p5 - embedded p5