TODO: update
[mate.git] / doc / TODO
1 (l) proper java native interface (JNI)
2         -> atm just hackish solution.
3         -> also, arguments are passed in the wrong order
4         -> estimated effort: 3-4 days
5
6 (l) exceptions
7         -> for gnu classpath absolutely necessary
8         -> estimated effort: unknown
9
10 (l) gnu classpath integration
11         -> would be awwwesome
12         -> depends on: exceptions, jni (?)
13         -> estimated effort: unknown
14
15 (m) testing: hunit? quickcheck? other?
16         -> we have `make tests' now, but it should be only considered as
17            high-level test. we need something
18         -> estimated effort: for infrastructure, 2-3 days
19
20 (l) instanceof, checkcast
21         -> typechecking at runtime. with displays or something
22         -> depends on: exceptions (not absolutely necessary, but preferable)
23         -> estimated effort: 1 day
24
25 (h) bug (?): can there be a namespace clash with static and non-static methods?
26         -> the signature doesn't contain the static modifier
27         -> estimated effort: some hours (if a fix is needed)
28
29 (h) global map hack:
30         -> it's an stupid and ugly hack. we don't want that.
31         -> estimated effort: unknown. research for a solution is needed
32
33 (m) hlint
34
35 (l) cabal file
36
37 (h) so much cleanup...
38
39 (l) check different types (byte, long, ...)
40
41 (l) floating point support
42
43 (h) better code generation
44         -> at least peephole optimazation would be nice (e.g. kill `push eax; pop
45         eax')
46         -> but we want more!!11 ;-)
47         -> estimated effort: 2-3 weeks
48
49 (m) benchmark for presentation
50
51
52 (l) ... low priority
53 (m) ... medium priority
54 (h) ... high priority
55
56
57 what we won't do anytime soon:
58 ( ) garbage collection
59 ( ) thread support
60 ( ) verifier
61
62
63
64 /* old stuff */
65 Design Meeting - 21.March.2012
66
67
68 1) Compile on Basic Blocks on Demand or complete Methods (check how cacao, mono works)
69 2) Calling-Conventions - Standard wegen den Sprüngen (why does Cacao use strange CallingConventions)
70 3) Capture Meta-Information by Instruction and Basics-Block
71 4) Benchmark Suits - what features do we need?
72 5) Boehm GC? using Haskell GC? From Scratch GC? GC option
73 6) hs-java reinschauen - kann das schon BBA
74
75
76 TODO: Basic-Block Analyis, Dereferencing .class file shit - during or after BBA,