X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Chapters%2FPrototype.tex;h=96abdba007819ca679a8a752f7cb0e019e63dd3c;hp=7677cde8a990aac96276880179b00083002bf10d;hb=60adea85c728b5c5cf7394a7fb244cf6624b4dbd;hpb=781e18d74e018edbe47c011ab6741456138682ab diff --git a/Chapters/Prototype.tex b/Chapters/Prototype.tex index 7677cde..96abdba 100644 --- a/Chapters/Prototype.tex +++ b/Chapters/Prototype.tex @@ -239,8 +239,15 @@ reason, \small{GHC} runs its simplifications and optimizations on the core representation as well \cite[jones96]. - However, we will use the normal core representation, not the simplified - core. Reasons for this are detailed below. \todo{Ref} + We will use the normal Core representation, not the simplified Core. Even + though the simplified Core version is an equivalent, but simpler + definition, some problems were encountered with it in practice. The + simplifier restructures some (stateful) functions in a way the normalizer + and the \VHDL generation cannot handle, leading to uncompilable programs + (whereas the non-simplified version more closely resembles the original + program, allowing the original to be written in a way that can be + handled). This problem is further discussed in + \in{section}[sec:normalization:stateproblems]. The final prototype roughly consists of three steps: @@ -1393,6 +1400,5 @@ % Implementation issues: state splitting, linking input to output state, % checking usage constraints on state variables. % -% \todo{Implementation issues: Separate compilation, simplified core.} % % vim: set sw=2 sts=2 expandtab: