This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
integrate changes#2978,2979 from mainline
[perl5.git] / Todo
CommitLineData
8990e307
LW
1Tie 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 7Would 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 28Possible pragmas
85e6fe83 29 debugger
a0d0e21e 30 optimize (use less memory, CPU)
463ee0b2
LW
31
32Optimizations
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 48Vague 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