perl 5.0 alpha 8
[p5sagit/p5-mst-13.2.git] / Todo
1 Modules
2         POSIX (in progress)
3         X/Motif/Tk etc.
4
5 Tie 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
10
11 Bugs
12         Make yyparse recursion longjmp() proof.
13         Make "delete $array{$key} while ($key) = each %array" safe
14         Wrong line reported for runtime elsif condition error
15         TOOSTRICT is not too strict
16         recv and sysread should taint
17
18 Regexp 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
27 Would be nice to have
28         Profiler
29         pack "(stuff)*"
30         lexperl
31         Bundled perl preprocessor
32         Make $[ compile-time instead of run-time
33         Use posix calls internally where possible
34         const variables
35         gettimeofday
36         bytecompiler
37         format BOTTOM
38         willcall()
39         -iprefix.
40         -i rename file only when successfully changed
41         All ARGV input should act like <>
42         Multiple levels of warning
43         .= shouldn't complain about undefined under -w
44         report HANDLE [formats].
45
46 Pragmas ("assume" maybe?)
47         integer, float
48         nodebug, debug
49         autocroak?
50
51 Optimizations
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?
60         Optimize away @_ where possible
61         sfio?
62         "one pass" global destruction
63         Optimize sort by { $a <=> $b }
64
65 Need to think more about
66         ref function in list context
67         Populate %SIG at startup if appropriate
68
69 Vague 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
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
82         paren counting in tokener to queue remote expectations