primary compiler, \GHC, provides a high level API to its internals, made
Haskell an obvious choice.
- \note{There should be evaluation of the choice of Haskell and \VHDL}
-
\section[sec:prototype:output]{Output format}
The second important question is: What will be our output format? Since
our prototype won't be able to program FPGA's directly, we'll have to have
instance declaration. This dictionary, as well as the binder
introduced by a lambda that introduces a dictionary, have the
predicate type as their type. These binders are usually named starting
- with a \lam{$}. Usually the name of the type concerned is not
+ with a \lam{\$}. Usually the name of the type concerned is not
reflected in the name of the dictionary, but the name of the type
class is. The Haskell expression \hs{show True} thus becomes:
\startlambda
- show @Bool $dShow True
+ show @Bool \$dShow True
\stoplambda
\stopdesc
here)}.
\section[sec:prototype:statetype]{State annotations in Haskell}
+ As noted in \in{section}[sec:description:stateann], Cλash needs some
+ way to let the programmer explicitly specify which of a function's
+ arguments and which part of a function's result represent the
+ function's state.
\fxnote{This entire section on state annotations should be reviewed}
Ideal: Type synonyms, since there is no additional code overhead for