Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 159 lines (93 sloc) 4.466 kB
311ba52 @sorear Reorganize and combine TODO lists
authored
1 Here are a bunch of project ideas, both for me and for anyone else who
2 wants to help out. Starred items are ones I've already spent time
f47e045 @sorear Add priority stuff to TODO
authored
3 thinking about; check with me if you want to build on that. Plussed
55abf9d @sorear Add TODO items for features used by Yapsi
authored
4 items are required for yapsi.
311ba52 @sorear Reorganize and combine TODO lists
authored
5
6 EASY
7
55abf9d @sorear Add TODO items for features used by Yapsi
authored
8 + &prompt
9
10 + $*PROGRAM_NAME
11
12 + Cursor.CURSOR should be a no-op
13
14 + when {} shouldn't disrupt flow of $_
15
16 + .parse should set $/
17
18 + Str.subst
19
20 + ClassHOW.can
21
22 + $*OUT
23
311ba52 @sorear Reorganize and combine TODO lists
authored
24 Add your favorite missing function to the setting, with tests.
25 In particular, I could use: sprintf, dir, write, close, split, ...
26
27 Add $*ARGFILES, %*ENV, your favorite other *-var.
28
7e0a0a2 @sorear Add a couple more TODO items
authored
29 Give labels methods to invoke control operations.
30
31 Implement Sub.leave and CallFrame.leave
32
311ba52 @sorear Reorganize and combine TODO lists
authored
33 Add more benchmarks to perf/.
34
7e0a0a2 @sorear Add a couple more TODO items
authored
35 Character class expressions like [[a .. A] & [\W]]
36
37 ::> cut syntax.
38
311ba52 @sorear Reorganize and combine TODO lists
authored
39 Binding to values like @PROCESS::ARGS doesn't contextualize correctly. Fix.
40
7e0a0a2 @sorear Add a couple more TODO items
authored
41 Fudge and run your favorite spectest file.
42
8840f61 @sorear Eliminate the lexical/let punning horror
authored
43 Stuff spectests are blocking on: "Block", "&hash", "writable $_",
ac5d754 @sorear Initial implementations of unless and loop
authored
44 "closure for", "ranges of chars", "gather for",
3e24c39 @sorear Add new test files and TODOs for today
authored
45
46 At least parsing Int et al on my-decls would help a lot
47
311ba52 @sorear Reorganize and combine TODO lists
authored
48 MEDIUM
49
55abf9d @sorear Add TODO items for features used by Yapsi
authored
50 + qx[]
51
52 + $obj.?method
53
54 + has @!foo; (needs to ignore types for now)
55
56 + &hyperunary
57
58 + Correct speccy &first
59
60 + for-loops with multiple parameters
61
7e0a0a2 @sorear Add a couple more TODO items
authored
62 Implement your favorite ?-vars.
63
64 Finish the set of Num operators, includig number-theoretic and
65 transcedental functions.
66
67 *Implement &?BLOCK and &?ROUTINE.
68
69 Break down Sub into a hierarchy Code->Block->Routine->Sub->Method.
70
311ba52 @sorear Reorganize and combine TODO lists
authored
71 Implement buffer types and binary I/O.
72
73 Implement a general socket API.
74
75 Design and implement a generic system for multiplexed and non-blocking I/O.
76
77 *CATCH and CONTROL blocks.
78
55abf9d @sorear Add TODO items for features used by Yapsi
authored
79 Jump table optimization for when chains.
311ba52 @sorear Reorganize and combine TODO lists
authored
80
55abf9d @sorear Add TODO items for features used by Yapsi
authored
81 Find out what readonly subs are supposed to do with lists, etc and implement
311ba52 @sorear Reorganize and combine TODO lists
authored
82 that. Also add return-rw, take-rw, and the is rw trait for subs and attrs.
83
84 *Implement BUILD submethod calling.
85
86 Methods with variable names need to call the correct action method. (See
87 the horrible hack in NieczaActions.FALLBACK).
88
89 Audit accelerated context routines for correct undefined value and odd
90 representation handling. +Num shouldn't crash, etc.
91
92 HARD
93
55abf9d @sorear Add TODO items for features used by Yapsi
authored
94 + subset declarations.
95
311ba52 @sorear Reorganize and combine TODO lists
authored
96 Design and implement some sort of NFG thing that allows use codes, graphs,
97 etc and handles canonical equivalence in regexes.
98
7e0a0a2 @sorear Add a couple more TODO items
authored
99 Determine the best way to map Perl6 process-think onto Windows/.NET
100 process think. Then implement &run, &runinstead, and &rungather.
101
55abf9d @sorear Add TODO items for features used by Yapsi
authored
102 Replace nam with something that doesn't use as much memory. (Talk to
311ba52 @sorear Reorganize and combine TODO lists
authored
103 pmurias to get his experiences.)
104
55abf9d @sorear Add TODO items for features used by Yapsi
authored
105 +*Implement junctions. You'll need to add some slightly tricky code
311ba52 @sorear Reorganize and combine TODO lists
authored
106 on the slow path of nominal type checks. You will also need to fix
107 the optimized builtins to use nominal type checking. Bonus points
108 if the optimizer can turn if $x == any(1,3,5) into a loop.
109
55abf9d @sorear Add TODO items for features used by Yapsi
authored
110 +*Implement multiple dispatch.
311ba52 @sorear Reorganize and combine TODO lists
authored
111
404eec8 @sorear Implement $.foo, @.foo contextness
authored
112 *Create multiple numeric types with sensible overloads between them. Add
113 more numeric operators.
114
311ba52 @sorear Reorganize and combine TODO lists
authored
115 Niecza is probably the ideal platform for prototyping a concurrency
116 system which will whirlpool back into the synopses.
117
118 *Parallel hyperops! Read the Cilk papers, they seem to have a data
119 parallelism model most similar to what Perl 6 needs.
120
121 Understand the Str/Stringy distinctions, and improve stringification
122 and numification handling for Any. Develop a warning system.
123
124 *Explicitly imprecise error reporting. In many circumstances niecza
125 doesn't actually have an exact line number; it should be able to
126 report a range.
127
128 Design something to take the place of STD's :$*endsym, probably as
129 a trait of some kind.
130
131 Design something to deal with the last remnants of cursor mutability
132 in STD.pm6.
133
55abf9d @sorear Add TODO items for features used by Yapsi
authored
134 *"Immediate mode metamodel" - Metamodel::StaticSub object should be
311ba52 @sorear Reorganize and combine TODO lists
authored
135 constructed by the closing brace at the latest. This will require
136 a lot of STD hacking and is required for BEGIN to work.
137
f47e045 @sorear Add priority stuff to TODO
authored
138 Study Nil and find the correct way to integrate it into Niecza.
139
7e0a0a2 @sorear Add a couple more TODO items
authored
140 Add a JVM backend.
141
142 Add a Parrot backend.
143
311ba52 @sorear Reorganize and combine TODO lists
authored
144 NASTY
145
7e0a0a2 @sorear Add a couple more TODO items
authored
146 A multicore job scheduler would be cool. You'll need to talk with
311ba52 @sorear Reorganize and combine TODO lists
authored
147 TimToady on dependency extraction; there are some subtle points with
148 modules that export slangs.
149
150 *Figure out how eval can possibly work. Do it.
151
152 *Figure out how BEGIN can possibly work. Do it.
7e0a0a2 @sorear Add a couple more TODO items
authored
153
154 Native type support.
155
156 SIMD hyperoperators.
157
158 Export Perl 6 code into a CLR .dll
Something went wrong with that request. Please try again.