This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perly_c.diff typo
[perl5.git] / Todo
CommitLineData
8990e307
LW
1Tie 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
93a17b20 6
8990e307 7Would be nice to have
463ee0b2 8 pack "(stuff)*"
85e6fe83 9 Contiguous bitfields in pack/unpack
463ee0b2
LW
10 lexperl
11 Bundled perl preprocessor
8990e307 12 Use posix calls internally where possible
9cc29783 13 gettimeofday (possibly best left for a module?)
8990e307 14 format BOTTOM
2304df62 15 -i rename file only when successfully changed
8990e307 16 All ARGV input should act like <>
2304df62 17 report HANDLE [formats].
a0d0e21e 18 support in perlmain to rerun debugger
aa00cc68
TB
19 regression tests using __DIE__ hook
20 reference to compiled regexp
21 lexically scoped functions: my sub foo { ... }
22 lvalue functions
7b8d334a 23 regression/sanity tests for suidperl
6ee623d5 24 Full 64 bit support (i.e. "long long")
245ccdfc
GS
25 Generalise Errno way of extracting cpp symbols and use that in
26 Errno and Fcntl (ExtUtils::CppSymbol?)
8990e307 27
a0d0e21e 28Possible pragmas
85e6fe83 29 debugger
a0d0e21e 30 optimize (use less memory, CPU)
463ee0b2
LW
31
32Optimizations
a0d0e21e
LW
33 constant function cache
34 switch structures
a0d0e21e 35 foreach(reverse...)
463ee0b2
LW
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
a0d0e21e 40 Cache hash value? (Not a win, according to Guido)
ed6116ce 41 Optimize away @_ where possible
8990e307 42 "one pass" global destruction
a0d0e21e 43 Rewrite regexp parser for better integrated optimization
aa00cc68 44 LRU cache of regexp: foreach $pat (@pats) { foo() if /$pat/ }
463ee0b2 45
a0d0e21e 46Vague possibilities
8990e307 47 ref function in list context
463ee0b2 48 make tr/// return histogram in list context?
463ee0b2
LW
49 Loop control on do{} et al
50 Explicit switch statements
463ee0b2
LW
51 built-in globbing
52 compile to real threaded code
53 structured types
85e6fe83 54 autocroak?
a0d0e21e 55 Modifiable $1 et al
a0d0e21e 56