perl 5.0 alpha 9
[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         <$handle> doesn't work intuitively if $handle is ARGV
15         Anything in the Bugs directory
16
17 Regexp extensions
18         /m  for multiline
19         /\Afoo/ (beginning of string, or where previous g match left off)
20         /foo\Z/ (end of string only)
21         negative regexp assertions?
22         /<>/x for grouping?
23         /f for fixed variable interpolation?
24         Rewrite regexp parser for better integrated optimization
25
26 Would be nice to have
27         Profiler
28         pack "(stuff)*"
29         Contiguous bitfields in pack/unpack
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         tie(FILEHANDLE, ...)
46         __DATA__
47
48 Possible averments
49         debugger
50         optimize
51
52 Optimizations
53         Optimize switch statements
54         Optimize foreach on array
55         Optimize foreach (1..1000000)
56         Set KEEP on constant split
57         Cache eval tree (unless lexical outer scope used (mark in &compiling?))
58         rcatmaybe
59         Shrink opcode tables via multiple implementations selected in peep
60         Cache hash value?
61         Optimize away @_ where possible
62         sfio?
63         "one pass" global destruction
64         Optimize sort by { $a <=> $b }
65
66 Need to think more about
67         ref function in list context
68         Populate %SIG at startup if appropriate
69
70 Vague possibilities
71         sub mysplice(@, $, $, ...)
72         data prettyprint function?  (or is it, as I suspect, a lib routine?)
73         Nested destructors
74         make tr/// return histogram in list context?
75         undef wantarray in void context
76         Loop control on do{} et al
77         Explicit switch statements
78         perl to C translator
79         multi-thread scheduling
80         built-in globbing
81         compile to real threaded code
82         structured types
83         paren counting in tokener to queue remote expectations
84         autocroak?