This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
3e137f9b96ab4df8c713ecb2318889d3f3e5e4f0
[perl5.git] / Todo
1 Tie 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
6
7 Would be nice to have
8         pack "(stuff)*"
9         Contiguous bitfields in pack/unpack
10         lexperl
11         Bundled perl preprocessor
12         Use posix calls internally where possible
13         gettimeofday
14         format BOTTOM
15         -iprefix.
16         -i rename file only when successfully changed
17         All ARGV input should act like <>
18         report HANDLE [formats].
19         support in perlmain to rerun debugger
20         regression tests using __DIE__ hook
21         reference to compiled regexp
22         lexically scoped functions: my sub foo { ... }
23         lvalue functions
24         regression/sanity tests for suidperl
25         Full 64 bit support (i.e. "long long")
26
27 Possible pragmas
28         debugger
29         optimize (use less memory, CPU)
30
31 Optimizations
32         constant function cache
33         switch structures
34         eval qw() at compile time
35         foreach(reverse...)
36         Set KEEP on constant split
37         Cache eval tree (unless lexical outer scope used (mark in &compiling?))
38         rcatmaybe
39         Shrink opcode tables via multiple implementations selected in peep
40         Cache hash value?  (Not a win, according to Guido)
41         Optimize away @_ where possible
42         "one pass" global destruction
43         Optimize sort by { $a <=> $b }
44         Rewrite regexp parser for better integrated optimization
45         LRU cache of regexp: foreach $pat (@pats) { foo() if /$pat/ }
46
47 Vague possibilities
48         ref function in list context
49         data prettyprint function?  (or is it, as I suspect, a lib routine?)
50         make tr/// return histogram in list context?
51         Loop control on do{} et al
52         Explicit switch statements
53         built-in globbing
54         compile to real threaded code
55         structured types
56         autocroak?
57         Modifiable $1 et al
58