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=bb178ef5c75d6adf38295303902670365634319c;hpb=73b5dbc07a705b9eec15976a62bded98f6a159f5 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 +}