[t/spec] Add needed done_testing.
[pugs.git] / project_planning / a_dependency_graph.dot
blob886964c271774640b7591d18268f04067c02298c
1 # see README
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.
8 digraph G {
9 rankdir=LR;
10 node [shape=none];
12 ### End game
14 Xmas [shape=triangle,style="bold,filled",fillcolor=palegreen,color=red];
16 edge [color=blue]
17 node [fontcolor=blue]
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"
21 Documentation
22 Testing
23 "Releasable Perl6"
24 } -> Xmas;
26 "Pugs feature complete" -> {
27 "Releasable on Haskell"
30 subgraph "cluster Releasable" {
31 label=""
32 "All Implementations" [label="*all"];
33 "Releasable on Haskell"
34 "Releasable on Perl5"
35 "Releasable on Parrot"
36 "Releasable on X"
39 edge[style=dashed];
41 "Releasable on Haskell"
42 "Releasable on Perl5"
43 "Releasable on Parrot"
44 "Releasable on X"
45 } -> "Releasable Perl6"
48 ### Rules
50 subgraph "cluster Rules Engine" {
51 label=""
52 edge[style=dashed];
53 "All grammar engines" [label="*all"];
55 "Engine in P5"
56 "Engine in Parrot"
57 "Engine in Hs"
58 "Engine in P6"
59 } -> "Rules Engine in X"
61 "Rules Engine in X" -> {
62 "Parser in P6"
64 "Engine in P6" -> "Parser in P6"
67 "Perl6 Prelude" -> {
68 "Perl6 in P6"
69 "Tailored Preludes"
72 "Prelude override mechanism"
73 } -> "Tailored Preludes" -> {"All Implementations"}
75 "Grammar for Perl6"
76 "Rules Prelude" -> {
77 "Perl6 Prelude"
78 "Engine in P6"
80 "Grammar for Rules" -> {
81 "Grammar for Perl6"
82 "All grammar engines"
83 "Engine in P6"
85 "Grammar for Perl6" -> "Parser in P6"
86 "Parser in P6" -> "Compiler in P6" -> {
87 "Perl6 in P6"
90 ### Testing
93 "Many more tests"
94 "Platform specific todos"
95 "YAML-based test framework"
96 } -> Testing
98 ### Specification
100 Specification -> {
101 "Perl6 Prelude"
102 Testing
105 "Spec Math"
106 "Event model"
107 "IO model"
108 } -> Specification
109 "Drive spec with backends" -> {
110 "Event model"
111 "IO model"
113 "Drive spec with pugs" -> {
114 "Spec Math"
117 ### Documentation
120 "Docs processing and release mechanism"
121 Specification
122 } -> Documentation
125 ###
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 **" -> {
142 "Compiler in P6"
145 "OO AST" -> {
146 "Begin core of Compiler in P6"
148 "Begin core of Compiler in P6" -> "Compiler in P6"
150 "OO AST" -> "PIL2JS supports objects"
152 "OO AST"
153 "Meta-model"
154 } -> "OO core defined" -> {
155 "PIL2JS supports objects"
158 "OO core defined"
159 "Spec MMDispatch"
161 "unflatten primitive names"
162 } -> "6.28: Classes and traits" -> {
165 "Rules Engine in X"
166 "Rules Prelude"
167 } -> "6.283: Rules and Grammars" -> {
170 "Typed AST"
171 } -> "6.2831: Type system and linking" -> {
174 "Full AST"
175 } -> "6.28318: Macros" -> {
177 "6.283185: Port Pugs to Perl 6" -> "Perl6 in P6" -> "All Implementations"
179 "v6-alpha" -> "Releasable on Perl5"
181 ### fglock
184 "OO core defined"
185 kp6 [URL="http://svn.pugscode.org/pugs/v6/v6-KindaPerl6/"]
186 } -> "kp6 with real OO" -> {
187 "6-on-6"
188 "Have backends"
190 "6-on-6" -> {
191 "v6-alpha" [URL="http://svn.pugscode.org/pugs/perl5/Pugs-Compiler-Perl6/"]
192 "Perl6 in P6"
195 ### parrot
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"
201 label=""
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="?"];