summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/TODO
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.