|
Perl 6
SMOP: Revision 6
Simple Meta Object Programming / Simple Matter Of ProgrammingSMOP is an alternative implementation of a C engine to run Perl 6. It is focused in getting the most pragmatic approach possible, but still focusing in being able to support all Perl 6 features. Its core resembles Perl 5 in some ways, and it differs from Parrot in many ways, including the fact that SMOP is not a Virtual Machine. SMOP is simply a runtime engine that happens to have a interpreter run loop. Important topics on SMOP
Other matters
SMOP Development ROADMAPIn order to keep this simple, the ROADMAP will stay here and will be edited as needed. sm0p - Lame Default SMOP Interpreter Implementation0.1.0 - Port YAP6__CORE__Value code to SMOP__Object code. 0.1.1 - SMOP STACK prototypes and lowlevel operators 0.1.1.1 - Capture type (lowlevel implementation) S1P - Read it "Swamp"0.1.1.2 - Signature type (lowlevel implementation)0.1.1.3 - Code type (lowlevel implementation) 0.1.1.4 - Sub type (lowlevel implementation) 0.1.1.5 - Multi Sub type (definition) 0.1.1.6 - multi sub infix:<~~> ( Signature, Capture ) 0.1.1.7 - Multi Sub (lowlevel implementation) 0.1.1.8 - Some operators (the ones kp6 uses?) 0.1.1.9 - int type (lowlevel implementation) 0.1.1.10 - bytes type (lowlevel byte buffer)
0.1.1.11 - "Identifier Name Constant" type and the definition 0.1.1.12 - multi sub infix:<~~> ( IdentifierNameConstant, IdentifierNameConstant ) 0.1.1.13 - multi sub say ( bytes ) 0.1.1.14 - An equivalent to: say 'Hello World'; 0.1.2 - S1P language Completing SMOP runtime0.1.3 - SMOP NATIVE prototypes and lowlevel operators 0.1.4 - Undef builtin types. 0.1.5 - Immutable builtin types. 0.1.6 - Mutable builtin types. 0.1.7 - Lexical Scope / Namespaces. Perl 6 SMOP0.1.8 - AST types. 0.2.0 - AST -> Stack runtime transformation (real interpreter) 0.2.1 - KP6 backend 0.2.2 - KP6 can compile grammars to SMOP 0.3.0 - KP6 grammar compiled 0.4.0 - KP6 bootstrapped in SMOP 1.0.0 - STD ported to SMOP Other Featuresx.x.x - perl5 embedded - libperl x.x.x - parrot embedded - libparrot x.x.x - python embedded (stackless python?) x.x.x - jvm embedded - libgcj x.x.x - spidermonkey embedded - libmoz-js SMOP ChangelogUsually, things from ROADMAP should come to here when its done. See also the Old YAP6 Changelog. |