This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
change#3612 was buggy and failed to build Tk; applied Ilya's
[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 (possibly best left for a module?)
14         format BOTTOM
15         -i rename file only when successfully changed
16         All ARGV input should act like <>
17         report HANDLE [formats].
18         support in perlmain to rerun debugger
19         regression tests using __DIE__ hook
20         reference to compiled regexp
21         lexically scoped functions: my sub foo { ... }
22         lvalue functions
23         regression/sanity tests for suidperl
24         Full 64 bit support (i.e. "long long")
25         Generalise Errno way of extracting cpp symbols and use that in
26             Errno and Fcntl (ExtUtils::CppSymbol?)
27
28 Possible pragmas
29         debugger
30         optimize (use less memory, CPU)
31
32 Optimizations
33         constant function cache
34         switch structures
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         Rewrite regexp parser for better integrated optimization
44         LRU cache of regexp: foreach $pat (@pats) { foo() if /$pat/ }
45
46 Vague possibilities
47         ref function in list context
48         make tr/// return histogram in list context?
49         Loop control on do{} et al
50         Explicit switch statements
51         built-in globbing
52         compile to real threaded code
53         structured types
54         autocroak?
55         Modifiable $1 et al
56