X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Chapters%2FPrototype.tex;h=23168242ccc098c594b8ae291db2b80ccb04b5a8;hp=720053c4f83a6b818fc3416d464696d0d81f8d1c;hb=HEAD;hpb=efc1953cd015844a2d969a9c9b6e633569891033 diff --git a/Chapters/Prototype.tex b/Chapters/Prototype.tex index 720053c..2316824 100644 --- a/Chapters/Prototype.tex +++ b/Chapters/Prototype.tex @@ -496,7 +496,6 @@ of a case expression to normal form (evaluating any function applications, variable references and case expressions) is sufficient to decide which case alternatives should be chosen. - \todo{ref?} \stopframedtext } @@ -911,7 +910,7 @@ We cannot leave all these \hs{State} type constructors out, since that would change the type (unlike when using type synonyms). However, when using type synonyms to hide away sub-states (see - \in{section}[sec:prototype:sub-statesynonyms] below), this + \in{section}[sec:prototype:substatesynonyms] below), this disadvantage should be limited. \subsubsection{Different input and output types} @@ -938,7 +937,7 @@ and output state types, possible reducing the type-safety of the descriptions. - \subsection[sec:prototype:sub-statesynonyms]{Type synonyms for sub-states} + \subsection[sec:prototype:substatesynonyms]{Type synonyms for sub-states} As noted above, when using nested (hierarchical) states, the state types of the \quote{upper} functions (those that call other functions, which call other functions, etc.) quickly become complicated. Also, when the @@ -1302,11 +1301,10 @@ When applying these rules to the function \lam{avg} from \in{example}[ex:AvgStateNormal], we be left with the description - in \in{example}[ex:AvgStateRemoved]. All the parts that do not - generate any \VHDL\ directly are crossed out, leaving just the - actual flow of values in the final hardware. To illustrate the - change of the types of \lam{s} and \lam{s'}, their types are also - shown. + below. All the parts that do not generate any \VHDL\ directly are + crossed out, leaving just the actual flow of values in the final + hardware. To illustrate the change of the types of \lam{s} and \lam{s'}, + their types are also shown. \startbuffer[AvgStateRemoved] avg = iλ.λ--spacked.-- @@ -1327,8 +1325,7 @@ in res \stopbuffer - \placeexample[here][ex:AvgStateRemoved]{Normalized version of \in{example}[ex:AvgState] with ignored parts crossed out} - {\typebufferlam{AvgStateRemoved}} + \typebufferlam{AvgStateRemoved} When we actually leave out the crossed out parts, we get a slightly weird program: there is a variable \lam{s} which has no value, and there