Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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