From: Matthijs Kooijman Date: Mon, 7 Dec 2009 07:18:08 +0000 (+0100) Subject: Move the Template Haskell intermezzo a bit down. X-Git-Tag: final-thesis~74 X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=commitdiff_plain;h=a0a2821832d86271ffc8efdb3774440191f3e10e Move the Template Haskell intermezzo a bit down. --- diff --git a/Chapters/Context.tex b/Chapters/Context.tex index a12fe73..45c1686 100644 --- a/Chapters/Context.tex +++ b/Chapters/Context.tex @@ -75,6 +75,18 @@ 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] @@ -96,18 +108,6 @@ \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}