projects
/
matthijs
/
master-project
/
report.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add TODO.
[matthijs/master-project/report.git]
/
Outline
diff --git
a/Outline
b/Outline
index 074f6a6105a1ee1b20fa1944352d8f685b5717df..6cab7d21ecf50426eb9c34ba233e05e022a94dfb 100644
(file)
--- a/
Outline
+++ b/
Outline
@@
-8,45
+8,43
@@
Introduction
Haskell as hardware
* Simple function -> component interpretation (Model: Structure)
Haskell as hardware
* Simple function -> component interpretation (Model: Structure)
+* Choice / Case
+* Types
* Partial application
* Model: State
* Explicit vs implicit passing of state (e.g, delay)
* Explicit vs implicit marking
* Interpret: Polymorphism
* Interpret: Higher order
* Partial application
* Model: State
* Explicit vs implicit passing of state (e.g, delay)
* Explicit vs implicit marking
* Interpret: Polymorphism
* Interpret: Higher order
- Need: Dependent types
* Recursion
* Recursion
- Impossible things: Infinite recursion, higher order expressions,
- recursive types, ...
Prototype
* Choice of Haskell
Prototype
* Choice of Haskell
-
VHDL / Verilog / EDIF etc. Why VHDL?
+
*
VHDL / Verilog / EDIF etc. Why VHDL?
* Stages (-> Core, Normalization, -> VHDL)
* Stages (-> Core, Normalization, -> VHDL)
-. Core - description of the language (appendix?)
+. Core - description of the language
+* Expressions
+ Typing
Implementation issues -- Which?
State annotations
Implementation issues -- Which?
State annotations
- Haskell language coverage / constraints
- Recursion
- Builtin types
- Custom types (Sum types, product types)
- Function types / higher order expressions
- State type -> Anything representable
-
Normalization
* Normal form
* Rules used
. Properties / Proofs (termination, soundness, completeness, determinism)
Normalization
* Normal form
* Rules used
. Properties / Proofs (termination, soundness, completeness, determinism)
- Casts / Strictness / Casebinders not fully supported
Future work
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
* Recursion
* Multiple time domains (Events) -- Also, clock line optimization /
-- write enable
* Multiple cycle descriptions
* Higher order state
* New language
+ Don't care
TODO: Define user / developer
TODO: Define user / developer
+TODO: Comiler vs translator
+TODO: Hardware description / model vs program
+TODO: State & pattern matches
+TODO: Separate compilation / Prelude