perl 5.0 alpha 6
[perl.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
16 Regexp extensions
17         /m  for multiline
18         /\Afoo/ (beginning of string, or where previous g match left off)
19         /foo\Z/ (end of string only)
20         negative regexp assertions?
21         /<>/x for grouping?
22         /f for fixed variable interpolation?
23         Rewrite regexp parser for better integrated optimization
24
25 Would be nice to have
26         Profiler
27         pack "(stuff)*"
28         lexperl
29         Bundled perl preprocessor
30         Make $[ compile-time instead of run-time
31         Use posix calls internally where possible
32         const variables
33         gettimeofday
34         bytecompiler
35         format BOTTOM
36         willcall()
37         -iprefix.
38         All ARGV input should act like <>
39         Multiple levels of warning
40
41 Pragmas ("assume" maybe?)
42         integer, float
43         nodebug, debug
44         autocroak?
45
46 Optimizations
47         Optimize switch statements
48         Optimize foreach on array
49         Optimize foreach (1..1000000)
50         Set KEEP on constant split
51         Cache eval tree (unless lexical outer scope used (mark in &compiling?))
52         rcatmaybe
53         Shrink opcode tables via multiple implementations selected in peep
54         Cache hash value?
55         Optimize away @_ where possible
56         sfio?
57         "one pass" global destruction
58
59 Need to think more about
60         ref function in list context
61         Populate %SIG at startup if appropriate
62         write HANDLE [formats].
63
64 Vague possibilities
65         sub mysplice(@, $, $, ...)
66         data prettyprint function?  (or is it, as I suspect, a lib routine?)
67         Nested destructors
68         make tr/// return histogram in list context?
69         undef wantarray in void context
70         Loop control on do{} et al
71         Explicit switch statements
72         perl to C translator
73         multi-thread scheduling
74         built-in globbing
75         compile to real threaded code
76         structured types
77         paren counting in tokener to queue remote expectations