ref: d85af065bd709705a0377b345321cee6daafaf28
parent: 3b9c34f8b0ddd235e9a969f1246aab87f7dbd471
	author: Lennart Augustsson <lennart@augustsson.net>
	date: Sun Dec 24 08:22:30 EST 2023
	
Small updates
--- a/Makefile
+++ b/Makefile
@@ -92,6 +92,12 @@
time bin/mhs +RTS -v -RTS -isrc MicroHs.Main
#
+timecachecompile: bin/mhs
+ @-rm -f .mhscache
+ bin/mhs -C AllOfLib
+ bin/mhs +RTS -v -RTS -C -isrc MicroHs.Main
+
+#
cachelib:
@-rm -f .mhscache
bin/mhs -C AllOfLib
--- a/README.md
+++ b/README.md
@@ -51,6 +51,7 @@
* NegativeLiterals
* NoMonomorphismRestriction
* OverlappingInstances
+ * PolyKinds
* RankNTypes
* QualifiedDo
* ScopedTypeVariables
--- a/TODO
+++ b/TODO
@@ -20,6 +20,7 @@
- instead of skolemization, use regular variables, making sure they are unique
- allow existential quantification
# works partially, but not constraint solving doesn't happen in all the right places
+ # check for escaping skolemized variables
* Try Oleg's abstraction algorithm
- Seems to be slower
* Redo type synonym expansion
@@ -26,8 +27,7 @@
- Only non-injective synonyms necessitate expansion(?)
- Do expansion during unification
* Redo handling of synonym and instance tables.
- - These tables can persist during the compilation
- and only grow
+ - 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
* Split eval.c
@@ -40,6 +40,3 @@
- In GC mark pass
- In evaluator
* Fix bug uncovered by Data.Type.Equality
-* Stratify types/kinds/sorts
- - Do kind variables this way 'data forall (k:Kind) . T (a::k) = C'
-* Implement polykinds
--
⑨