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