root/project_planning/STATUS

Revision 15152, 3.8 kB (checked in by putter, 22 months ago)

project_planning/STATUS - added links to parrot pge rules engine status.

  • Property svn:mime-type set to text/plain; charset=UTF-8
  • Property svn:eol-style set to native
Line 
1WARNING - This file has been out of date for more than a year.
2
3This document contains terse status information on major portions of Pugs.
4Because development is rapid and anarchistic, details are omitted.  If you
5would like current details, please ask on irc.freenode.net #perl6.
6
7
8= Backends
9[correct as of: 2005-10-24]
10
11- Haskell-Old  Working (delta general pugs bugs)
12- Haskell-PIL  Restarted 2005-10-03
13- Java         Nonexistant; partial metamodel implementation nonetheless
14- JavaScript   Passes >90% of main tests (no ext/); missing P6 rules, some
15               builtins, state (needs PIL1 fixes), full OO (needs PIL2)
16- Perl 5       Broken; once passed <50% of main tests (no ext/); inactive;
17               will probably be rewritten around PIL2. [2006-01-30]
18- PIR          Restarted 2005-10-04
19
20
21= PIL Transition
22[correct as of: 2005-10-05]
23
24* autrijus redesigned PIL format (now 'PIL2') in late 2005-07 through 2005-08,
25  but has decided on further improvements after ICFP (beginning of 2005-10)
26* PIL2 infrastructure code restarted as of 2005-10-03
27* PIL2 includes full typing, and is required for full OO, including packages,
28  class declarations, and full use of metamodel
29* Old PIL used by JavaScript and Perl 5 backends, as PIL2 not yet ready
30
31
32= Perl 6 Object Metamodel
33[correct as of: 2005-10-05]
34
35* stevan working on MetalModel 2.0, based on MiniMetaModel, as of 2005-08-22
36* MM2 designed to be cleaner, and as minimalist as possible internally,
37  without significant changes to user-facing MM1 API
38* Completion level varies by backend -- each requires its own variant of
39  the metamodel implemented in the backend language:
40-- Haskell     MM2 development and integration to begin after 6.2.10 release
41-- Java        MM1 in early stages and stalled
42-- JavaScript  MM1 integrated into JS backend, but not bootstrapped like
43               Perl 5 version; needs PIL2 for full OO
44-- Perl 5      MM2 fully integrated; also needs PIL2 for full OO
45-- Perl 6      MM2 rewrite started as of 2005-10-02
46
47
48= Embedding
49
50[correct as of: 2005-10-05]
51- Parrot   Works with Parrot 0.3.0
52[correct as of: 2005-08-10]
53- Perl 5   Works, except that it leaks heavily (refcounts inc but never dec),
54           and exports don't happen -- workaround for latter is to use
55           our &method1 := Perl5::Module::Name.can('method1')
56               or
57           our &method2 := eval('\&Perl5::Module::Name::method', :lang<perl5>)
58
59
60= Laziness
61[correct as of: 2005-10-05]
62
63* Laziness doesn't currently work for some (most?) backends
64* Some lazy functions do exist (e.g. gather/take), but are actually non-lazy
65* Perl 5 backend (PIL-Run) supports laziness very well
66
67
68= Rules
69
70Multiple rules implementations exist.
71
72- On Perl 5:
73[correct as of 2007-01-28]
74Pugs::Compiler::Rule
75http://search.cpan.org/search?query=Pugs%3A%3ACompiler%3A%3ARule&mode=all
76
77- On Parrot:
78[correct as of 2007-01-28]
79PGE
80http://svn.perl.org/parrot/trunk/compilers/pge/STATUS
81http://svn.perl.org/parrot/trunk/compilers/pge/README.pod
82
83- Perl 5 regexen
84[correct as of: 2006-01-30]
85** Work well in default backend, handled by PCRE
86** Mostly working in JS
87** Specified via perl5 modifier, as in rx:perl5/\Afoo/
88
89- Perl 6 rules
90[correct as of: 2006-01-30]
91** Current handled by parrot's PGE, under development; much works, but:
92*** Rule names are global
93*** No support for aliases
94*** No support for embedded closures
95*** Rules do not always behave correctly
96** Other implementations have been started, but are currently inactive.
97
98= Test Suite
99[correct as of: 2006-08-20]
100
101* Currently about 15000 tests, including module tests
102* This is known to be only a small percentage of the total needed to cover
103  the currently available Perl 6 design
104* Automated posting to smoke server (http://smoke.pugscode.org/) now possible
105** Many test reports seem to be very old or out of date.
Note: See TracBrowser for help on using the browser.