X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Chapters%2FPrototype.tex;h=ff24bb001403c3a339546c4cb93b074c8b84f406;hp=a18d30d1ad5c48911808a2606044d47796c9128b;hb=28b745e6faf774843ecdfbce67bdd22b8b4fc550;hpb=4485b899f0fb8ddd68a08fa977b4766a0d801086 diff --git a/Chapters/Prototype.tex b/Chapters/Prototype.tex index a18d30d..ff24bb0 100644 --- a/Chapters/Prototype.tex +++ b/Chapters/Prototype.tex @@ -678,6 +678,7 @@ support. \placeintermezzo{}{ + \defref{id function} \startframedtext[width=8cm,background=box,frame=no] \startalignment[center] {\tfa The \hs{id} function} @@ -795,7 +796,7 @@ A predicate type introduces a constraint on a type variable introduced by a forall type (or type lambda). In the example above, the type variable \lam{t} can only contain types that are an \emph{instance} of - the \emph{type class} \lam{Show}. \refdef{type class} + the \emph{type class} \lam{Show}. There are other sorts of predicate types, used for the type families extension, which we will not discuss here. @@ -1326,7 +1327,7 @@ res \stopbuffer \placeexample[here][ex:AvgStateRemoved]{Normalized version of \in{example}[ex:AvgState] with ignored parts crossed out} - {\typebufferlam{AvgStatRemoved}} + {\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