X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Chapters%2FFuture.tex;fp=Chapters%2FFuture.tex;h=da1b23de211aa3ba3a8ba066b3e620ee40393e4a;hp=0399db9ba6d993ee7a76aa98f94cc3132c022d2a;hb=75d1001c7a7809c80bc4113477ad90b12f23b80f;hpb=8d8f1604f480e79ec31a6c706e25ca1d9a6d6add diff --git a/Chapters/Future.tex b/Chapters/Future.tex index 0399db9..da1b23d 100644 --- a/Chapters/Future.tex +++ b/Chapters/Future.tex @@ -234,7 +234,7 @@ feasible. \subsection{Arrows} Another abstraction mechanism offered by Haskell are arrows. Arrows are -a generalisation of monads \cite[hughes98], for which \GHC also supports +a generalisation of monads \cite[hughes98], for which \GHC\ also supports some syntax sugar \cite[paterson01]. Their use for hiding away state boilerplate is not directly evident, but since arrows are a complex concept further investigation is appropriate. @@ -479,7 +479,7 @@ behaviour is not needed. The main cost of this approach will probably be extra complexity in the compiler: The paths (state) data can take become very non-trivial, and it is probably hard to properly analyze these paths and produce the -intended \VHDL description. +intended \VHDL\ description. \section{Multiple cycle descriptions} In the current Cλash prototype, every description is a single-cycle @@ -597,7 +597,7 @@ that is never used for a particular state variable. This separation is probably a non-trivial problem, though. \section{Don't care values} - A powerful value in \VHDL is the \emph{don't care} value, given as + A powerful value in \VHDL\ is the \emph{don't care} value, given as \type{'-'}. This value tells the compiler that you do not really care about which value is assigned to a signal, allowing the compiler to make some optimizations. Since choice in hardware is often implemented using @@ -622,7 +622,7 @@ probably a non-trivial problem, though. This would also require some kind of \quote{Don't careable} type class that allows each type to specify what its don't care value is. The compiler must then recognize this constant and replace it with don't care - values in the final \VHDL code. + values in the final \VHDL\ code. This is of course a very intrusive solution. Every type must become member of this type class, and there is now some member in every type that is a