on the whole easier, more maintainable and generally more pleasant.
This assignment has been performed in close cooperation with Christiaan
-Baaij, whose Master's thesis \cite[baaij09] has been completed at the
+Baaij, whose Master's thesis \cite[baaij09]\ has been completed at the
same time as this thesis. Where this thesis focuses on the
interpretation of the Haskell language and the compilation process,
-\cite[baaij09] has a more thorough study of the field, explores more
+\cite[baaij09]\ has a more thorough study of the field, explores more
advanced types and provides a case study.
% Use \subject to hide this section from the toc
% Draw a dotted line between the middle operations
ncline(a2)(a3) "linestyle(dashed withdots)", "arrows(-)";
\stopuseMPgraphic
- \placeexample[here][ex:AndWord]{Simple architecture that inverts a vector of bits.}
+ \placeexample[][ex:AndWord]{Simple architecture that inverts a vector of bits.}
\startcombination[2*1]
{\typebufferlam{AndWord}}{Haskell description of the architecture.}
{\boxedgraphic{AndWord}}{The architecture described by the Haskell description.}
\stopcombination
Slightly more complicated is the incremental summation of
- values show in \in{example}[ex:RecursiveSum]\note[notfinalsyntax].
+ values shown in \in{example}[ex:RecursiveSum]\note[notfinalsyntax].
In this example we see a recursive function \hs{sum'} that recurses over a
list and takes an accumulator argument that stores the sum so far. On each
In addition to looking at designing a hardware description language, we
will also implement a prototype to test ideas. This prototype will
translate hardware descriptions written in the Haskell functional language
- to simple (netlist-like) hardware descriptions in the \VHDL language. The
+ to simple (netlist-like) hardware descriptions in the \VHDL\ language. The
reasons for choosing these languages are detailed in section
\in{}[sec:prototype:input] and \in{}[sec:prototype:output] respectively.
Systems). The lambda in the name is of course a reference to the
lambda abstraction, which is an essential element of most functional
languages (and is also prominent in the Haskell logo).
+
+ Cλash is pronounced like \quote{Clash}.
\stopframedtext
}
a number of other functional hardware description languages are briefly
described.
-Chapter two describes the exploratory part of this research: How can we
+Chapter two describes the exploratory part of this research: how can we
describe hardware using a functional language and how can we use functional
concepts for hardware descriptions?