X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=howdoesitwork.lhs;h=4c26ca534ffecfa49b9e7362b68d2f0c985316c6;hb=b4b0e8a2e09609f70bc5ed0fb69a8d966e4a6813;hp=4ad7780e7c7a57b4757cc26e0b7a1b164f636612;hpb=2523b691bc4f9871e5d0fb3823fcd2c8952affaa;p=matthijs%2Fmaster-project%2Fhaskell-symposium-talk.git diff --git a/howdoesitwork.lhs b/howdoesitwork.lhs index 4ad7780..4c26ca5 100644 --- a/howdoesitwork.lhs +++ b/howdoesitwork.lhs @@ -2,17 +2,20 @@ \section{How do you make Hardware from Haskell?} \frame { - \frametitle{So how do you make Hardware from Haskell?} - \large{In three simple steps} \pause + \frametitle{So how do you make Hardware from Haskell?}\pause + \large{In three simple steps really:} \pause \begin{itemize} \item No Effort:\\ GHC API Parses, Typechecks and Desugars the Haskell code \pause \item Hard: \\ - Transform resulting Core, GHC's Intermediate Language,\linebreak to a normal form \pause + Transform resulting Core, GHC's Intermediate Language,\linebreak to a normal form. Uses reduction rules. \pause \item Easy: \\ Translate Normalized Core to synthesizable VHDL \end{itemize} }\note[itemize]{ \item Here is a quick insight as to how WE translate Haskell to Hardware -\item You can also use TH, like ForSyDe. Or traverse datastructures, like Lava. -} \ No newline at end of file +\item Reduction rules are used to get a required normal form. +\item Normal form already looks like hardware (components and lines) +\item You can also use TH, like ForSyDe. Or traverse datastructures, like Lava? +\item We're in luck with the GHC API update of 6.10 and onwards +}