Skip to content
Browse files

Added figures for stream examples

  • Loading branch information...
1 parent 03f679b commit 496da4c201d19508b09bbc99993b0c0be10ab6b1 @leithaus committed Jun 24, 2010
View
2 src/main/book/content/bibliography/monadic.aux
@@ -1,6 +1,6 @@
\relax
\@setckpt{bibliography/monadic}{
-\setcounter{page}{119}
+\setcounter{page}{123}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
30 src/main/book/content/chapters/eight/ch.aux
@@ -1,22 +1,22 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {8}Domain model, storage and state}{103}{chapter.8}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {8}Domain model, storage and state}{107}{chapter.8}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {8.1}Mapping our domain model to storage}{103}{section.8.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.1}Functional and relational models}{103}{subsection.8.1.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.2}Functional and XML models}{103}{subsection.8.1.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.3}ORM}{103}{subsection.8.1.3}}
-\@writefile{toc}{\contentsline {section}{\numberline {8.2}Storage and language-integrated query}{103}{section.8.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.1}LINQ and \lstinline [language=Scala]!for!-comprehensions}{103}{subsection.8.2.1}}
-\@writefile{toc}{\contentsline {subsubsection}{Open source implementations}{103}{section*.62}}
-\@writefile{toc}{\contentsline {paragraph}{ScalaQuery}{103}{section*.63}}
-\@writefile{toc}{\contentsline {paragraph}{Squeryl}{103}{section*.64}}
-\@writefile{lof}{\contentsline {figure}{\numberline {8.1}{\ignorespaces Chapter map }}{104}{figure.8.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {8.3}Continuations revisited}{104}{section.8.3}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.3.1}Stored state}{104}{subsection.8.3.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.3.2}Transactions}{104}{subsection.8.3.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {8.1}Mapping our domain model to storage}{107}{section.8.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.1}Functional and relational models}{107}{subsection.8.1.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.2}Functional and XML models}{107}{subsection.8.1.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.3}ORM}{107}{subsection.8.1.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {8.2}Storage and language-integrated query}{107}{section.8.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.2.1}LINQ and \lstinline [language=Scala]!for!-comprehensions}{107}{subsection.8.2.1}}
+\@writefile{toc}{\contentsline {subsubsection}{Open source implementations}{107}{section*.62}}
+\@writefile{toc}{\contentsline {paragraph}{ScalaQuery}{107}{section*.63}}
+\@writefile{toc}{\contentsline {paragraph}{Squeryl}{107}{section*.64}}
+\@writefile{lof}{\contentsline {figure}{\numberline {8.1}{\ignorespaces Chapter map }}{108}{figure.8.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {8.3}Continuations revisited}{108}{section.8.3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.3.1}Stored state}{108}{subsection.8.3.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.3.2}Transactions}{108}{subsection.8.3.2}}
\@setckpt{chapters/eight/ch}{
-\setcounter{page}{105}
+\setcounter{page}{109}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
62 src/main/book/content/chapters/five/ch.aux
@@ -1,38 +1,38 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {5}The domain model as abstract syntax}{51}{chapter.5}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {5}The domain model as abstract syntax}{53}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {5.1}Our abstract syntax}{51}{section.5.1}}
-\@writefile{toc}{\contentsline {paragraph}{Abstract syntax}{51}{section*.29}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Chapter map }}{52}{figure.5.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.2}Our application domain model}{52}{section.5.2}}
-\@writefile{toc}{\contentsline {subsubsection}{Our toy language}{52}{section*.30}}
-\@writefile{toc}{\contentsline {paragraph}{A simple-minded representation}{52}{section*.31}}
-\@writefile{toc}{\contentsline {paragraph}{Currying}{53}{section*.32}}
-\@writefile{toc}{\contentsline {paragraph}{Type parametrization and quotation}{54}{section*.33}}
-\@writefile{toc}{\contentsline {paragraph}{Some syntactic sugar}{55}{section*.34}}
-\@writefile{toc}{\contentsline {paragraph}{Digression: complexity management principle}{55}{section*.35}}
-\@writefile{toc}{\contentsline {paragraph}{Concrete syntax}{55}{section*.36}}
-\@writefile{toc}{\contentsline {paragraph}{Translating concrete syntax to abstract syntax}{56}{section*.37}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.1}translating concrete to abstract syntax}{56}{lstlisting.5.1}}
-\@writefile{toc}{\contentsline {paragraph}{Structural equivalence and Relations or What makes abstract syntax abstract}{59}{section*.38}}
-\@writefile{toc}{\contentsline {paragraph}{Digression: the internal structure of the type of variables}{63}{section*.39}}
-\@writefile{toc}{\contentsline {paragraph}{Evaluation -- aka operational semantics}{64}{section*.40}}
-\@writefile{toc}{\contentsline {paragraph}{Ordinary maps}{64}{section*.41}}
-\@writefile{toc}{\contentsline {paragraph}{DeBruijn notation}{64}{section*.42}}
-\@writefile{toc}{\contentsline {subsubsection}{The \texttt {Scala} implementation}{64}{section*.43}}
-\@writefile{toc}{\contentsline {subsubsection}{What goes into a language definition}{66}{section*.44}}
-\@writefile{toc}{\contentsline {paragraph}{Syntax}{67}{section*.45}}
-\@writefile{toc}{\contentsline {paragraph}{Structural equivalence}{67}{section*.46}}
-\@writefile{toc}{\contentsline {paragraph}{Operational semantics}{67}{section*.47}}
-\@writefile{toc}{\contentsline {paragraph}{Discussion}{67}{section*.48}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.3}The project model}{68}{section.5.3}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Abstract syntax}{68}{subsection.5.3.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}Concrete syntax -- and presentation layer}{68}{subsection.5.3.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}Domain model}{68}{subsection.5.3.3}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.4}A transform pipeline}{68}{section.5.4}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.1}Our abstract syntax}{53}{section.5.1}}
+\@writefile{toc}{\contentsline {paragraph}{Abstract syntax}{53}{section*.29}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Chapter map }}{54}{figure.5.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.2}Our application domain model}{54}{section.5.2}}
+\@writefile{toc}{\contentsline {subsubsection}{Our toy language}{54}{section*.30}}
+\@writefile{toc}{\contentsline {paragraph}{A simple-minded representation}{54}{section*.31}}
+\@writefile{toc}{\contentsline {paragraph}{Currying}{55}{section*.32}}
+\@writefile{toc}{\contentsline {paragraph}{Type parametrization and quotation}{56}{section*.33}}
+\@writefile{toc}{\contentsline {paragraph}{Some syntactic sugar}{57}{section*.34}}
+\@writefile{toc}{\contentsline {paragraph}{Digression: complexity management principle}{57}{section*.35}}
+\@writefile{toc}{\contentsline {paragraph}{Concrete syntax}{57}{section*.36}}
+\@writefile{toc}{\contentsline {paragraph}{Translating concrete syntax to abstract syntax}{58}{section*.37}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {5.1}translating concrete to abstract syntax}{58}{lstlisting.5.1}}
+\@writefile{toc}{\contentsline {paragraph}{Structural equivalence and Relations or What makes abstract syntax abstract}{61}{section*.38}}
+\@writefile{toc}{\contentsline {paragraph}{Digression: the internal structure of the type of variables}{65}{section*.39}}
+\@writefile{toc}{\contentsline {paragraph}{Evaluation -- aka operational semantics}{66}{section*.40}}
+\@writefile{toc}{\contentsline {paragraph}{Ordinary maps}{66}{section*.41}}
+\@writefile{toc}{\contentsline {paragraph}{DeBruijn notation}{66}{section*.42}}
+\@writefile{toc}{\contentsline {subsubsection}{The \texttt {Scala} implementation}{66}{section*.43}}
+\@writefile{toc}{\contentsline {subsubsection}{What goes into a language definition}{68}{section*.44}}
+\@writefile{toc}{\contentsline {paragraph}{Syntax}{69}{section*.45}}
+\@writefile{toc}{\contentsline {paragraph}{Structural equivalence}{69}{section*.46}}
+\@writefile{toc}{\contentsline {paragraph}{Operational semantics}{69}{section*.47}}
+\@writefile{toc}{\contentsline {paragraph}{Discussion}{69}{section*.48}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.3}The project model}{70}{section.5.3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Abstract syntax}{70}{subsection.5.3.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}Concrete syntax -- and presentation layer}{70}{subsection.5.3.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}Domain model}{70}{subsection.5.3.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.4}A transform pipeline}{70}{section.5.4}}
\@setckpt{chapters/five/ch}{
-\setcounter{page}{69}
+\setcounter{page}{71}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
18 src/main/book/content/chapters/four/ch.aux
@@ -1,16 +1,16 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {4}Parsing requests, monadically}{47}{chapter.4}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {4}Parsing requests, monadically}{49}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {4.1}Obligatory parsing monad}{47}{section.4.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.2}Your parser combinators are showing}{47}{section.4.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.3}EBNF and why higher levels of abstraction are better}{47}{section.4.3}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Different platforms, different parsers}{47}{subsection.4.3.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}Different performance constraints, different parsers}{47}{subsection.4.3.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.3}Maintainability}{47}{subsection.4.3.3}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Chapter map }}{48}{figure.4.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.1}Obligatory parsing monad}{49}{section.4.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.2}Your parser combinators are showing}{49}{section.4.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.3}EBNF and why higher levels of abstraction are better}{49}{section.4.3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Different platforms, different parsers}{49}{subsection.4.3.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}Different performance constraints, different parsers}{49}{subsection.4.3.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.3}Maintainability}{49}{subsection.4.3.3}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Chapter map }}{50}{figure.4.1}}
\@setckpt{chapters/four/ch}{
-\setcounter{page}{50}
+\setcounter{page}{52}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
14 src/main/book/content/chapters/nine/ch.aux
@@ -1,14 +1,14 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {9}Putting it all together}{105}{chapter.9}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {9}Putting it all together}{109}{chapter.9}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {9.1}Our web application end-to-end}{105}{section.9.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {9.2}Deploying our application}{105}{section.9.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.2.1}Why we are not deploying on GAE}{105}{subsection.9.2.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {9.3}From one web application to web framework}{105}{section.9.3}}
-\@writefile{lof}{\contentsline {figure}{\numberline {9.1}{\ignorespaces Chapter map }}{106}{figure.9.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {9.1}Our web application end-to-end}{109}{section.9.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {9.2}Deploying our application}{109}{section.9.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {9.2.1}Why we are not deploying on GAE}{109}{subsection.9.2.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {9.3}From one web application to web framework}{109}{section.9.3}}
+\@writefile{lof}{\contentsline {figure}{\numberline {9.1}{\ignorespaces Chapter map }}{110}{figure.9.1}}
\@setckpt{chapters/nine/ch}{
-\setcounter{page}{107}
+\setcounter{page}{111}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
54 src/main/book/content/chapters/seven/ch.aux
@@ -1,34 +1,34 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {7}A review of collections as monads}{95}{chapter.7}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {7}A review of collections as monads}{99}{chapter.7}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {7.1}Sets, Lists and Languages}{95}{section.7.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}Witnessing Sets and Lists monadicity}{95}{subsection.7.1.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces Chapter map }}{96}{figure.7.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Languages and Sets of Words}{100}{subsection.7.1.2}}
-\@writefile{toc}{\contentsline {subsubsection}{Kleene star}{100}{section*.57}}
-\@writefile{toc}{\contentsline {subsubsection}{I am not a number, I am a free monoid}{100}{section*.58}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}Of lenses and bananas}{100}{subsection.7.1.3}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.2}Containers and syntax}{100}{section.7.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}The algebra of Sets}{100}{subsection.7.2.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}The algebra of Lists}{100}{subsection.7.2.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}The algebra of Sets of Words}{101}{subsection.7.2.3}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.3}Algebras}{101}{section.7.3}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}Kleisli}{101}{subsection.7.3.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.2}Eilenberg-Moore}{101}{subsection.7.3.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.4}Monad as container}{101}{section.7.4}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.5}Monads and take-out}{101}{section.7.5}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.1}Option as container}{102}{subsection.7.5.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.2}I/O monad for contrast}{102}{subsection.7.5.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.3}Matching gazintas and gazoutas}{102}{subsection.7.5.3}}
-\@writefile{toc}{\contentsline {subsubsection}{Intuitionistic discipline}{102}{section*.60}}
-\@writefile{toc}{\contentsline {subsubsection}{Linear discipline}{102}{section*.61}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.6}Co-monad and take-out}{102}{section.7.6}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.7}Hopf structure}{102}{section.7.7}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.8}Container and control}{102}{section.7.8}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.8.1}Delimited continuations reconsidered}{102}{subsection.7.8.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.1}Sets, Lists and Languages}{99}{section.7.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}Witnessing Sets and Lists monadicity}{99}{subsection.7.1.1}}
+\@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces Chapter map }}{100}{figure.7.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Languages and Sets of Words}{104}{subsection.7.1.2}}
+\@writefile{toc}{\contentsline {subsubsection}{Kleene star}{104}{section*.57}}
+\@writefile{toc}{\contentsline {subsubsection}{I am not a number, I am a free monoid}{104}{section*.58}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}Of lenses and bananas}{104}{subsection.7.1.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.2}Containers and syntax}{104}{section.7.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}The algebra of Sets}{104}{subsection.7.2.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}The algebra of Lists}{104}{subsection.7.2.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}The algebra of Sets of Words}{105}{subsection.7.2.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.3}Algebras}{105}{section.7.3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}Kleisli}{105}{subsection.7.3.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.2}Eilenberg-Moore}{105}{subsection.7.3.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.4}Monad as container}{105}{section.7.4}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.5}Monads and take-out}{105}{section.7.5}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.1}Option as container}{106}{subsection.7.5.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.2}I/O monad for contrast}{106}{subsection.7.5.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.3}Matching gazintas and gazoutas}{106}{subsection.7.5.3}}
+\@writefile{toc}{\contentsline {subsubsection}{Intuitionistic discipline}{106}{section*.60}}
+\@writefile{toc}{\contentsline {subsubsection}{Linear discipline}{106}{section*.61}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.6}Co-monad and take-out}{106}{section.7.6}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.7}Hopf structure}{106}{section.7.7}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.8}Container and control}{106}{section.7.8}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.8.1}Delimited continuations reconsidered}{106}{subsection.7.8.1}}
\@setckpt{chapters/seven/ch}{
-\setcounter{page}{103}
+\setcounter{page}{107}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
72 src/main/book/content/chapters/six/ch.aux
@@ -1,42 +1,42 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {6}Zippers and contexts and URI's, oh my!}{69}{chapter.6}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {6}Zippers and contexts and URI's, oh my!}{71}{chapter.6}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {6.1}Zippers are not just for Bruno anymore}{69}{section.6.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}The history of the zipper}{69}{subsection.6.1.1}}
-\@writefile{toc}{\contentsline {subsubsection}{Huet's zipper}{69}{section*.49}}
-\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Chapter map }}{70}{figure.6.1}}
-\@writefile{toc}{\contentsline {paragraph}{The navigation functions}{73}{section*.50}}
-\@writefile{toc}{\contentsline {paragraph}{Exercising the zipper}{74}{section*.51}}
-\@writefile{toc}{\contentsline {subsubsection}{Zippers generically}{78}{section*.52}}
-\@writefile{toc}{\contentsline {paragraph}{Two kinds of genericity}{78}{section*.53}}
-\@writefile{toc}{\contentsline {paragraph}{Genericity of structure}{78}{section*.54}}
-\@writefile{toc}{\contentsline {paragraph}{Genericity of control}{79}{section*.55}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.2}Zipper and one-holed contexts}{80}{section.6.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.3}Differentiation and contexts}{80}{section.6.3}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}Regular types}{80}{subsection.6.3.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Container types}{80}{subsection.6.3.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.4}Generic zipper -- differentiating navigation}{80}{section.6.4}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}Delimited continuations}{83}{subsection.6.4.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {6.2}{\ignorespaces delimited continuations and synchronized exchange }}{84}{figure.6.2}}
-\@writefile{toc}{\contentsline {subsubsection}{The genericity of delimited continuations}{84}{section*.56}}
-\@writefile{lof}{\contentsline {figure}{\numberline {6.3}{\ignorespaces Giver's side }}{85}{figure.6.3}}
-\@writefile{lof}{\contentsline {figure}{\numberline {6.4}{\ignorespaces Taker's side }}{86}{figure.6.4}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.5}Species of Structure}{86}{section.6.5}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.6}Constructing contexts and zippers from data types}{86}{section.6.6}}
-\@writefile{lof}{\contentsline {figure}{\numberline {6.5}{\ignorespaces Context and subterm }}{87}{figure.6.5}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.6.1}Contexts}{87}{subsection.6.6.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.6.2}Zippers}{87}{subsection.6.6.2}}
-\@writefile{lof}{\contentsline {figure}{\numberline {6.6}{\ignorespaces Context and subterm }}{88}{figure.6.6}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.7}Mapping URIs to zipper-based paths and back}{93}{section.6.7}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.7.1}Path and context}{93}{subsection.6.7.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.7.2}Homomorphisms and obfuscation}{93}{subsection.6.7.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.8}Applying zippers to our project}{93}{section.6.8}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.8.1}Navigating and editing terms}{93}{subsection.6.8.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.8.2}Navigating and editing projects}{93}{subsection.6.8.2}}
-\@writefile{lof}{\contentsline {figure}{\numberline {6.7}{\ignorespaces Zippers and editors }}{94}{figure.6.7}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.1}Zippers are not just for Bruno anymore}{71}{section.6.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}The history of the zipper}{71}{subsection.6.1.1}}
+\@writefile{toc}{\contentsline {subsubsection}{Huet's zipper}{71}{section*.49}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Chapter map }}{72}{figure.6.1}}
+\@writefile{toc}{\contentsline {paragraph}{The navigation functions}{75}{section*.50}}
+\@writefile{toc}{\contentsline {paragraph}{Exercising the zipper}{76}{section*.51}}
+\@writefile{toc}{\contentsline {subsubsection}{Zippers generically}{80}{section*.52}}
+\@writefile{toc}{\contentsline {paragraph}{Two kinds of genericity}{80}{section*.53}}
+\@writefile{toc}{\contentsline {paragraph}{Genericity of structure}{80}{section*.54}}
+\@writefile{toc}{\contentsline {paragraph}{Genericity of control}{81}{section*.55}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.2}Zipper and one-holed contexts}{82}{section.6.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.3}Differentiation and contexts}{82}{section.6.3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}Regular types}{82}{subsection.6.3.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Container types}{82}{subsection.6.3.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.4}Generic zipper -- differentiating navigation}{82}{section.6.4}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}Delimited continuations}{85}{subsection.6.4.1}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6.2}{\ignorespaces delimited continuations and synchronized exchange }}{86}{figure.6.2}}
+\@writefile{toc}{\contentsline {subsubsection}{The genericity of delimited continuations}{86}{section*.56}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6.3}{\ignorespaces Giver's side }}{87}{figure.6.3}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6.4}{\ignorespaces Taker's side }}{88}{figure.6.4}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.5}Species of Structure}{88}{section.6.5}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.6}Constructing contexts and zippers from data types}{88}{section.6.6}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6.5}{\ignorespaces Context and subterm }}{89}{figure.6.5}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.6.1}Contexts}{89}{subsection.6.6.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.6.2}Zippers}{89}{subsection.6.6.2}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6.6}{\ignorespaces Context and subterm }}{90}{figure.6.6}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.7}Mapping URIs to zipper-based paths and back}{95}{section.6.7}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.7.1}Path and context}{95}{subsection.6.7.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.7.2}Homomorphisms and obfuscation}{95}{subsection.6.7.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.8}Applying zippers to our project}{95}{section.6.8}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.8.1}Navigating and editing terms}{95}{subsection.6.8.1}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6.7}{\ignorespaces Zippers and editors }}{96}{figure.6.7}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.8.2}Navigating and editing projects}{97}{subsection.6.8.2}}
\@setckpt{chapters/six/ch}{
-\setcounter{page}{95}
+\setcounter{page}{98}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
@@ -56,7 +56,7 @@
\setcounter{parentequation}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{10}
-\setcounter{lstnumber}{133}
+\setcounter{lstnumber}{42}
\setcounter{theorem}{0}
\setcounter{section@level}{2}
\setcounter{lstlisting}{0}
View
46 src/main/book/content/chapters/six/mapping-uris-zipper-based-paths.tex
@@ -14,4 +14,50 @@ \section{Applying zippers to our project}
\end{figure}
\subsection{Navigating and editing terms}
+Consider the following term.
+
+\begin{lstlisting}[language=Scala,mathescape=true]
+ // Corresponds to the Church numeral:
+ // $\lambda \; f . \; \lambda \; x . $
+ // $(f \; \lambda \; f . \; f \; \lambda \; f \; . \; \lambda \; x . \; x )$
+ // $((f \; \lambda \; f \; . \; \lambda \; x . \; x) x)$
+ Abstraction(
+ List( StringLiteral( "f" ) ),
+ Abstraction(
+ List( StringLiteral( "x" ) ),
+ Application(
+ Application(
+ Mention( StringLiteral( "f" ) ),
+ Abstraction(
+ List( StringLiteral( "f" ) ),
+ Application(
+ Mention( StringLiteral( "f" ) ),
+ Abstraction(
+ List( StringLiteral( "f" ) ),
+ Abstraction(
+ List( StringLiteral( "x" ) ),
+ Mention( StringLiteral( "x" ) )
+ )
+ )
+ )
+ )
+ ),
+ Application(
+ Application(
+ Mention( StringLiteral( "f" ) ),
+ Abstraction(
+ List( StringLiteral( "f" ) ),
+ Abstraction(
+ List( StringLiteral( "x" ) ),
+ Mention( StringLiteral( "x" ) )
+ )
+ )
+ ),
+ Mention( StringLiteral( "x" ) )
+ )
+ )
+ )
+ )
+\end{lstlisting}
+
\subsection{Navigating and editing projects}
View
52 src/main/book/content/chapters/ten/ch.aux
@@ -1,33 +1,33 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {10}The semantic web}{107}{chapter.10}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {10}The semantic web}{111}{chapter.10}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {10.1}Referential transparency}{107}{section.10.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {10.1}{\ignorespaces Chapter map }}{108}{figure.10.1}}
-\@writefile{toc}{\contentsline {paragraph}{A little motivation}{108}{section*.65}}
-\@writefile{toc}{\contentsline {section}{\numberline {10.2}Composing monads}{109}{section.10.2}}
-\@writefile{toc}{\contentsline {subsubsection}{Preliminary}{110}{section*.66}}
-\@writefile{toc}{\contentsline {section}{\numberline {10.3}Semantic application queries}{111}{section.10.3}}
-\@writefile{toc}{\contentsline {subsubsection}{An alternative presentation}{111}{section*.67}}
-\@writefile{toc}{\contentsline {paragraph}{Logic: the set monad as an algebra}{112}{section*.68}}
-\@writefile{toc}{\contentsline {paragraph}{Primes: an application}{113}{section*.69}}
-\@writefile{toc}{\contentsline {paragraph}{Summary}{113}{section*.70}}
-\@writefile{toc}{\contentsline {subsubsection}{Patterns}{114}{section*.71}}
-\@writefile{toc}{\contentsline {subsubsection}{A first mini-query language}{114}{section*.72}}
-\@writefile{toc}{\contentsline {subsubsection}{Iterating the design pattern}{114}{section*.73}}
-\@writefile{toc}{\contentsline {paragraph}{A spatial-behavioral-style logic for $\lambda $-calculus}{115}{section*.74}}
-\@writefile{toc}{\contentsline {paragraph}{Examples}{115}{section*.75}}
-\@writefile{toc}{\contentsline {subsubsection}{Logical semantics}{116}{section*.76}}
-\@writefile{toc}{\contentsline {subsubsection}{Other collection monads, other logics}{116}{section*.77}}
-\@writefile{toc}{\contentsline {paragraph}{Stateful collections}{116}{section*.78}}
-\@writefile{lof}{\contentsline {figure}{\numberline {10.2}{\ignorespaces Comprehensions and distributive maps }}{117}{figure.10.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {10.3.1}Other logical operations}{118}{subsection.10.3.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {10.4}Searching for programs}{118}{section.10.4}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {10.4.1}A new foundation for search}{118}{subsection.10.4.1}}
-\@writefile{toc}{\contentsline {subsubsection}{Monad composition via distributive laws}{118}{section*.79}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {10.4.2}Examples}{118}{subsection.10.4.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.1}Referential transparency}{111}{section.10.1}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.1}{\ignorespaces Chapter map }}{112}{figure.10.1}}
+\@writefile{toc}{\contentsline {paragraph}{A little motivation}{112}{section*.65}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.2}Composing monads}{113}{section.10.2}}
+\@writefile{toc}{\contentsline {subsubsection}{Preliminary}{114}{section*.66}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.3}Semantic application queries}{115}{section.10.3}}
+\@writefile{toc}{\contentsline {subsubsection}{An alternative presentation}{115}{section*.67}}
+\@writefile{toc}{\contentsline {paragraph}{Logic: the set monad as an algebra}{116}{section*.68}}
+\@writefile{toc}{\contentsline {paragraph}{Primes: an application}{117}{section*.69}}
+\@writefile{toc}{\contentsline {paragraph}{Summary}{117}{section*.70}}
+\@writefile{toc}{\contentsline {subsubsection}{Patterns}{118}{section*.71}}
+\@writefile{toc}{\contentsline {subsubsection}{A first mini-query language}{118}{section*.72}}
+\@writefile{toc}{\contentsline {subsubsection}{Iterating the design pattern}{118}{section*.73}}
+\@writefile{toc}{\contentsline {paragraph}{A spatial-behavioral-style logic for $\lambda $-calculus}{119}{section*.74}}
+\@writefile{toc}{\contentsline {paragraph}{Examples}{119}{section*.75}}
+\@writefile{toc}{\contentsline {subsubsection}{Logical semantics}{120}{section*.76}}
+\@writefile{toc}{\contentsline {subsubsection}{Other collection monads, other logics}{120}{section*.77}}
+\@writefile{toc}{\contentsline {paragraph}{Stateful collections}{120}{section*.78}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.2}{\ignorespaces Comprehensions and distributive maps }}{121}{figure.10.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {10.3.1}Other logical operations}{122}{subsection.10.3.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.4}Searching for programs}{122}{section.10.4}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {10.4.1}A new foundation for search}{122}{subsection.10.4.1}}
+\@writefile{toc}{\contentsline {subsubsection}{Monad composition via distributive laws}{122}{section*.79}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {10.4.2}Examples}{122}{subsection.10.4.2}}
\@setckpt{chapters/ten/ch}{
-\setcounter{page}{119}
+\setcounter{page}{123}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
14 src/main/book/content/chapters/three/ch.aux
@@ -4,12 +4,14 @@
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Code first, questions later}{39}{section.3.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Chapter map }}{40}{figure.3.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}An HTTP-request processor}{46}{subsection.3.1.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}What we did}{46}{subsection.3.1.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.2}Synchrony, asynchrony and buffering}{46}{section.3.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.3}State, statelessness and continuations}{46}{section.3.3}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces HTTP stream example 1 }}{41}{figure.3.2}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces HTTP stream example 2 }}{42}{figure.3.3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}An HTTP-request processor}{48}{subsection.3.1.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}What we did}{48}{subsection.3.1.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.2}Synchrony, asynchrony and buffering}{48}{section.3.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.3}State, statelessness and continuations}{48}{section.3.3}}
\@setckpt{chapters/three/ch}{
-\setcounter{page}{47}
+\setcounter{page}{49}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
@@ -24,7 +26,7 @@
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
-\setcounter{figure}{1}
+\setcounter{figure}{3}
\setcounter{table}{0}
\setcounter{parentequation}{0}
\setcounter{Item}{0}
View
16 src/main/book/content/chapters/three/io-monad-for-http-streams.tex
@@ -1,2 +1,16 @@
The following code is adapted from Tiark Rompf's work using delimited
-continuations for handling HTTP streams.
+continuations for handling HTTP streams.
+
+\begin{figure}[tbp]
+\begin{center}
+{ \includegraphics[scale=.85]{/Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/HTTPStreamExample0.pdf} }
+\caption{ HTTP stream example 1 }
+\end{center}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+{ \includegraphics[scale=.85]{/Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/HTTPStreamExample1.pdf} }
+\caption{ HTTP stream example 2 }
+\end{center}
+\end{figure}
View
30 src/main/book/content/monadic.lof
@@ -7,24 +7,26 @@
\addvspace {10\p@ }
\addvspace {10\p@ }
\contentsline {figure}{\numberline {3.1}{\ignorespaces Chapter map }}{40}{figure.3.1}
+\contentsline {figure}{\numberline {3.2}{\ignorespaces HTTP stream example 1 }}{41}{figure.3.2}
+\contentsline {figure}{\numberline {3.3}{\ignorespaces HTTP stream example 2 }}{42}{figure.3.3}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {4.1}{\ignorespaces Chapter map }}{48}{figure.4.1}
+\contentsline {figure}{\numberline {4.1}{\ignorespaces Chapter map }}{50}{figure.4.1}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {5.1}{\ignorespaces Chapter map }}{52}{figure.5.1}
+\contentsline {figure}{\numberline {5.1}{\ignorespaces Chapter map }}{54}{figure.5.1}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {6.1}{\ignorespaces Chapter map }}{70}{figure.6.1}
-\contentsline {figure}{\numberline {6.2}{\ignorespaces delimited continuations and synchronized exchange }}{84}{figure.6.2}
-\contentsline {figure}{\numberline {6.3}{\ignorespaces Giver's side }}{85}{figure.6.3}
-\contentsline {figure}{\numberline {6.4}{\ignorespaces Taker's side }}{86}{figure.6.4}
-\contentsline {figure}{\numberline {6.5}{\ignorespaces Context and subterm }}{87}{figure.6.5}
-\contentsline {figure}{\numberline {6.6}{\ignorespaces Context and subterm }}{88}{figure.6.6}
-\contentsline {figure}{\numberline {6.7}{\ignorespaces Zippers and editors }}{94}{figure.6.7}
+\contentsline {figure}{\numberline {6.1}{\ignorespaces Chapter map }}{72}{figure.6.1}
+\contentsline {figure}{\numberline {6.2}{\ignorespaces delimited continuations and synchronized exchange }}{86}{figure.6.2}
+\contentsline {figure}{\numberline {6.3}{\ignorespaces Giver's side }}{87}{figure.6.3}
+\contentsline {figure}{\numberline {6.4}{\ignorespaces Taker's side }}{88}{figure.6.4}
+\contentsline {figure}{\numberline {6.5}{\ignorespaces Context and subterm }}{89}{figure.6.5}
+\contentsline {figure}{\numberline {6.6}{\ignorespaces Context and subterm }}{90}{figure.6.6}
+\contentsline {figure}{\numberline {6.7}{\ignorespaces Zippers and editors }}{96}{figure.6.7}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {7.1}{\ignorespaces Chapter map }}{96}{figure.7.1}
+\contentsline {figure}{\numberline {7.1}{\ignorespaces Chapter map }}{100}{figure.7.1}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {8.1}{\ignorespaces Chapter map }}{104}{figure.8.1}
+\contentsline {figure}{\numberline {8.1}{\ignorespaces Chapter map }}{108}{figure.8.1}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {9.1}{\ignorespaces Chapter map }}{106}{figure.9.1}
+\contentsline {figure}{\numberline {9.1}{\ignorespaces Chapter map }}{110}{figure.9.1}
\addvspace {10\p@ }
-\contentsline {figure}{\numberline {10.1}{\ignorespaces Chapter map }}{108}{figure.10.1}
-\contentsline {figure}{\numberline {10.2}{\ignorespaces Comprehensions and distributive maps }}{117}{figure.10.2}
+\contentsline {figure}{\numberline {10.1}{\ignorespaces Chapter map }}{112}{figure.10.1}
+\contentsline {figure}{\numberline {10.2}{\ignorespaces Comprehensions and distributive maps }}{121}{figure.10.2}
View
244 src/main/book/content/monadic.log
@@ -1,4 +1,4 @@
-This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=pdflatex 2010.3.17) 9 JUN 2010 06:08
+This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=pdflatex 2010.3.17) 24 JUN 2010 06:05
entering extended mode
**monadic.tex
(./monadic.tex
@@ -430,7 +430,7 @@ LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
-{/opt/local/share/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
+{/Users/lgm/.texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
Package hyperref Warning: No destination for bookmark of \addcontentsline,
(hyperref) destination is added on input line 36.
@@ -450,15 +450,11 @@ l.31 ...little more history}{26}{subsection.2.3.1}
[5]
[6
-] (./monadic.lof
-Underfull \vbox (badness 10000) has occurred while \output is active []
-
- [7])
+] (./monadic.lof [7])
\tf@lof=\write7
\openout7 = `monadic.lof'.
-
-[8] (./monadic.lot)
+ [8] (./monadic.lot)
\tf@lot=\write8
\openout8 = `monadic.lot'.
@@ -550,7 +546,7 @@ l.36 \end{itemize}
[10] [11] [12])
(./chapters/one/how-are-we-going-to-get-there.tex
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/R
-LambdaSignupPageScreenShot.pdf, id=710, 1353.055pt x 881.2925pt>
+LambdaSignupPageScreenShot.pdf, id=714, 1353.055pt x 881.2925pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/RLambdaSignupPageScreenShot.pdf Graphic file (type pdf)
@@ -563,7 +559,7 @@ Overfull \hbox (46.785pt too wide) in paragraph at lines 26--27
[13] [14 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/
figures/RLambdaSignupPageScreenShot.pdf>]
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/R
-LambdaREPLPageScreenShot.pdf, id=729, 1353.055pt x 881.2925pt>
+LambdaREPLPageScreenShot.pdf, id=733, 1353.055pt x 881.2925pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/RLambdaREPLPageScreenShot.pdf Graphic file (type pdf)
@@ -575,7 +571,7 @@ Overfull \hbox (46.785pt too wide) in paragraph at lines 51--52
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/R
-LambdaSampleEvaluationResultPage.pdf, id=730, 1353.055pt x 881.2925pt>
+LambdaSampleEvaluationResultPage.pdf, id=734, 1353.055pt x 881.2925pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/RLambdaSampleEvaluationResultPage.pdf Graphic file (type pdf)
@@ -602,7 +598,7 @@ LaTeX Font Warning: Font shape `OMS/cmtt/m/n' undefined
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/P
-rojectEditor.pdf, id=757, 699.61375pt x 523.9575pt>
+rojectEditor.pdf, id=761, 699.61375pt x 523.9575pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/ProjectEditor.pdf Graphic file (type pdf)
@@ -615,7 +611,7 @@ Overfull \hbox (27.95221pt too wide) in paragraph at lines 130--131
[17] [18 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/
figures/ProjectEditor.pdf>]
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/M
-onadicDesignPatternsChapterMap2.pdf, id=879, 748.7975pt x 582.175pt>
+onadicDesignPatternsChapterMap2.pdf, id=883, 748.7975pt x 582.175pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/MonadicDesignPatternsChapterMap2.pdf Graphic file (type pdf)
@@ -706,14 +702,39 @@ Overfull \hbox (3.25792pt too wide) in paragraph at lines 588--589
Chapter 3.
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/M
-onadicDesignPatternsChapterMapFocus3.pdf, id=1365, 748.7975pt x 582.175pt>
+onadicDesignPatternsChapterMapFocus3.pdf, id=1369, 748.7975pt x 582.175pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/MonadicDesignPatternsChapterMapFocus3.pdf Graphic file (type pdf)
<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
es/MonadicDesignPatternsChapterMapFocus3.pdf>
-(./chapters/three/io-monad-for-http-streams.tex)
-(./chapters/three/code-first.tex [39]
+(./chapters/three/io-monad-for-http-streams.tex
+</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/H
+TTPStreamExample0.pdf, id=1370, 435.6275pt x 664.4825pt>
+File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
+res/HTTPStreamExample0.pdf Graphic file (type pdf)
+
+<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
+es/HTTPStreamExample0.pdf>
+
+LaTeX Warning: Float too large for page by 7.13823pt on input line 9.
+
+
+</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/H
+TTPStreamExample1.pdf, id=1371, 579.16376pt x 664.4825pt>
+File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
+res/HTTPStreamExample1.pdf Graphic file (type pdf)
+
+<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
+es/HTTPStreamExample1.pdf>
+Overfull \hbox (65.50018pt too wide) in paragraph at lines 13--14
+ []
+ []
+
+
+LaTeX Warning: Float too large for page by 22.63823pt on input line 16.
+
+) (./chapters/three/code-first.tex [39]
Overfull \hbox (10.3079pt too wide) in paragraph at lines 34--36
[][][][][][][][][][][][][][][][][][][][][][]
[]
@@ -736,7 +757,10 @@ Overfull \hbox (59.65782pt too wide) in paragraph at lines 43--44
[]
[40 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
-es/MonadicDesignPatternsChapterMapFocus3.pdf>]
+es/MonadicDesignPatternsChapterMapFocus3.pdf>] [41 </Users/lgm/work/src/projex/
+biosimilarity/trace/src/main/book/content/figures/HTTPStreamExample0.pdf>]
+[42 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
+es/HTTPStreamExample1.pdf>]
Overfull \hbox (3.25792pt too wide) in paragraph at lines 63--65
[][][][][][][][][][][][][][][][]
[]
@@ -759,15 +783,15 @@ Overfull \hbox (101.95775pt too wide) in paragraph at lines 84--85
Underfull \vbox (badness 10000) has occurred while \output is active []
- [41]
+ [43]
Overfull \hbox (66.70781pt too wide) in paragraph at lines 114--116
[][][][][][][][][][][][][][][][][][][][][][][][]
[]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [42]
+ [44]
Overfull \hbox (109.00774pt too wide) in paragraph at lines 134--135
[][][][][][][][][][][][][][][][][][]
[]
@@ -790,7 +814,7 @@ Overfull \hbox (17.3579pt too wide) in paragraph at lines 164--165
Underfull \vbox (badness 10000) has occurred while \output is active []
- [43]
+ [45]
Overfull \hbox (66.70781pt too wide) in paragraph at lines 198--199
[][][][][][][][][][][][][][][][][][][][][]
[]
@@ -803,7 +827,7 @@ Overfull \hbox (3.25792pt too wide) in paragraph at lines 204--205
Underfull \vbox (badness 10000) has occurred while \output is active []
- [44]
+ [46]
Overfull \hbox (17.3579pt too wide) in paragraph at lines 220--221
[][][][][][][][][][][][][][][][][][]
[]
@@ -823,27 +847,27 @@ Overfull \hbox (59.65782pt too wide) in paragraph at lines 250--251
Underfull \vbox (badness 10000) has occurred while \output is active []
- [45]
+ [47]
LaTeX Font Info: Font shape `OMS/cmr/m/it' in size <12> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 257.
)
(./chapters/three/synchrony-asynchrony-buffering.tex)
-(./chapters/three/state-statelessness-continuations.tex) [46])
+(./chapters/three/state-statelessness-continuations.tex) [48])
\openout2 = `chapters/four/ch.aux'.
(./chapters/four/ch.tex
Chapter 4.
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/M
-onadicDesignPatternsChapterMapFocus4.pdf, id=1903, 748.7975pt x 582.175pt>
+onadicDesignPatternsChapterMapFocus4.pdf, id=2095, 748.7975pt x 582.175pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/MonadicDesignPatternsChapterMapFocus4.pdf Graphic file (type pdf)
<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
es/MonadicDesignPatternsChapterMapFocus4.pdf> (./chapters/four/parsing.tex)
(./chapters/four/obligatory-parsing-monad.tex)
-(./chapters/four/parser-combinators.tex) (./chapters/four/EBNF.tex [47
+(./chapters/four/parser-combinators.tex) (./chapters/four/EBNF.tex [49
@@ -866,7 +890,7 @@ Overfull \hbox (496.75706pt too wide) in paragraph at lines 25--27
][][][]
[]
-[48 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
+[50 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
es/MonadicDesignPatternsChapterMapFocus4.pdf>]
Overfull \hbox (116.05772pt too wide) in paragraph at lines 38--39
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
@@ -899,61 +923,61 @@ Overfull \hbox (130.1577pt too wide) in paragraph at lines 49--51
[][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-) [49])
+) [51])
\openout2 = `chapters/five/ch.aux'.
- (./chapters/five/ch.tex [50
+ (./chapters/five/ch.tex [52
]
Chapter 5.
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/M
-onadicDesignPatternsChapterMapFocus5.pdf, id=2162, 748.7975pt x 582.175pt>
+onadicDesignPatternsChapterMapFocus5.pdf, id=2354, 748.7975pt x 582.175pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/MonadicDesignPatternsChapterMapFocus5.pdf Graphic file (type pdf)
<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
es/MonadicDesignPatternsChapterMapFocus5.pdf> (./chapters/five/domain-model.tex
) (./chapters/five/abstract-syntax.tex)
-(./chapters/five/application-domain-model.tex [51]
+(./chapters/five/application-domain-model.tex [53]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [52 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
-res/MonadicDesignPatternsChapterMapFocus5.pdf>] [53]
+ [54 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
+res/MonadicDesignPatternsChapterMapFocus5.pdf>] [55]
Overfull \hbox (3.25792pt too wide) in paragraph at lines 96--97
[][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[54] [55] [56]
+[56] [57] [58]
Overfull \hbox (59.65782pt too wide) in paragraph at lines 253--254
[][][][][][][][][][][][][][][][][][][][][][]
[]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [57]
+ [59]
Underfull \vbox (badness 7186) has occurred while \output is active []
- [58]
+ [60]
Overfull \hbox (3.25792pt too wide) in paragraph at lines 364--365
[][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[59]
+[61]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [60]
+ [62]
Overfull \hbox (3.25792pt too wide) in paragraph at lines 439--440
[][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [61]
+ [63]
Overfull \hbox (24.40788pt too wide) in paragraph at lines 461--462
[][][][][][][][][][][][][][][][][][][][][][][]
[]
@@ -963,7 +987,7 @@ Overfull \hbox (59.65782pt too wide) in paragraph at lines 466--467
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[62] [63] [64]
+[64] [65] [66]
Overfull \hbox (10.3079pt too wide) in paragraph at lines 618--619
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
@@ -976,7 +1000,7 @@ Overfull \hbox (17.3579pt too wide) in paragraph at lines 634--635
Underfull \vbox (badness 10000) has occurred while \output is active []
- [65]
+ [67]
Overfull \hbox (3.25792pt too wide) in paragraph at lines 648--649
[][][][][][][][][][][][][][][][][][][][][]
[]
@@ -991,31 +1015,31 @@ Overfull \hbox (45.55785pt too wide) in paragraph at lines 658--659
[][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[66] [67]) (./chapters/five/transform-pipeline.tex) [68])
+[68] [69]) (./chapters/five/transform-pipeline.tex) [70])
\openout2 = `chapters/six/ch.aux'.
(./chapters/six/ch.tex
Chapter 6.
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/M
-onadicDesignPatternsChapterMapFocus6.pdf, id=2751, 748.7975pt x 582.175pt>
+onadicDesignPatternsChapterMapFocus6.pdf, id=2943, 748.7975pt x 582.175pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/MonadicDesignPatternsChapterMapFocus6.pdf Graphic file (type pdf)
<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
es/MonadicDesignPatternsChapterMapFocus6.pdf>
-(./chapters/six/brunos-zippers.tex [69
+(./chapters/six/brunos-zippers.tex [71
-] [70 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/fig
+] [72 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/fig
ures/MonadicDesignPatternsChapterMapFocus6.pdf>]
Overfull \hbox (24.40788pt too wide) in paragraph at lines 84--85
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[71] [72]
+[73] [74]
Overfull \hbox (38.50786pt too wide) in paragraph at lines 185--186
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
@@ -1025,7 +1049,7 @@ Overfull \hbox (38.50786pt too wide) in paragraph at lines 198--199
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[73]
+[75]
Overfull \hbox (3.25792pt too wide) in paragraph at lines 211--212
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
@@ -1051,23 +1075,23 @@ Overfull \hbox (10.3079pt too wide) in paragraph at lines 246--247
[][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[74]
+[76]
Overfull \hbox (10.3079pt too wide) in paragraph at lines 289--290
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[75] [76]
-Underfull \vbox (badness 10000) has occurred while \output is active []
-
- [77]
-[78]) (./chapters/six/constructing-contexts-zippers-data-types.tex
+[77] [78]
Underfull \vbox (badness 10000) has occurred while \output is active []
[79]
-[80]
+[80]) (./chapters/six/constructing-contexts-zippers-data-types.tex
Underfull \vbox (badness 10000) has occurred while \output is active []
[81]
+[82]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [83]
Overfull \hbox (52.60783pt too wide) in paragraph at lines 117--118
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][
][][]
@@ -1076,46 +1100,46 @@ Overfull \hbox (52.60783pt too wide) in paragraph at lines 117--118
Underfull \vbox (badness 10000) has occurred while \output is active []
- [82]
+ [84]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [83]
+ [85]
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/P
-roducerConsumerEeyoreNPoohInitial.pdf, id=3416, 759.83875pt x 417.56pt>
+roducerConsumerEeyoreNPoohInitial.pdf, id=3608, 759.83875pt x 417.56pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/ProducerConsumerEeyoreNPoohInitial.pdf Graphic file (type pdf)
<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
-es/ProducerConsumerEeyoreNPoohInitial.pdf> [84 </Users/lgm/work/src/projex/bios
+es/ProducerConsumerEeyoreNPoohInitial.pdf> [86 </Users/lgm/work/src/projex/bios
imilarity/trace/src/main/book/content/figures/ProducerConsumerEeyoreNPoohInitia
l.pdf>]
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/P
-roducerConsumerEeyoreNPoohSupply.pdf, id=3490, 759.83875pt x 487.8225pt>
+roducerConsumerEeyoreNPoohSupply.pdf, id=3683, 759.83875pt x 487.8225pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/ProducerConsumerEeyoreNPoohSupply.pdf Graphic file (type pdf)
<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
es/ProducerConsumerEeyoreNPoohSupply.pdf>
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/P
-roducerConsumerEeyoreNPoohRequest.pdf, id=3491, 759.83875pt x 457.71pt>
+roducerConsumerEeyoreNPoohRequest.pdf, id=3684, 759.83875pt x 457.71pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/ProducerConsumerEeyoreNPoohRequest.pdf Graphic file (type pdf)
<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
-es/ProducerConsumerEeyoreNPoohRequest.pdf> [85 </Users/lgm/work/src/projex/bios
+es/ProducerConsumerEeyoreNPoohRequest.pdf> [87 </Users/lgm/work/src/projex/bios
imilarity/trace/src/main/book/content/figures/ProducerConsumerEeyoreNPoohSupply
-.pdf>]) (./chapters/six/zippers-and-contexts.tex [86 </Users/lgm/work/src/proje
+.pdf>]) (./chapters/six/zippers-and-contexts.tex [88 </Users/lgm/work/src/proje
x/biosimilarity/trace/src/main/book/content/figures/ProducerConsumerEeyoreNPooh
Request.pdf>]
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/Z
-ipperContext1.pdf, id=3610, 317.185pt x 253.94875pt>
+ipperContext1.pdf, id=3802, 317.185pt x 253.94875pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/ZipperContext1.pdf Graphic file (type pdf)
<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
es/ZipperContext1.pdf>
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/D
-erivative.pdf, id=3611, 624.3325pt x 464.73625pt>
+erivative.pdf, id=3803, 624.3325pt x 464.73625pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/Derivative.pdf Graphic file (type pdf)
@@ -1125,17 +1149,17 @@ Overfull \hbox (41.4569pt too wide) in paragraph at lines 35--36
[]
[]
-[87 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
-es/ZipperContext1.pdf>] [88 </Users/lgm/work/src/projex/biosimilarity/trace/src
+[89 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
+es/ZipperContext1.pdf>] [90 </Users/lgm/work/src/projex/biosimilarity/trace/src
/main/book/content/figures/Derivative.pdf>]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [89]
+ [91]
Overfull \hbox (10.3079pt too wide) in paragraph at lines 104--105
[][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[90]
+[92]
Overfull \hbox (31.45787pt too wide) in paragraph at lines 150--151
[][][][][][][][][][][][][][][][][]
[]
@@ -1148,23 +1172,23 @@ Overfull \hbox (10.3079pt too wide) in paragraph at lines 161--162
Underfull \vbox (badness 10000) has occurred while \output is active []
- [91]
+ [93]
Overfull \hbox (73.7578pt too wide) in paragraph at lines 206--207
[][][][][][][][][][][][][][][][][][][][][][][][][]
[]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [92])
+ [94])
(./chapters/six/mapping-uris-zipper-based-paths.tex
Overfull \hbox (3.44252pt too wide) in paragraph at lines 1--1
[]\OT1/cmr/bx/n/17.28 Mapping URIs to zipper-based paths and back
[]
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/P
-rojectZipper.pdf, id=3994, 699.61375pt x 523.9575pt>
+rojectZipper.pdf, id=4186, 699.61375pt x 523.9575pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/ProjectZipper.pdf Graphic file (type pdf)
@@ -1174,15 +1198,19 @@ Overfull \hbox (27.95221pt too wide) in paragraph at lines 11--12
[]
[]
-) [93] [94 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/conten
-t/figures/ProjectZipper.pdf>])
+[95] [96 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/
+figures/ProjectZipper.pdf>]) [97])
\openout2 = `chapters/seven/ch.aux'.
- (./chapters/seven/ch.tex
+ (./chapters/seven/ch.tex [98
+
+
+
+]
Chapter 7.
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/M
-onadicDesignPatternsChapterMapFocus7.pdf, id=4134, 748.7975pt x 582.175pt>
+onadicDesignPatternsChapterMapFocus7.pdf, id=4377, 748.7975pt x 582.175pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/MonadicDesignPatternsChapterMapFocus7.pdf Graphic file (type pdf)
@@ -1191,11 +1219,7 @@ es/MonadicDesignPatternsChapterMapFocus7.pdf>
(./chapters/seven/collections-as-monads.tex
Underfull \vbox (badness 10000) has occurred while \output is active []
- [95
-
-
-
-]
+ [99]
Overfull \hbox (3.25792pt too wide) in paragraph at lines 30--31
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][
][][][][][][][][]
@@ -1204,11 +1228,11 @@ Overfull \hbox (3.25792pt too wide) in paragraph at lines 30--31
Underfull \vbox (badness 10000) has occurred while \output is active []
- [96 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
-res/MonadicDesignPatternsChapterMapFocus7.pdf>]
+ [100 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/fig
+ures/MonadicDesignPatternsChapterMapFocus7.pdf>]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [97]
+ [101]
Overfull \hbox (7.03279pt too wide) in paragraph at lines 120--126
[][][][][][][][][][][][][][][][][][][][][][][][]\OT1/cmr/m/n/12 . In a sim-i-la
r man-ner, [][][][][][][][][][][][][][][][][][][][][]
@@ -1217,19 +1241,19 @@ r man-ner, [][][][][][][][][][][][][][][][][][][][][]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [98]
+ [102]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [99]
-[100]) (./chapters/seven/container.tex) (./chapters/seven/monad-and-comonad.tex
-[101]) [102])
+ [103]
+[104]) (./chapters/seven/container.tex) (./chapters/seven/monad-and-comonad.tex
+[105]) [106])
\openout2 = `chapters/eight/ch.aux'.
(./chapters/eight/ch.tex
Chapter 8.
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/M
-onadicDesignPatternsChapterMapFocus8.pdf, id=4414, 748.7975pt x 582.175pt>
+onadicDesignPatternsChapterMapFocus8.pdf, id=4657, 748.7975pt x 582.175pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/MonadicDesignPatternsChapterMapFocus8.pdf Graphic file (type pdf)
@@ -1241,48 +1265,48 @@ es/MonadicDesignPatternsChapterMapFocus8.pdf>
Package hyperref Warning: Token not allowed in a PDFDocEncoded string,
(hyperref) removing `\lstinline' on input line 3.
-) (./chapters/eight/continuations-revisited.tex) [103
+) (./chapters/eight/continuations-revisited.tex) [107
-] [104 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/fi
+] [108 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/fi
gures/MonadicDesignPatternsChapterMapFocus8.pdf>])
\openout2 = `chapters/nine/ch.aux'.
(./chapters/nine/ch.tex
Chapter 9.
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/M
-onadicDesignPatternsChapterMapFocus9.pdf, id=4615, 751.80875pt x 580.1675pt>
+onadicDesignPatternsChapterMapFocus9.pdf, id=4857, 751.80875pt x 580.1675pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/MonadicDesignPatternsChapterMapFocus9.pdf Graphic file (type pdf)
<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
es/MonadicDesignPatternsChapterMapFocus9.pdf>
(./chapters/nine/putting-it-all-together.tex) (./chapters/nine/end-to-end.tex)
(./chapters/nine/deployment.tex) (./chapters/nine/application-to-framework.tex)
-[105
+[109
-]) [106 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/f
+]) [110 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/f
igures/MonadicDesignPatternsChapterMapFocus9.pdf>]
\openout2 = `chapters/ten/ch.aux'.
(./chapters/ten/ch.tex
Chapter 10.
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/M
-onadicDesignPatternsChapterMapFocus10.pdf, id=4808, 748.7975pt x 582.175pt>
+onadicDesignPatternsChapterMapFocus10.pdf, id=5051, 748.7975pt x 582.175pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/MonadicDesignPatternsChapterMapFocus10.pdf Graphic file (type pdf)
<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
-es/MonadicDesignPatternsChapterMapFocus10.pdf> [107
+es/MonadicDesignPatternsChapterMapFocus10.pdf> [111
-] [108 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/fi
+] [112 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/fi
gures/MonadicDesignPatternsChapterMapFocus10.pdf>]
Overfull \hbox (34.15538pt too wide) in paragraph at lines 90--94
[]\OT1/cmr/m/n/12 Intriguingly, mon-ads do not au-to-mat-i-cally com-pose. That
@@ -1292,11 +1316,11 @@ Overfull \hbox (34.15538pt too wide) in paragraph at lines 90--94
Underfull \vbox (badness 10000) has occurred while \output is active []
- [109]
-[110] (./chapters/ten/semantic-web.tex) (./chapters/ten/new-queries.tex
-[111] [112] [113] [114] [115]
+ [113]
+[114] (./chapters/ten/semantic-web.tex) (./chapters/ten/new-queries.tex
+[115] [116] [117] [118] [119]
</Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/M
-onadVisualization.pdf, id=5086, 822.07124pt x 615.29875pt>
+onadVisualization.pdf, id=5329, 822.07124pt x 615.29875pt>
File: /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
res/MonadVisualization.pdf Graphic file (type pdf)
@@ -1306,9 +1330,9 @@ Overfull \hbox (107.54865pt too wide) in paragraph at lines 311--312
[]
[]
-[116] [117 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/conten
+[120] [121 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/conten
t/figures/MonadVisualization.pdf>]) (./chapters/ten/search-for-behavior.tex)
-[118])
+[122])
\openout2 = `bibliography/monadic.aux'.
@@ -1323,17 +1347,17 @@ LaTeX Font Warning: Some font shapes were not available, defaults substituted.
)
Here is how much of TeX's memory you used:
- 10485 strings out of 94500
- 141092 string characters out of 1174973
- 211991 words of memory out of 1000000
- 11546 multiletter control sequences out of 10000+50000
+ 10543 strings out of 94500
+ 142681 string characters out of 1174973
+ 211990 words of memory out of 1000000
+ 11554 multiletter control sequences out of 10000+50000
19826 words of font info for 75 fonts, out of 500000 for 2000
580 hyphenation exceptions out of 1000
- 34i,20n,56p,925b,1557s stack positions out of 1500i,500n,5000p,200000b,5000s
+ 34i,20n,56p,925b,1560s stack positions out of 1500i,500n,5000p,200000b,5000s
PDF statistics:
- 5219 PDF objects out of 300000
- 1790 named destinations out of 131072
- 957 words of extra memory for PDF output out of 65536
+ 5462 PDF objects out of 300000
+ 1838 named destinations out of 131072
+ 967 words of extra memory for PDF output out of 65536
</opt/local/share/texmf-dist/fonts/type1/bluesky/cm/cmbx8.pfb></opt/local/sha
re/texmf-dist/fonts/type1/bluesky/cm/cmsy8.pfb></opt/local/share/texmf-dist/fon
ts/type1/bluesky/latex/line10.pfb></opt/local/share/texmf-dist/fonts/type1/blue
@@ -1353,4 +1377,4 @@ mti10.pfb></opt/local/share/texmf-dist/fonts/type1/bluesky/cm/cmsy10.pfb></opt/
local/share/texmf-dist/fonts/type1/bluesky/cm/cmr10.pfb></opt/local/share/texmf
-dist/fonts/type1/bluesky/cm/cmr12.pfb></opt/local/share/texmf-dist/fonts/type1
/bluesky/cm/cmr17.pfb>
-Output written on monadic.pdf (129 pages, 4914440 bytes).
+Output written on monadic.pdf (133 pages, 5017545 bytes).
View
BIN src/main/book/content/monadic.pdf
Binary file not shown.
View
264 src/main/book/content/monadic.toc
@@ -44,135 +44,135 @@
\contentsline {paragraph}{Monads are triples}{34}{section*.28}
\contentsline {chapter}{\numberline {3}An IO-monad for http streams}{39}{chapter.3}
\contentsline {section}{\numberline {3.1}Code first, questions later}{39}{section.3.1}
-\contentsline {subsection}{\numberline {3.1.1}An HTTP-request processor}{46}{subsection.3.1.1}
-\contentsline {subsection}{\numberline {3.1.2}What we did}{46}{subsection.3.1.2}
-\contentsline {section}{\numberline {3.2}Synchrony, asynchrony and buffering}{46}{section.3.2}
-\contentsline {section}{\numberline {3.3}State, statelessness and continuations}{46}{section.3.3}
-\contentsline {chapter}{\numberline {4}Parsing requests, monadically}{47}{chapter.4}
-\contentsline {section}{\numberline {4.1}Obligatory parsing monad}{47}{section.4.1}
-\contentsline {section}{\numberline {4.2}Your parser combinators are showing}{47}{section.4.2}
-\contentsline {section}{\numberline {4.3}EBNF and why higher levels of abstraction are better}{47}{section.4.3}
-\contentsline {subsection}{\numberline {4.3.1}Different platforms, different parsers}{47}{subsection.4.3.1}
-\contentsline {subsection}{\numberline {4.3.2}Different performance constraints, different parsers}{47}{subsection.4.3.2}
-\contentsline {subsection}{\numberline {4.3.3}Maintainability}{47}{subsection.4.3.3}
-\contentsline {chapter}{\numberline {5}The domain model as abstract syntax}{51}{chapter.5}
-\contentsline {section}{\numberline {5.1}Our abstract syntax}{51}{section.5.1}
-\contentsline {paragraph}{Abstract syntax}{51}{section*.29}
-\contentsline {section}{\numberline {5.2}Our application domain model}{52}{section.5.2}
-\contentsline {subsubsection}{Our toy language}{52}{section*.30}
-\contentsline {paragraph}{A simple-minded representation}{52}{section*.31}
-\contentsline {paragraph}{Currying}{53}{section*.32}
-\contentsline {paragraph}{Type parametrization and quotation}{54}{section*.33}
-\contentsline {paragraph}{Some syntactic sugar}{55}{section*.34}
-\contentsline {paragraph}{Digression: complexity management principle}{55}{section*.35}
-\contentsline {paragraph}{Concrete syntax}{55}{section*.36}
-\contentsline {paragraph}{Translating concrete syntax to abstract syntax}{56}{section*.37}
-\contentsline {paragraph}{Structural equivalence and Relations or What makes abstract syntax abstract}{59}{section*.38}
-\contentsline {paragraph}{Digression: the internal structure of the type of variables}{63}{section*.39}
-\contentsline {paragraph}{Evaluation -- aka operational semantics}{64}{section*.40}
-\contentsline {paragraph}{Ordinary maps}{64}{section*.41}
-\contentsline {paragraph}{DeBruijn notation}{64}{section*.42}
-\contentsline {subsubsection}{The \texttt {Scala} implementation}{64}{section*.43}
-\contentsline {subsubsection}{What goes into a language definition}{66}{section*.44}
-\contentsline {paragraph}{Syntax}{67}{section*.45}
-\contentsline {paragraph}{Structural equivalence}{67}{section*.46}
-\contentsline {paragraph}{Operational semantics}{67}{section*.47}
-\contentsline {paragraph}{Discussion}{67}{section*.48}
-\contentsline {section}{\numberline {5.3}The project model}{68}{section.5.3}
-\contentsline {subsection}{\numberline {5.3.1}Abstract syntax}{68}{subsection.5.3.1}
-\contentsline {subsection}{\numberline {5.3.2}Concrete syntax -- and presentation layer}{68}{subsection.5.3.2}
-\contentsline {subsection}{\numberline {5.3.3}Domain model}{68}{subsection.5.3.3}
-\contentsline {section}{\numberline {5.4}A transform pipeline}{68}{section.5.4}
-\contentsline {chapter}{\numberline {6}Zippers and contexts and URI's, oh my!}{69}{chapter.6}
-\contentsline {section}{\numberline {6.1}Zippers are not just for Bruno anymore}{69}{section.6.1}
-\contentsline {subsection}{\numberline {6.1.1}The history of the zipper}{69}{subsection.6.1.1}
-\contentsline {subsubsection}{Huet's zipper}{69}{section*.49}
-\contentsline {paragraph}{The navigation functions}{73}{section*.50}
-\contentsline {paragraph}{Exercising the zipper}{74}{section*.51}
-\contentsline {subsubsection}{Zippers generically}{78}{section*.52}
-\contentsline {paragraph}{Two kinds of genericity}{78}{section*.53}
-\contentsline {paragraph}{Genericity of structure}{78}{section*.54}
-\contentsline {paragraph}{Genericity of control}{79}{section*.55}
-\contentsline {section}{\numberline {6.2}Zipper and one-holed contexts}{80}{section.6.2}
-\contentsline {section}{\numberline {6.3}Differentiation and contexts}{80}{section.6.3}
-\contentsline {subsection}{\numberline {6.3.1}Regular types}{80}{subsection.6.3.1}
-\contentsline {subsection}{\numberline {6.3.2}Container types}{80}{subsection.6.3.2}
-\contentsline {section}{\numberline {6.4}Generic zipper -- differentiating navigation}{80}{section.6.4}
-\contentsline {subsection}{\numberline {6.4.1}Delimited continuations}{83}{subsection.6.4.1}
-\contentsline {subsubsection}{The genericity of delimited continuations}{84}{section*.56}
-\contentsline {section}{\numberline {6.5}Species of Structure}{86}{section.6.5}
-\contentsline {section}{\numberline {6.6}Constructing contexts and zippers from data types}{86}{section.6.6}
-\contentsline {subsection}{\numberline {6.6.1}Contexts}{87}{subsection.6.6.1}
-\contentsline {subsection}{\numberline {6.6.2}Zippers}{87}{subsection.6.6.2}
-\contentsline {section}{\numberline {6.7}Mapping URIs to zipper-based paths and back}{93}{section.6.7}
-\contentsline {subsection}{\numberline {6.7.1}Path and context}{93}{subsection.6.7.1}
-\contentsline {subsection}{\numberline {6.7.2}Homomorphisms and obfuscation}{93}{subsection.6.7.2}
-\contentsline {section}{\numberline {6.8}Applying zippers to our project}{93}{section.6.8}
-\contentsline {subsection}{\numberline {6.8.1}Navigating and editing terms}{93}{subsection.6.8.1}
-\contentsline {subsection}{\numberline {6.8.2}Navigating and editing projects}{93}{subsection.6.8.2}
-\contentsline {chapter}{\numberline {7}A review of collections as monads}{95}{chapter.7}
-\contentsline {section}{\numberline {7.1}Sets, Lists and Languages}{95}{section.7.1}
-\contentsline {subsection}{\numberline {7.1.1}Witnessing Sets and Lists monadicity}{95}{subsection.7.1.1}
-\contentsline {subsection}{\numberline {7.1.2}Languages and Sets of Words}{100}{subsection.7.1.2}
-\contentsline {subsubsection}{Kleene star}{100}{section*.57}
-\contentsline {subsubsection}{I am not a number, I am a free monoid}{100}{section*.58}
-\contentsline {subsection}{\numberline {7.1.3}Of lenses and bananas}{100}{subsection.7.1.3}
-\contentsline {section}{\numberline {7.2}Containers and syntax}{100}{section.7.2}
-\contentsline {subsection}{\numberline {7.2.1}The algebra of Sets}{100}{subsection.7.2.1}
-\contentsline {subsection}{\numberline {7.2.2}The algebra of Lists}{100}{subsection.7.2.2}
-\contentsline {subsection}{\numberline {7.2.3}The algebra of Sets of Words}{101}{subsection.7.2.3}
-\contentsline {section}{\numberline {7.3}Algebras}{101}{section.7.3}
-\contentsline {subsection}{\numberline {7.3.1}Kleisli}{101}{subsection.7.3.1}
-\contentsline {subsection}{\numberline {7.3.2}Eilenberg-Moore}{101}{subsection.7.3.2}
-\contentsline {section}{\numberline {7.4}Monad as container}{101}{section.7.4}
-\contentsline {section}{\numberline {7.5}Monads and take-out}{101}{section.7.5}
-\contentsline {subsection}{\numberline {7.5.1}Option as container}{102}{subsection.7.5.1}
-\contentsline {subsection}{\numberline {7.5.2}I/O monad for contrast}{102}{subsection.7.5.2}
-\contentsline {subsection}{\numberline {7.5.3}Matching gazintas and gazoutas}{102}{subsection.7.5.3}
-\contentsline {subsubsection}{Intuitionistic discipline}{102}{section*.60}
-\contentsline {subsubsection}{Linear discipline}{102}{section*.61}
-\contentsline {section}{\numberline {7.6}Co-monad and take-out}{102}{section.7.6}
-\contentsline {section}{\numberline {7.7}Hopf structure}{102}{section.7.7}
-\contentsline {section}{\numberline {7.8}Container and control}{102}{section.7.8}
-\contentsline {subsection}{\numberline {7.8.1}Delimited continuations reconsidered}{102}{subsection.7.8.1}
-\contentsline {chapter}{\numberline {8}Domain model, storage and state}{103}{chapter.8}
-\contentsline {section}{\numberline {8.1}Mapping our domain model to storage}{103}{section.8.1}
-\contentsline {subsection}{\numberline {8.1.1}Functional and relational models}{103}{subsection.8.1.1}
-\contentsline {subsection}{\numberline {8.1.2}Functional and XML models}{103}{subsection.8.1.2}
-\contentsline {subsection}{\numberline {8.1.3}ORM}{103}{subsection.8.1.3}
-\contentsline {section}{\numberline {8.2}Storage and language-integrated query}{103}{section.8.2}
-\contentsline {subsection}{\numberline {8.2.1}LINQ and \lstinline [language=Scala]!for!-comprehensions}{103}{subsection.8.2.1}
-\contentsline {subsubsection}{Open source implementations}{103}{section*.62}
-\contentsline {paragraph}{ScalaQuery}{103}{section*.63}
-\contentsline {paragraph}{Squeryl}{103}{section*.64}
-\contentsline {section}{\numberline {8.3}Continuations revisited}{104}{section.8.3}
-\contentsline {subsection}{\numberline {8.3.1}Stored state}{104}{subsection.8.3.1}
-\contentsline {subsection}{\numberline {8.3.2}Transactions}{104}{subsection.8.3.2}
-\contentsline {chapter}{\numberline {9}Putting it all together}{105}{chapter.9}
-\contentsline {section}{\numberline {9.1}Our web application end-to-end}{105}{section.9.1}
-\contentsline {section}{\numberline {9.2}Deploying our application}{105}{section.9.2}
-\contentsline {subsection}{\numberline {9.2.1}Why we are not deploying on GAE}{105}{subsection.9.2.1}
-\contentsline {section}{\numberline {9.3}From one web application to web framework}{105}{section.9.3}
-\contentsline {chapter}{\numberline {10}The semantic web}{107}{chapter.10}
-\contentsline {section}{\numberline {10.1}Referential transparency}{107}{section.10.1}
-\contentsline {paragraph}{A little motivation}{108}{section*.65}
-\contentsline {section}{\numberline {10.2}Composing monads}{109}{section.10.2}
-\contentsline {subsubsection}{Preliminary}{110}{section*.66}
-\contentsline {section}{\numberline {10.3}Semantic application queries}{111}{section.10.3}
-\contentsline {subsubsection}{An alternative presentation}{111}{section*.67}
-\contentsline {paragraph}{Logic: the set monad as an algebra}{112}{section*.68}
-\contentsline {paragraph}{Primes: an application}{113}{section*.69}
-\contentsline {paragraph}{Summary}{113}{section*.70}
-\contentsline {subsubsection}{Patterns}{114}{section*.71}
-\contentsline {subsubsection}{A first mini-query language}{114}{section*.72}
-\contentsline {subsubsection}{Iterating the design pattern}{114}{section*.73}
-\contentsline {paragraph}{A spatial-behavioral-style logic for $\lambda $-calculus}{115}{section*.74}
-\contentsline {paragraph}{Examples}{115}{section*.75}
-\contentsline {subsubsection}{Logical semantics}{116}{section*.76}
-\contentsline {subsubsection}{Other collection monads, other logics}{116}{section*.77}
-\contentsline {paragraph}{Stateful collections}{116}{section*.78}
-\contentsline {subsection}{\numberline {10.3.1}Other logical operations}{118}{subsection.10.3.1}
-\contentsline {section}{\numberline {10.4}Searching for programs}{118}{section.10.4}
-\contentsline {subsection}{\numberline {10.4.1}A new foundation for search}{118}{subsection.10.4.1}
-\contentsline {subsubsection}{Monad composition via distributive laws}{118}{section*.79}
-\contentsline {subsection}{\numberline {10.4.2}Examples}{118}{subsection.10.4.2}
+\contentsline {subsection}{\numberline {3.1.1}An HTTP-request processor}{48}{subsection.3.1.1}
+\contentsline {subsection}{\numberline {3.1.2}What we did}{48}{subsection.3.1.2}
+\contentsline {section}{\numberline {3.2}Synchrony, asynchrony and buffering}{48}{section.3.2}
+\contentsline {section}{\numberline {3.3}State, statelessness and continuations}{48}{section.3.3}
+\contentsline {chapter}{\numberline {4}Parsing requests, monadically}{49}{chapter.4}
+\contentsline {section}{\numberline {4.1}Obligatory parsing monad}{49}{section.4.1}
+\contentsline {section}{\numberline {4.2}Your parser combinators are showing}{49}{section.4.2}
+\contentsline {section}{\numberline {4.3}EBNF and why higher levels of abstraction are better}{49}{section.4.3}
+\contentsline {subsection}{\numberline {4.3.1}Different platforms, different parsers}{49}{subsection.4.3.1}
+\contentsline {subsection}{\numberline {4.3.2}Different performance constraints, different parsers}{49}{subsection.4.3.2}
+\contentsline {subsection}{\numberline {4.3.3}Maintainability}{49}{subsection.4.3.3}
+\contentsline {chapter}{\numberline {5}The domain model as abstract syntax}{53}{chapter.5}
+\contentsline {section}{\numberline {5.1}Our abstract syntax}{53}{section.5.1}
+\contentsline {paragraph}{Abstract syntax}{53}{section*.29}
+\contentsline {section}{\numberline {5.2}Our application domain model}{54}{section.5.2}
+\contentsline {subsubsection}{Our toy language}{54}{section*.30}
+\contentsline {paragraph}{A simple-minded representation}{54}{section*.31}
+\contentsline {paragraph}{Currying}{55}{section*.32}
+\contentsline {paragraph}{Type parametrization and quotation}{56}{section*.33}
+\contentsline {paragraph}{Some syntactic sugar}{57}{section*.34}
+\contentsline {paragraph}{Digression: complexity management principle}{57}{section*.35}
+\contentsline {paragraph}{Concrete syntax}{57}{section*.36}
+\contentsline {paragraph}{Translating concrete syntax to abstract syntax}{58}{section*.37}
+\contentsline {paragraph}{Structural equivalence and Relations or What makes abstract syntax abstract}{61}{section*.38}
+\contentsline {paragraph}{Digression: the internal structure of the type of variables}{65}{section*.39}
+\contentsline {paragraph}{Evaluation -- aka operational semantics}{66}{section*.40}
+\contentsline {paragraph}{Ordinary maps}{66}{section*.41}
+\contentsline {paragraph}{DeBruijn notation}{66}{section*.42}
+\contentsline {subsubsection}{The \texttt {Scala} implementation}{66}{section*.43}
+\contentsline {subsubsection}{What goes into a language definition}{68}{section*.44}
+\contentsline {paragraph}{Syntax}{69}{section*.45}
+\contentsline {paragraph}{Structural equivalence}{69}{section*.46}
+\contentsline {paragraph}{Operational semantics}{69}{section*.47}
+\contentsline {paragraph}{Discussion}{69}{section*.48}
+\contentsline {section}{\numberline {5.3}The project model}{70}{section.5.3}
+\contentsline {subsection}{\numberline {5.3.1}Abstract syntax}{70}{subsection.5.3.1}
+\contentsline {subsection}{\numberline {5.3.2}Concrete syntax -- and presentation layer}{70}{subsection.5.3.2}
+\contentsline {subsection}{\numberline {5.3.3}Domain model}{70}{subsection.5.3.3}
+\contentsline {section}{\numberline {5.4}A transform pipeline}{70}{section.5.4}
+\contentsline {chapter}{\numberline {6}Zippers and contexts and URI's, oh my!}{71}{chapter.6}
+\contentsline {section}{\numberline {6.1}Zippers are not just for Bruno anymore}{71}{section.6.1}
+\contentsline {subsection}{\numberline {6.1.1}The history of the zipper}{71}{subsection.6.1.1}
+\contentsline {subsubsection}{Huet's zipper}{71}{section*.49}
+\contentsline {paragraph}{The navigation functions}{75}{section*.50}
+\contentsline {paragraph}{Exercising the zipper}{76}{section*.51}
+\contentsline {subsubsection}{Zippers generically}{80}{section*.52}
+\contentsline {paragraph}{Two kinds of genericity}{80}{section*.53}
+\contentsline {paragraph}{Genericity of structure}{80}{section*.54}
+\contentsline {paragraph}{Genericity of control}{81}{section*.55}
+\contentsline {section}{\numberline {6.2}Zipper and one-holed contexts}{82}{section.6.2}
+\contentsline {section}{\numberline {6.3}Differentiation and contexts}{82}{section.6.3}
+\contentsline {subsection}{\numberline {6.3.1}Regular types}{82}{subsection.6.3.1}
+\contentsline {subsection}{\numberline {6.3.2}Container types}{82}{subsection.6.3.2}
+\contentsline {section}{\numberline {6.4}Generic zipper -- differentiating navigation}{82}{section.6.4}
+\contentsline {subsection}{\numberline {6.4.1}Delimited continuations}{85}{subsection.6.4.1}
+\contentsline {subsubsection}{The genericity of delimited continuations}{86}{section*.56}
+\contentsline {section}{\numberline {6.5}Species of Structure}{88}{section.6.5}
+\contentsline {section}{\numberline {6.6}Constructing contexts and zippers from data types}{88}{section.6.6}
+\contentsline {subsection}{\numberline {6.6.1}Contexts}{89}{subsection.6.6.1}
+\contentsline {subsection}{\numberline {6.6.2}Zippers}{89}{subsection.6.6.2}
+\contentsline {section}{\numberline {6.7}Mapping URIs to zipper-based paths and back}{95}{section.6.7}
+\contentsline {subsection}{\numberline {6.7.1}Path and context}{95}{subsection.6.7.1}
+\contentsline {subsection}{\numberline {6.7.2}Homomorphisms and obfuscation}{95}{subsection.6.7.2}
+\contentsline {section}{\numberline {6.8}Applying zippers to our project}{95}{section.6.8}
+\contentsline {subsection}{\numberline {6.8.1}Navigating and editing terms}{95}{subsection.6.8.1}
+\contentsline {subsection}{\numberline {6.8.2}Navigating and editing projects}{97}{subsection.6.8.2}
+\contentsline {chapter}{\numberline {7}A review of collections as monads}{99}{chapter.7}
+\contentsline {section}{\numberline {7.1}Sets, Lists and Languages}{99}{section.7.1}
+\contentsline {subsection}{\numberline {7.1.1}Witnessing Sets and Lists monadicity}{99}{subsection.7.1.1}
+\contentsline {subsection}{\numberline {7.1.2}Languages and Sets of Words}{104}{subsection.7.1.2}
+\contentsline {subsubsection}{Kleene star}{104}{section*.57}
+\contentsline {subsubsection}{I am not a number, I am a free monoid}{104}{section*.58}
+\contentsline {subsection}{\numberline {7.1.3}Of lenses and bananas}{104}{subsection.7.1.3}
+\contentsline {section}{\numberline {7.2}Containers and syntax}{104}{section.7.2}
+\contentsline {subsection}{\numberline {7.2.1}The algebra of Sets}{104}{subsection.7.2.1}
+\contentsline {subsection}{\numberline {7.2.2}The algebra of Lists}{104}{subsection.7.2.2}
+\contentsline {subsection}{\numberline {7.2.3}The algebra of Sets of Words}{105}{subsection.7.2.3}
+\contentsline {section}{\numberline {7.3}Algebras}{105}{section.7.3}
+\contentsline {subsection}{\numberline {7.3.1}Kleisli}{105}{subsection.7.3.1}
+\contentsline {subsection}{\numberline {7.3.2}Eilenberg-Moore}{105}{subsection.7.3.2}
+\contentsline {section}{\numberline {7.4}Monad as container}{105}{section.7.4}
+\contentsline {section}{\numberline {7.5}Monads and take-out}{105}{section.7.5}
+\contentsline {subsection}{\numberline {7.5.1}Option as container}{106}{subsection.7.5.1}
+\contentsline {subsection}{\numberline {7.5.2}I/O monad for contrast}{106}{subsection.7.5.2}
+\contentsline {subsection}{\numberline {7.5.3}Matching gazintas and gazoutas}{106}{subsection.7.5.3}
+\contentsline {subsubsection}{Intuitionistic discipline}{106}{section*.60}
+\contentsline {subsubsection}{Linear discipline}{106}{section*.61}
+\contentsline {section}{\numberline {7.6}Co-monad and take-out}{106}{section.7.6}
+\contentsline {section}{\numberline {7.7}Hopf structure}{106}{section.7.7}
+\contentsline {section}{\numberline {7.8}Container and control}{106}{section.7.8}
+\contentsline {subsection}{\numberline {7.8.1}Delimited continuations reconsidered}{106}{subsection.7.8.1}
+\contentsline {chapter}{\numberline {8}Domain model, storage and state}{107}{chapter.8}
+\contentsline {section}{\numberline {8.1}Mapping our domain model to storage}{107}{section.8.1}
+\contentsline {subsection}{\numberline {8.1.1}Functional and relational models}{107}{subsection.8.1.1}
+\contentsline {subsection}{\numberline {8.1.2}Functional and XML models}{107}{subsection.8.1.2}
+\contentsline {subsection}{\numberline {8.1.3}ORM}{107}{subsection.8.1.3}
+\contentsline {section}{\numberline {8.2}Storage and language-integrated query}{107}{section.8.2}
+\contentsline {subsection}{\numberline {8.2.1}LINQ and \lstinline [language=Scala]!for!-comprehensions}{107}{subsection.8.2.1}
+\contentsline {subsubsection}{Open source implementations}{107}{section*.62}
+\contentsline {paragraph}{ScalaQuery}{107}{section*.63}
+\contentsline {paragraph}{Squeryl}{107}{section*.64}
+\contentsline {section}{\numberline {8.3}Continuations revisited}{108}{section.8.3}
+\contentsline {subsection}{\numberline {8.3.1}Stored state}{108}{subsection.8.3.1}
+\contentsline {subsection}{\numberline {8.3.2}Transactions}{108}{subsection.8.3.2}
+\contentsline {chapter}{\numberline {9}Putting it all together}{109}{chapter.9}
+\contentsline {section}{\numberline {9.1}Our web application end-to-end}{109}{section.9.1}
+\contentsline {section}{\numberline {9.2}Deploying our application}{109}{section.9.2}
+\contentsline {subsection}{\numberline {9.2.1}Why we are not deploying on GAE}{109}{subsection.9.2.1}
+\contentsline {section}{\numberline {9.3}From one web application to web framework}{109}{section.9.3}
+\contentsline {chapter}{\numberline {10}The semantic web}{111}{chapter.10}
+\contentsline {section}{\numberline {10.1}Referential transparency}{111}{section.10.1}
+\contentsline {paragraph}{A little motivation}{112}{section*.65}
+\contentsline {section}{\numberline {10.2}Composing monads}{113}{section.10.2}
+\contentsline {subsubsection}{Preliminary}{114}{section*.66}
+\contentsline {section}{\numberline {10.3}Semantic application queries}{115}{section.10.3}
+\contentsline {subsubsection}{An alternative presentation}{115}{section*.67}
+\contentsline {paragraph}{Logic: the set monad as an algebra}{116}{section*.68}
+\contentsline {paragraph}{Primes: an application}{117}{section*.69}
+\contentsline {paragraph}{Summary}{117}{section*.70}
+\contentsline {subsubsection}{Patterns}{118}{section*.71}
+\contentsline {subsubsection}{A first mini-query language}{118}{section*.72}
+\contentsline {subsubsection}{Iterating the design pattern}{118}{section*.73}
+\contentsline {paragraph}{A spatial-behavioral-style logic for $\lambda $-calculus}{119}{section*.74}
+\contentsline {paragraph}{Examples}{119}{section*.75}
+\contentsline {subsubsection}{Logical semantics}{120}{section*.76}
+\contentsline {subsubsection}{Other collection monads, other logics}{120}{section*.77}
+\contentsline {paragraph}{Stateful collections}{120}{section*.78}
+\contentsline {subsection}{\numberline {10.3.1}Other logical operations}{122}{subsection.10.3.1}
+\contentsline {section}{\numberline {10.4}Searching for programs}{122}{section.10.4}
+\contentsline {subsection}{\numberline {10.4.1}A new foundation for search}{122}{subsection.10.4.1}
+\contentsline {subsubsection}{Monad composition via distributive laws}{122}{section*.79}
+\contentsline {subsection}{\numberline {10.4.2}Examples}{122}{subsection.10.4.2}

0 comments on commit 496da4c

Please sign in to comment.
Something went wrong with that request. Please try again.