Commit | Line | Data |
---|---|---|
8990e307 LW |
1 | Tie Modules |
2 | VecArray Implement array using vec() | |
3 | SubstrArray Implement array using substr() | |
4 | VirtualArray Implement array using a file | |
5 | ShiftSplice Defines shift et al in terms of splice method | |
93a17b20 | 6 | |
8990e307 | 7 | Would be nice to have |
463ee0b2 | 8 | pack "(stuff)*" |
85e6fe83 | 9 | Contiguous bitfields in pack/unpack |
463ee0b2 LW |
10 | lexperl |
11 | Bundled perl preprocessor | |
8990e307 | 12 | Use posix calls internally where possible |
aa04a7cf | 13 | gettimeofday (possibly best left for a module?) |
8990e307 | 14 | format BOTTOM |
2304df62 | 15 | -i rename file only when successfully changed |
8990e307 | 16 | All ARGV input should act like <> |
2304df62 | 17 | report HANDLE [formats]. |
a0d0e21e | 18 | support in perlmain to rerun debugger |
aa00cc68 TB |
19 | regression tests using __DIE__ hook |
20 | reference to compiled regexp | |
21 | lexically scoped functions: my sub foo { ... } | |
22 | lvalue functions | |
7b8d334a | 23 | regression/sanity tests for suidperl |
6ee623d5 | 24 | Full 64 bit support (i.e. "long long") |
aa04a7cf GS |
25 | Generalise Errno way of extracting cpp symbols and use that in |
26 | Errno and Fcntl (ExtUtils::CppSymbol?) | |
8990e307 | 27 | |
a0d0e21e | 28 | Possible pragmas |
85e6fe83 | 29 | debugger |
a0d0e21e | 30 | optimize (use less memory, CPU) |
463ee0b2 LW |
31 | |
32 | Optimizations | |
a0d0e21e LW |
33 | constant function cache |
34 | switch structures | |
4633a7c4 | 35 | eval qw() at compile time |
a0d0e21e | 36 | foreach(reverse...) |
463ee0b2 LW |
37 | Set KEEP on constant split |
38 | Cache eval tree (unless lexical outer scope used (mark in &compiling?)) | |
39 | rcatmaybe | |
40 | Shrink opcode tables via multiple implementations selected in peep | |
a0d0e21e | 41 | Cache hash value? (Not a win, according to Guido) |
ed6116ce | 42 | Optimize away @_ where possible |
8990e307 | 43 | "one pass" global destruction |
2304df62 | 44 | Optimize sort by { $a <=> $b } |
a0d0e21e | 45 | Rewrite regexp parser for better integrated optimization |
aa00cc68 | 46 | LRU cache of regexp: foreach $pat (@pats) { foo() if /$pat/ } |
463ee0b2 | 47 | |
a0d0e21e | 48 | Vague possibilities |
8990e307 | 49 | ref function in list context |
463ee0b2 | 50 | make tr/// return histogram in list context? |
463ee0b2 LW |
51 | Loop control on do{} et al |
52 | Explicit switch statements | |
463ee0b2 LW |
53 | built-in globbing |
54 | compile to real threaded code | |
55 | structured types | |
85e6fe83 | 56 | autocroak? |
a0d0e21e | 57 | Modifiable $1 et al |
a0d0e21e | 58 |