Move the Template Haskell intermezzo a bit down.
[matthijs/master-project/report.git] / Chapters / Context.tex
index a12fe73e0f09260efa52a0cc04e9226a18b90909..45c16864d17abc38cb0f0a114abce1a5c1527c60 100644 (file)
       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}