debug: get rid of #ifdef guards
[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 (h) get rid of trap.c
40         -> it's C. we don't want that.
41         -> at the moment System.Posix.Signal isn't powerful enough
42         -> wait for: http://hackage.haskell.org/trac/ghc/ticket/2451
43
44 (l) check different types (byte, long, ...)
45
46 (l) floating point support
47
48 (h) better code generation
49         -> at least peephole optimazation would be nice (e.g. kill `push eax; pop
50         eax')
51         -> but we want more!!11 ;-)
52         -> estimated effort: 2-3 weeks
53
54 (m) benchmark for presentation
55
56
57 (l) ... low priority
58 (m) ... medium priority
59 (h) ... high priority
60
61
62 what we won't do anytime soon:
63 ( ) garbage collection
64 ( ) thread support
65 ( ) verifier
66
67
68
69 /* old stuff */
70 Design Meeting - 21.March.2012
71
72
73 1) Compile on Basic Blocks on Demand or complete Methods (check how cacao, mono works)
74 2) Calling-Conventions - Standard wegen den Sprüngen (why does Cacao use strange CallingConventions)
75 3) Capture Meta-Information by Instruction and Basics-Block
76 4) Benchmark Suits - what features do we need?
77 5) Boehm GC? using Haskell GC? From Scratch GC? GC option
78 6) hs-java reinschauen - kann das schon BBA
79
80
81 TODO: Basic-Block Analyis, Dereferencing .class file shit - during or after BBA,