X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Fhaskell-symposium-talk.git;a=blobdiff_plain;f=howdoesitwork.lhs;fp=howdoesitwork.lhs;h=b9970d6784d570e7d2e1863be8c4b2e0fe064901;hp=342be54965bdf856471244679abf96414982db54;hb=f8ca52f68083c6d4081b509681c24b6e059a9eb3;hpb=cbbeafb85547b0310506df609b5bdc65bf2c0747 diff --git a/howdoesitwork.lhs b/howdoesitwork.lhs index 342be54..b9970d6 100644 --- a/howdoesitwork.lhs +++ b/howdoesitwork.lhs @@ -8,13 +8,13 @@ \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 +\item Normal form already looks like hardware (components and lines) +\item You can also use TH, like ForSyDe. Or traverse datastructures, like ? \item We're in luck with the GHC API update of 6.10 and onwards -\item Normal form is a single lamda and a let expression, every let binder is a simple assignment -} \ No newline at end of file +}