Use η/β-expansion instead of η/β-abstraction.
[matthijs/master-project/report.git] / Outline
diff --git a/Outline b/Outline
index 88cc626ef3c0de6a81510995636ef59780012cdd..3ab4e6e0f748975bd0ad726e573de19313975e6a 100644 (file)
--- a/Outline
+++ b/Outline
@@ -32,19 +32,32 @@ Normalization
 *      Normal form
 *      Rules used
 .      Properties / Proofs (termination, soundness, completeness, determinism)
-       Casts / Strictness / Casebinders not fully supported
 
 Future work
-.      Boilerplate reduction (State distribution & pipelining)
+*      Boilerplate reduction (State distribution & pipelining)
 *      Recursion
 *       Multiple time domains (Events) -- Also, clock line optimization /
                                        -- write enable
 *      Multiple cycle descriptions
 *       Higher order state
 *       New language
-        Don't care
+*       Don't care
 
 TODO: Define user / developer
-TODO: Comiler vs translator
 TODO: Hardware description / model vs program
-TODO: State & pattern matches
+TODO: Separate compilation / Prelude
+TODO: User-defined type classes (future work?)
+TODO: Entity / Architecture / Component vs Function?
+TODO: Expand on "representable"
+TODO: Register
+TODO: Variable vs binder
+TODO: simplification -> Normalisation?
+TODO: Use saturated (application) instead of complete (application)?
+TODO: core => Core
+TODO: Say something about implementation differences with transformation specs
+TODO: Say something about the builtin functions somewhere (ref: christiaan)
+TODO: Future work: Use Cλash
+TODO: Abstract
+TODO: Preface
+TODO: Footnote font has not lambda
+TODO: Top level function -> top level binder