blob: 11eface34c8f81dff44edab3820d988af58e2a63 (
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
|
Andy: possible optimizations:
fix func op and three.asy
rewrite exp::transToType and protoenv::castSource
varpush+pop --> no op
varsave+pop --> one op
closure+pushfunc+varsave+pop --> savefunc
stack::popWithoutReturningValue
look at position information saved in program, maybe save separately
formal::addOps calls trans
only hash first 3 or 4 args of signature
rm transToType from varinitArg::trans
run a perfect match through multimatch first (no casting allowed)
change camp.y to flag arglists with named args
remove addFunctionOps in favor of == and != defined in types.h
Andy: testing in errortest.asy for packing versus casting, default argument
ambiguities, and whatever else you can think of
Andy: operator tuple, to let people define their own tuples
Andy: implement operator init(A a) copy constructors.
Andy and John: (if possible) automatically turn expressions with array
sub-expressions into iteration over the array(s)
Andy: Decide if we should change vm::error to em in application.cc
John or Andy: Add unit test for AddOps.
Andy: Fix: void f(int x=blah);
Andy: Investigate adding unicode support for identifiers, using iswalpha,
mbtowc, etc.
|