This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fixes for Interactive Unix
[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
LW
8 Profiler
9 pack "(stuff)*"
85e6fe83 10 Contiguous bitfields in pack/unpack
463ee0b2
LW
11 lexperl
12 Bundled perl preprocessor
8990e307
LW
13 Use posix calls internally where possible
14 const variables
15 gettimeofday
16 bytecompiler
17 format BOTTOM
a0d0e21e 18 $obj->can("method") to probe method inheritance
8990e307 19 -iprefix.
2304df62 20 -i rename file only when successfully changed
8990e307
LW
21 All ARGV input should act like <>
22 Multiple levels of warning
2304df62 23 report HANDLE [formats].
85e6fe83
LW
24 tie(FILEHANDLE, ...)
25 __DATA__
a0d0e21e
LW
26 support in perlmain to rerun debugger
27 make 'r' print return value like gdb 'fini'
748a9306 28 regression tests using __WARN__ and __DIE__ hooks
8990e307 29
a0d0e21e 30Possible pragmas
85e6fe83 31 debugger
a0d0e21e 32 optimize (use less memory, CPU)
463ee0b2
LW
33
34Optimizations
a0d0e21e
LW
35 constant function cache
36 switch structures
4633a7c4 37 eval qw() at compile time
a0d0e21e
LW
38 foreach (1..1000000)
39 foreach(reverse...)
463ee0b2
LW
40 Set KEEP on constant split
41 Cache eval tree (unless lexical outer scope used (mark in &compiling?))
42 rcatmaybe
43 Shrink opcode tables via multiple implementations selected in peep
a0d0e21e 44 Cache hash value? (Not a win, according to Guido)
ed6116ce 45 Optimize away @_ where possible
463ee0b2 46 sfio?
8990e307 47 "one pass" global destruction
2304df62 48 Optimize sort by { $a <=> $b }
a0d0e21e 49 Rewrite regexp parser for better integrated optimization
463ee0b2 50
a0d0e21e 51Vague possibilities
8990e307 52 ref function in list context
ed6116ce 53 Populate %SIG at startup if appropriate
463ee0b2 54 data prettyprint function? (or is it, as I suspect, a lib routine?)
463ee0b2
LW
55 make tr/// return histogram in list context?
56 undef wantarray in void context
463ee0b2
LW
57 Loop control on do{} et al
58 Explicit switch statements
59 perl to C translator
60 multi-thread scheduling
61 built-in globbing
62 compile to real threaded code
63 structured types
8990e307 64 paren counting in tokener to queue remote expectations
85e6fe83 65 autocroak?
a0d0e21e
LW
66 Modifiable $1 et al
67 substr EXPR,OFFSET,LENGTH,STRING
a0d0e21e 68