ref: 3e82e2c10aa33609ef7badfed65bf034a2079633
parent: b7256500baeeddc3108d73b98dc12c4ad00b4544
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Fri Mar 29 11:50:29 EDT 2024
More
--- a/TODO
+++ b/TODO
@@ -4,8 +4,6 @@
- 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
- - allow existential quantification
- # check for escaping skolemized variables
* Try Oleg's abstraction algorithm
- Seems to be slower
* Redo type synonym expansion
@@ -13,13 +11,11 @@
* Redo handling of synonym and instance tables.
- These tables can persist during the compilation and only grow
* Implement two level tables for instances even in the tricky cases
-* Handle tupled dictionaries better for recursive calls
* Removing [] from prim table
* Faster compression
* Use pointer reversal during marking, will be slower
* Fix bug uncovered by Data.Type.Equality
* mkQIdent
-* Fix bug, line 629, TypeCheck.hs
* Get rid of evalstring()
- do everything in Haskell
- make a low level primError that takes a utf8 string
@@ -34,8 +30,14 @@
- Merge EBind and EDef
* Implement pattern synonyms
* Implement qualified constraints
-* Add some package concept with a saved cache
* Export the right list functions
-* Improve defaulting
+* Improve defaulting (only default to Integer/Double if Num)
+* 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
+Bugs:
* Missing IO in ccall show wrong location
+* Limited class imports hide default methods
+* Check for escaping skolemized variables
--
⑨