3 # What are those
"kludge" nodes? Adding edges to the parrot milestone
4 # nodes results either in the parrot nodes being scattered
, or in the
5 # pugs task
graph being unacceptably distorted
. So
"duplicate nodes"
6 # were added and named kludge
.
14 Xmas [
shape=
triangle,style=
"bold,filled",fillcolor=
palegreen,color=
red]
;
18 "6.28: Classes and traits" -> "6.283: Rules and Grammars" -> "6.2831: Type system and linking" -> "6.28318: Macros" -> "Pugs feature complete" -> "6.283185: Port Pugs to Perl 6"
26 "Pugs feature complete" -> {
27 "Releasable on Haskell"
30 subgraph "cluster Releasable" {
32 "All Implementations" [
label=
"*all"]
;
33 "Releasable on Haskell"
35 "Releasable on Parrot"
41 "Releasable on Haskell"
43 "Releasable on Parrot"
45 }
-> "Releasable Perl6"
50 subgraph "cluster Rules Engine" {
53 "All grammar engines" [
label=
"*all"]
;
59 }
-> "Rules Engine in X"
61 "Rules Engine in X" -> {
64 "Engine in P6" -> "Parser in P6"
72 "Prelude override mechanism"
73 }
-> "Tailored Preludes" -> {
"All Implementations"}
80 "Grammar for Rules" -> {
85 "Grammar for Perl6" -> "Parser in P6"
86 "Parser in P6" -> "Compiler in P6" -> {
94 "Platform specific todos"
95 "YAML-based test framework"
109 "Drive spec with backends" -> {
113 "Drive spec with pugs" -> {
120 "Docs processing and release mechanism"
128 "6.28: Classes and traits"
129 }
-> "Pugs parrot backend (with OO) **"
131 kludge0 [
label=
"Pugs parrot backend (with OO) **"]
132 parrot_milestone_2
-> kludge0
133 parrot_milestone_3
-> kludge0
136 "PIL2JS supports objects"
137 "Pugs parrot backend (with OO) **"
138 }
-> "Have backends" -> "Drive spec with backends"
140 "Move Hs primitives to Prelude" -> {
"Perl6 Prelude" }
141 "OO AST" -> "Typed AST" -> "Full AST" -> "Unified AST **" -> {
146 "Begin core of Compiler in P6"
148 "Begin core of Compiler in P6" -> "Compiler in P6"
150 "OO AST" -> "PIL2JS supports objects"
154 }
-> "OO core defined" -> {
155 "PIL2JS supports objects"
161 "unflatten primitive names"
162 }
-> "6.28: Classes and traits" -> {
167 }
-> "6.283: Rules and Grammars" -> {
171 }
-> "6.2831: Type system and linking" -> {
175 }
-> "6.28318: Macros" -> {
177 "6.283185: Port Pugs to Perl 6" -> "Perl6 in P6" -> "All Implementations"
179 "v6-alpha" -> "Releasable on Perl5"
185 kp6 [
URL=
"http://svn.pugscode.org/pugs/v6/v6-KindaPerl6/"]
186 }
-> "kp6 with real OO" -> {
191 "v6-alpha" [
URL=
"http://svn.pugscode.org/pugs/perl5/Pugs-Compiler-Perl6/"]
197 # http
://www.perlfoundation.org/gc/grants/2005-p6-proposal.html
199 subgraph "cluster Parrot stuff" {
200 URL=
"http://www.perlfoundation.org/gc/grants/2005-p6-proposal.html"
203 milestone_4 [
label=
"Parrot 1.0\nParrot Milestone 4\nGrammar Engine\nMilestone 4"]
;
205 ge_milestone_1 [
label=
"Grammar Engine\nMilestone 1\nengine/grammar/parser"]
206 ge_milestone_2 [
label=
"Grammar Engine\nMilestone 2\nemit AST"]
;
207 ge_milestone_3 [
label=
"Grammar Engine\nMilestone 3\nconverge"]
;
208 parrot_milestone_1 [
label=
"Parrot Milestone 1\nAPIs"]
;
209 parrot_milestone_2 [
label=
"Parrot Milestone 2\nstubs"]
;
210 parrot_milestone_3 [
label=
"Parrot Milestone 3\nworks"]
;
211 parrot_milestone_1
-> ge_milestone_2
213 ge_milestone_1
-> ge_milestone_2
-> ge_milestone_3
-> milestone_4
215 parrot_milestone_1
-> parrot_milestone_2
-> parrot_milestone_3
-> milestone_4
-> "Releasable on Parrot"
218 kludge1 [
label=
"Unified AST **"]
219 kludge1
-> ge_milestone_2
-> kludge1
220 kludge1
-> ge_milestone_3
-> kludge1
223 # Q [
shape=
circle,style=
filled,color=
pink,label=
"?"]
;