X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=howdoesitwork.lhs;h=4c26ca534ffecfa49b9e7362b68d2f0c985316c6;hb=8dbb9f84b45c91f448bdb71067b450014c2d4b64;hp=342be54965bdf856471244679abf96414982db54;hpb=715d9487c4e666cef21e89f0735d23a4f5ab2d27;p=matthijs%2Fmaster-project%2Fhaskell-symposium-talk.git diff --git a/howdoesitwork.lhs b/howdoesitwork.lhs index 342be54..4c26ca5 100644 --- a/howdoesitwork.lhs +++ b/howdoesitwork.lhs @@ -8,13 +8,14 @@ \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 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 -\item Normal form is a single lamda and a let expression, every let binder is a simple assignment -} \ No newline at end of file +}