perl 5.0 alpha 8
[p5sagit/p5-mst-13.2.git] / Todo
CommitLineData
8990e307 1Modules
2 POSIX (in progress)
3 X/Motif/Tk etc.
4
5Tie Modules
6 VecArray Implement array using vec()
7 SubstrArray Implement array using substr()
8 VirtualArray Implement array using a file
9 ShiftSplice Defines shift et al in terms of splice method
93a17b20 10
463ee0b2 11Bugs
463ee0b2 12 Make yyparse recursion longjmp() proof.
ed6116ce 13 Make "delete $array{$key} while ($key) = each %array" safe
8990e307 14 Wrong line reported for runtime elsif condition error
2304df62 15 TOOSTRICT is not too strict
16 recv and sysread should taint
79072805 17
463ee0b2 18Regexp extensions
19 /m for multiline
20 /\Afoo/ (beginning of string, or where previous g match left off)
21 /foo\Z/ (end of string only)
22 negative regexp assertions?
23 /<>/x for grouping?
24 /f for fixed variable interpolation?
25 Rewrite regexp parser for better integrated optimization
26
8990e307 27Would be nice to have
463ee0b2 28 Profiler
29 pack "(stuff)*"
30 lexperl
31 Bundled perl preprocessor
ed6116ce 32 Make $[ compile-time instead of run-time
8990e307 33 Use posix calls internally where possible
34 const variables
35 gettimeofday
36 bytecompiler
37 format BOTTOM
38 willcall()
39 -iprefix.
2304df62 40 -i rename file only when successfully changed
8990e307 41 All ARGV input should act like <>
42 Multiple levels of warning
2304df62 43 .= shouldn't complain about undefined under -w
44 report HANDLE [formats].
8990e307 45
46Pragmas ("assume" maybe?)
47 integer, float
48 nodebug, debug
49 autocroak?
463ee0b2 50
51Optimizations
463ee0b2 52 Optimize switch statements
53 Optimize foreach on array
54 Optimize foreach (1..1000000)
55 Set KEEP on constant split
56 Cache eval tree (unless lexical outer scope used (mark in &compiling?))
57 rcatmaybe
58 Shrink opcode tables via multiple implementations selected in peep
59 Cache hash value?
ed6116ce 60 Optimize away @_ where possible
463ee0b2 61 sfio?
8990e307 62 "one pass" global destruction
2304df62 63 Optimize sort by { $a <=> $b }
463ee0b2 64
65Need to think more about
8990e307 66 ref function in list context
ed6116ce 67 Populate %SIG at startup if appropriate
463ee0b2 68
69Vague possibilities
70 sub mysplice(@, $, $, ...)
71 data prettyprint function? (or is it, as I suspect, a lib routine?)
72 Nested destructors
73 make tr/// return histogram in list context?
74 undef wantarray in void context
463ee0b2 75 Loop control on do{} et al
76 Explicit switch statements
77 perl to C translator
78 multi-thread scheduling
79 built-in globbing
80 compile to real threaded code
81 structured types
8990e307 82 paren counting in tokener to queue remote expectations