From: Matthijs Kooijman Date: Wed, 9 Dec 2009 09:34:48 +0000 (+0100) Subject: Add reference. X-Git-Tag: final-thesis~8 X-Git-Url: https://git.stderr.nl/gitweb?a=commitdiff_plain;h=5d71d2a32828f0c589696ba07dea0867c7fcf988;hp=efc1953cd015844a2d969a9c9b6e633569891033;p=matthijs%2Fmaster-project%2Freport.git Add reference. --- diff --git a/Chapters/Future.tex b/Chapters/Future.tex index 523fc0a..8cfd127 100644 --- a/Chapters/Future.tex +++ b/Chapters/Future.tex @@ -214,8 +214,9 @@ happening. An important implication of this approach is that the order of writing function applications affects the state type. Fortunately, this problem can be -localized by consistently using type synonyms for state types, which should -prevent changes in other function's source when a function changes. +localized by consistently using type synonyms for state types (see +\in{section}[sec:prototype:substatesynonyms]), which should prevent +changes in other function's source when a function changes. A less obvious implications of this approach is that the scope of variables produced by each of these expressions (using the \hs{<-} syntax) is limited to @@ -223,8 +224,6 @@ the expressions that come after it. This prevents values from flowing between two functions (components) in two directions. For most Monad instances, this is a requirement, but here it could have been different. -\todo{Add examples or reference for state synonyms} - \subsection{Alternative syntax} Because of these typing issues, misusing Haskell's do notation is probably not the best solution here. However, it does show that using fairly simple diff --git a/Chapters/Prototype.tex b/Chapters/Prototype.tex index 720053c..870b7cc 100644 --- a/Chapters/Prototype.tex +++ b/Chapters/Prototype.tex @@ -911,7 +911,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 +938,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