simplify program verification.
\stopitemize
+ \section[sec:context:fhdls]{Existing functional hardware description languages}
+ As noted above, this path has been explored before. However, current
+ embedded functional hardware description languages (in particular
+ those using Haskell) are limited. Below a number of downsides are
+ sketched of the recent attempts using the Haskell language.
+ \cite[baaij09] has a more complete overview of these and other
+ languages.
+
+ This list uses Lava and ForSyDe as examples, but tries to generalize
+ the conclusions to the techniques of embedding a \small{DSL} and
+ using Template Haskell.
+
\placeintermezzo{}{
\defref{Template Haskell}
\startframedtext[width=8.5cm,background=box,frame=no]
\stopframedtext
}
- \section[sec:context:fhdls]{Existing functional hardware description languages}
- As noted above, this path has been explored before. However, current
- embedded functional hardware description languages (in particular
- those using Haskell) are limited. Below a number of downsides are
- sketched of the recent attempts using the Haskell language.
- \cite[baaij09] has a more complete overview of these and other
- languages.
-
- This list uses Lava and ForSyDe as examples, but tries to generalize
- the conclusions to the techniques of embedding a \small{DSL} and
- using Template Haskell.
-
\startitemize
\item Not all of Haskell's constructs can be captured by embedded domain
specific languages. For example, an \hs{if} or \hs{case}