forked from augustss/MicroHs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO
More file actions
45 lines (42 loc) · 1.54 KB
/
TODO
File metadata and controls
45 lines (42 loc) · 1.54 KB
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
* Type checker improvements:
- allow generalization for local bindings
- use subsumption (like if) in the arms of alternatives
- instead of skolemization, use regular variables, making sure they are unique
* Redo type synonym expansion
- Do expansion during unification
* Implement two level tables for instances even in the tricky cases
* Removing [] from prim table
* Use pointer reversal during marking, will be slower
* Fix bug uncovered by Data.Type.Equality
* mkQIdent
* Get rid of evalstring()
- do everything in Haskell
* Better pretty print of Expr
* Implement qualified constraints
* Use capi, add value and field modifiers
* Ad hoc fix for f.g: check if g is a field
* Divide lib into different packages
* Sync lib with GHC base
* Use finalizers for alloca?
* Better naming of internal identifiers
* Implement hSetBuffering
Do this by adding a new BFILE type that just buffers:
NoBuffering - flush on every character
LineBuffering - flush on '\n'
(BlockBuffering n - accumulate a block before doing a write)
* Using ! on a pattern binding has no effect
* Include package name in full name
Bugs:
* Check for escaping skolemized variables
* Type checking Data.Data
* let needs {} in a do with {}
* export list in -boot doesn't work
* polykinded signatures don't work properly, e.g., ~
there is no place to put the forall
* tr :: forall t -> Typeable t => TypeRep
tr a = typeRep (Proxy :: Proxy a)
* cannot parse (a -> b) as an expression
Wishlist:
* DeriveGeneric (claudeha)
Needs TypeFamilies
* Polymorphic record update (claudeha)