Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100755 148 lines (82 sloc) 2.98 kb
8f67bea @fglock Perlito version 8.0
authored
1 TODO list for Perlito5
2
e4641d7 @fglock Perlito - extensive TODO update
authored
3 * Perlito5
4
42a3449 @fglock Perlito5 - TODO update
authored
5 - fix regex delimiters, or escape the regexes
e4641d7 @fglock Perlito - extensive TODO update
authored
6
7
c07de6d @fglock Perlito5 - TODO update
authored
8 * basic functionality
9
bb1a87d @fglock Perlito5 - remove "hyper"
authored
10 -- add "map" block
11
12 -- add "grep", "sort"
c07de6d @fglock Perlito5 - TODO update
authored
13
0cc64c5 @fglock Perlito5 - kill perl6-ish "method"
authored
14 -- add "require"
15
0718f37 @fglock Perlito5 - javascript: TODO update
authored
16 -- add "print" special parsing
17
0cc64c5 @fglock Perlito5 - kill perl6-ish "method"
authored
18
8f67bea @fglock Perlito version 8.0
authored
19 * libraries
20
3004b77 @fglock Perlito5 - cleanup, update TODO
authored
21 -- these should probably go into namespace Perlito5X::*
22
ce7ce91 @fglock Perlito - TODO update
authored
23 -- Test (implemented as Perlito5::Test)
3004b77 @fglock Perlito5 - cleanup, update TODO
authored
24
ce7ce91 @fglock Perlito - TODO update
authored
25 -- Data::Dumper (implemented as Perlito5::Dumper)
8f67bea @fglock Perlito version 8.0
authored
26
27
7b982c3 @fglock Perlito5 - update TODO
authored
28 * Parser
29
529225f @fglock Perlito5 - TODO update
authored
30 -- 'use' doesn't work inside eval-string
7b982c3 @fglock Perlito5 - update TODO
authored
31
529225f @fglock Perlito5 - TODO update
authored
32 -- parse the regexes
7b982c3 @fglock Perlito5 - update TODO
authored
33
b32dc90 @fglock Perlito5 - update TODO
authored
34 -- prototypes (signatures)
35 --- done: "empty" _ $ ;$
36 --- check that undeclared barewords give the right error
61d64aa @fglock Perlito5 - parser: rewrite operator() in "perl5-land" for later tweaking
authored
37 --- *foo = sub () { ... } # does prototype work here?
fde5276 @fglock Perlito5 - update TODO
authored
38
0464e31 @fglock Perlito5 - use perl5 array/hash in perl5 backend
authored
39 -- check that \(@a) and \@a have different meanings
7b982c3 @fglock Perlito5 - update TODO
authored
40
c81af07 @fglock Perlito5 - update TODO, Changelog
authored
41 -- double-quoted here-docs
0e5b55f @fglock Perlito5 - update TODO
authored
42
ce7ce91 @fglock Perlito - TODO update
authored
43 -- parse "local $x[1]"
7a03ff4 @fglock Perlito5 - javascript: eval-block works
authored
44 -- parse local $@
ce7ce91 @fglock Perlito - TODO update
authored
45
529225f @fglock Perlito5 - TODO update
authored
46 -- $v{x} doesn't autoquote the index
47 -- $v{x} doesn't interpolate inside double quotes
48
8f67bea @fglock Perlito version 8.0
authored
49
5bb50dd @fglock Perlito5 - update TODO
authored
50 * Perl5 backend
399a3d2 @fglock Perlito5 - use scalar() instead of .elems()
authored
51
529225f @fglock Perlito5 - TODO update
authored
52 -- ${^NAME} needs curly-escaping
53
0cc64c5 @fglock Perlito5 - kill perl6-ish "method"
authored
54
8f67bea @fglock Perlito version 8.0
authored
55 * Javascript backend
56
7a03ff4 @fglock Perlito5 - javascript: eval-block works
authored
57 -- no global error handler when running in node.js;
58 there is no catch for the syntax error in:
59 $ node perlito5.js -Bjs -e ' { '
60
e584da6 @fglock Perlito5 - javascript: TODO update
authored
61 -- "autoload" the compiler if eval-string is used (eval-string needs the compiler at run-time)
62
529225f @fglock Perlito5 - TODO update
authored
63 -- symbol variables like $] ${"main::\$"} $#_
64 -- check that @_, $_, $a, $b and other special variables are in the right context (lexical, global, package global)
65
2ecea9b @fglock Perlito5 - parser: special variables $$+$++1+${^SPECIAL} ==> ((($$ + …
authored
66 -- do EXPR (do $filename)
67 -- eval EXPR (try/catch)
68
aa5eb05 @fglock Perlito5 - TODO update
authored
69 -- emit array/hash slices: @a[@x], @a{@x}
70
014a584 @fglock Perlito5 - javascript: working @ISA; update Changelog, examples
authored
71 -- add alternate mro's
42a3449 @fglock Perlito5 - TODO update
authored
72
73 -- add regex compiler
74 -- /e modifier
75 -- support all perl5 regex syntax
529225f @fglock Perlito5 - TODO update
authored
76 -- @v = /x/g
42a3449 @fglock Perlito5 - TODO update
authored
77
887219b @fglock Perlito5 - javascript: work around variable redeclaration bug
authored
78 -- bug: variable redeclaration does not work
79 -- javascript "var" erases the outer value within the whole current lexical scope
42a3449 @fglock Perlito5 - TODO update
authored
80 -- bug: "my" variables - this doesn't work as expected: my $v = $v
81 possible fix: rename variables
887219b @fglock Perlito5 - javascript: work around variable redeclaration bug
authored
82
b9c2217 @fglock Perlito5 - update TODO
authored
83 -- move "substr" and others to CORE
0e5b55f @fglock Perlito5 - update TODO
authored
84 -- lvalue "substr"
85 -- subroutine signatures
86 -- array interpolation in argument lists
5b56e5b @fglock Perlito5 - change javascript calling convention
authored
87
7b982c3 @fglock Perlito5 - update TODO
authored
88 -- bug: negative index in array doesn't work
89
8f67bea @fglock Perlito version 8.0
authored
90 -- bug: variable aliases create copies instead
91
ce36bd0 @fglock Perlito5 - update TODO
authored
92 -- generate more compact code; maybe use more subroutines instead of inlining;
93 autovivification is probably the most verbose part of the code.
ae7ad72 @fglock Perlito5 - update docs
authored
94
7b982c3 @fglock Perlito5 - update TODO
authored
95 -- in the browser: implement "use" with XMLHttpRequest (what are the security implications?)
4b15a00 @fglock Perlito5 - cleanup parenthesis
authored
96
5bb50dd @fglock Perlito5 - update TODO
authored
97 -- add symbol tables for scalar, array and hash
98
71b0905 @fglock Perlito5 - docs update
authored
99 -- string increment and string ranges
5b56e5b @fglock Perlito5 - change javascript calling convention
authored
100
0e5b55f @fglock Perlito5 - update TODO
authored
101 -- finish "overload" implementation
102
0718f37 @fglock Perlito5 - javascript: TODO update
authored
103 -- pack(), unpack()
104 -- sprintf()
105 -- y()()
106
0cc64c5 @fglock Perlito5 - kill perl6-ish "method"
authored
107
529225f @fglock Perlito5 - TODO update
authored
108 * Perl6 backend
109
8f67bea @fglock Perlito version 8.0
authored
110 * Python backend
111
112 * Ruby backend
113
114 * Java backend
115
0cc64c5 @fglock Perlito5 - kill perl6-ish "method"
authored
116
117 * Nice to Have
118
59477ad @fglock Perlito - TODO update
authored
119 -- labels, "next", "last"
120
c79db3b @fglock Perlito5 - update TODO
authored
121 -- run the "perl" test suite
122
a7ab071 @fglock Perlito5 - add TODO
authored
123 -- wantarray()
124
465ee11 @fglock Perlito5 - TODO update
authored
125 -- import
126
0cc64c5 @fglock Perlito5 - kill perl6-ish "method"
authored
127 -- run perltidy on the source code
128
71b0905 @fglock Perlito5 - docs update
authored
129 -- proper "use strict" and "use warnings"
1b2eecc @fglock Perlito5 - use @ARGV instead of @*ARGS
authored
130 -- use the same error messages and warnings as 'perl'
42a3449 @fglock Perlito5 - TODO update
authored
131 -- no warnings 'redefine';
1b2eecc @fglock Perlito5 - use @ARGV instead of @*ARGS
authored
132
4593c4e @fglock Perlito5 - TODO update
authored
133 -- __PACKAGE__, __END__, __LINE__, __DATA__, __FILE__
f4910a7 @fglock Perlito5 - TODO update
authored
134
c79db3b @fglock Perlito5 - update TODO
authored
135 -- BEGIN{}, INIT{}, END{}
f4910a7 @fglock Perlito5 - TODO update
authored
136
4b15a00 @fglock Perlito5 - cleanup parenthesis
authored
137 -- source code - remove Perl 6 code such as "token"
71b0905 @fglock Perlito5 - docs update
authored
138 (fixed: This is only loaded if the grammar compiler is needed)
4b15a00 @fglock Perlito5 - cleanup parenthesis
authored
139
61d64aa @fglock Perlito5 - parser: rewrite operator() in "perl5-land" for later tweaking
authored
140 -- *{ $name }{CODE}->();
141
142 -- $object->$method_name()
143
144 -- local(*{$caller."::a"}) = \my $a;
145
146 -- AUTOLOAD
147
Something went wrong with that request. Please try again.