Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added placeholder figures and began outline of last chapter

  • Loading branch information...
commit cd9140b3c0cce9839d59e403cba84c9e99e4d463 1 parent 501170e
Meredith Gregory authored
Showing with 325 additions and 241 deletions.
  1. +3 −3 src/main/book/content/bibliography/monadic.aux
  2. +5 −5 src/main/book/content/chapters/eight/ch.aux
  3. +5 −5 src/main/book/content/chapters/five/ch.aux
  4. +5 −5 src/main/book/content/chapters/four/ch.aux
  5. +6 −6 src/main/book/content/chapters/nine/ch.aux
  6. +21 −18 src/main/book/content/chapters/one/ch.aux
  7. +25 −6 src/main/book/content/chapters/one/how-are-we-going-to-get-there.tex
  8. +4 −4 src/main/book/content/chapters/seven/ch.aux
  9. +5 −5 src/main/book/content/chapters/six/ch.aux
  10. +9 −6 src/main/book/content/chapters/ten/ch.aux
  11. +5 −1 src/main/book/content/chapters/ten/search-for-behavior.tex
  12. +7 −7 src/main/book/content/chapters/three/ch.aux
  13. +15 −15 src/main/book/content/chapters/two/ch.aux
  14. BIN  src/main/book/content/figures/RlambdaREPLPageScreenShot.pdf
  15. BIN  src/main/book/content/figures/RlambdaREPLPageScreenShot.tiff
  16. BIN  src/main/book/content/figures/RlambdaSampleEvaluationResultPage.pdf
  17. BIN  src/main/book/content/figures/RlambdaSampleEvaluationResultPage.tiff
  18. BIN  src/main/book/content/figures/RlambdaSignupPageScreenShot.pdf
  19. BIN  src/main/book/content/figures/RlambdaSignupPageScreenShot.tiff
  20. BIN  src/main/book/content/figures/WelcomePageScreenShot.tiff
  21. +3 −0  src/main/book/content/monadic.lof
  22. +139 −92 src/main/book/content/monadic.log
  23. +2 −0  src/main/book/content/monadic.out
  24. BIN  src/main/book/content/monadic.pdf
  25. +1 −1  src/main/book/content/monadic.tex
  26. +65 −62 src/main/book/content/monadic.toc
View
6 src/main/book/content/bibliography/monadic.aux
@@ -1,6 +1,6 @@
\relax
\@setckpt{bibliography/monadic}{
-\setcounter{page}{56}
+\setcounter{page}{58}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
@@ -11,7 +11,7 @@
\setcounter{part}{0}
\setcounter{chapter}{10}
\setcounter{section}{2}
-\setcounter{subsection}{0}
+\setcounter{subsection}{2}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
@@ -22,6 +22,6 @@
\setcounter{Hfootnote}{5}
\setcounter{lstnumber}{264}
\setcounter{theorem}{0}
-\setcounter{section@level}{1}
+\setcounter{section@level}{2}
\setcounter{lstlisting}{0}
}
View
10 src/main/book/content/chapters/eight/ch.aux
@@ -1,12 +1,12 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {8}Domain model, storage and state}{51}{chapter.8}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {8}Domain model, storage and state}{53}{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}{51}{section.8.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {8.2}Storage and language-integrated query}{51}{section.8.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {8.3}Continuations revisited}{51}{section.8.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {8.1}Mapping our domain model to storage}{53}{section.8.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {8.2}Storage and language-integrated query}{53}{section.8.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {8.3}Continuations revisited}{53}{section.8.3}}
\@setckpt{chapters/eight/ch}{
-\setcounter{page}{52}
+\setcounter{page}{54}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
10 src/main/book/content/chapters/five/ch.aux
@@ -1,12 +1,12 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {5}The domain model as abstract syntax}{45}{chapter.5}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {5}The domain model as abstract syntax}{47}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {5.1}Our abstract syntax}{45}{section.5.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.2}Our application domain model}{45}{section.5.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.3}A transform pipeline}{45}{section.5.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.1}Our abstract syntax}{47}{section.5.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.2}Our application domain model}{47}{section.5.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.3}A transform pipeline}{47}{section.5.3}}
\@setckpt{chapters/five/ch}{
-\setcounter{page}{46}
+\setcounter{page}{48}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
10 src/main/book/content/chapters/four/ch.aux
@@ -1,12 +1,12 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {4}Parsing requests, monadically}{43}{chapter.4}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {4}Parsing requests, monadically}{45}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {4.1}Obligatory parsing monad}{43}{section.4.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.2}Your parser combinators are showing}{43}{section.4.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.3}EBNF and why higher levels of abstraction are better}{43}{section.4.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.1}Obligatory parsing monad}{45}{section.4.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.2}Your parser combinators are showing}{45}{section.4.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.3}EBNF and why higher levels of abstraction are better}{45}{section.4.3}}
\@setckpt{chapters/four/ch}{
-\setcounter{page}{44}
+\setcounter{page}{46}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
12 src/main/book/content/chapters/nine/ch.aux
@@ -1,13 +1,13 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {9}Putting it all together}{53}{chapter.9}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {9}Putting it all together}{55}{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}{53}{section.9.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {9.2}Deploying our application}{53}{section.9.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.2.1}Why we are not deploying on GAE}{53}{subsection.9.2.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {9.3}From one web application to web framework}{53}{section.9.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {9.1}Our web application end-to-end}{55}{section.9.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {9.2}Deploying our application}{55}{section.9.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {9.2.1}Why we are not deploying on GAE}{55}{subsection.9.2.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {9.3}From one web application to web framework}{55}{section.9.3}}
\@setckpt{chapters/nine/ch}{
-\setcounter{page}{54}
+\setcounter{page}{56}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
39 src/main/book/content/chapters/one/ch.aux
@@ -12,24 +12,27 @@
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}DSL-based design}{12}{subsection.1.2.2}}
\@writefile{toc}{\contentsline {section}{\numberline {1.3}How are we going to get there}{13}{section.1.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}Leading by example}{13}{subsection.1.3.1}}
-\@writefile{toc}{\contentsline {subsubsection}{Our toy language}{14}{section*.7}}
-\@writefile{toc}{\contentsline {paragraph}{Abstract syntax}{14}{section*.8}}
-\@writefile{toc}{\contentsline {paragraph}{A simple-minded representation}{14}{section*.9}}
-\@writefile{toc}{\contentsline {paragraph}{Type parametrization and quotation}{15}{section*.10}}
-\@writefile{toc}{\contentsline {paragraph}{Some syntactic sugar}{16}{section*.11}}
-\@writefile{toc}{\contentsline {paragraph}{Digression: complexity management principle}{16}{section*.12}}
-\@writefile{toc}{\contentsline {paragraph}{Concrete syntax}{17}{section*.13}}
-\@writefile{toc}{\contentsline {paragraph}{Translating concrete syntax to abstract syntax}{17}{section*.14}}
-\@writefile{toc}{\contentsline {paragraph}{Structural equivalence and Relations or What makes abstract syntax abstract}{18}{section*.15}}
-\@writefile{toc}{\contentsline {paragraph}{Digression: the internal structure of the type of variables}{22}{section*.16}}
-\@writefile{toc}{\contentsline {paragraph}{Evaluation -- aka operational semantics}{22}{section*.17}}
-\@writefile{toc}{\contentsline {subsubsection}{What goes into a language definition}{24}{section*.18}}
-\@writefile{toc}{\contentsline {paragraph}{Syntax}{25}{section*.19}}
-\@writefile{toc}{\contentsline {paragraph}{Structural equivalence}{25}{section*.20}}
-\@writefile{toc}{\contentsline {paragraph}{Operational semantics}{25}{section*.21}}
-\@writefile{toc}{\contentsline {paragraph}{Discussion}{25}{section*.22}}
+\@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces Example sign up page }}{14}{figure.1.1}}
+\@writefile{lof}{\contentsline {figure}{\numberline {1.2}{\ignorespaces Example REPL page }}{15}{figure.1.2}}
+\@writefile{lof}{\contentsline {figure}{\numberline {1.3}{\ignorespaces Example evaluation result page }}{16}{figure.1.3}}
+\@writefile{toc}{\contentsline {subsubsection}{Our toy language}{17}{section*.7}}
+\@writefile{toc}{\contentsline {paragraph}{Abstract syntax}{17}{section*.8}}
+\@writefile{toc}{\contentsline {paragraph}{A simple-minded representation}{17}{section*.9}}
+\@writefile{toc}{\contentsline {paragraph}{Type parametrization and quotation}{18}{section*.10}}
+\@writefile{toc}{\contentsline {paragraph}{Some syntactic sugar}{19}{section*.11}}
+\@writefile{toc}{\contentsline {paragraph}{Digression: complexity management principle}{19}{section*.12}}
+\@writefile{toc}{\contentsline {paragraph}{Concrete syntax}{20}{section*.13}}
+\@writefile{toc}{\contentsline {paragraph}{Translating concrete syntax to abstract syntax}{20}{section*.14}}
+\@writefile{toc}{\contentsline {paragraph}{Structural equivalence and Relations or What makes abstract syntax abstract}{20}{section*.15}}
+\@writefile{toc}{\contentsline {paragraph}{Digression: the internal structure of the type of variables}{25}{section*.16}}
+\@writefile{toc}{\contentsline {paragraph}{Evaluation -- aka operational semantics}{25}{section*.17}}
+\@writefile{toc}{\contentsline {subsubsection}{What goes into a language definition}{27}{section*.18}}
+\@writefile{toc}{\contentsline {paragraph}{Syntax}{28}{section*.19}}
+\@writefile{toc}{\contentsline {paragraph}{Structural equivalence}{28}{section*.20}}
+\@writefile{toc}{\contentsline {paragraph}{Operational semantics}{28}{section*.21}}
+\@writefile{toc}{\contentsline {paragraph}{Discussion}{28}{section*.22}}
\@setckpt{chapters/one/ch}{
-\setcounter{page}{26}
+\setcounter{page}{29}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
@@ -44,7 +47,7 @@
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
-\setcounter{figure}{0}
+\setcounter{figure}{3}
\setcounter{table}{0}
\setcounter{parentequation}{0}
\setcounter{Item}{0}
View
31 src/main/book/content/chapters/one/how-are-we-going-to-get-there.tex
@@ -21,6 +21,13 @@ \subsection{Leading by example}
\item run the application
\end{itemize}
+\begin{figure}[tbp]
+\begin{center}
+{ \includegraphics[scale=.35]{/Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/RLambdaSignupPageScreenShot.pdf} }
+\caption{ Example sign up page }
+\end{center}
+\end{figure}
+
% Thus, at broad strokes requests from the client app to the server break down into the following categories
% \begin{itemize}
% \item edits to code
@@ -39,6 +46,20 @@ \subsection{Leading by example}
highlighting and validation. Thus, at the center of our application is
the specification of our toy language.
+\begin{figure}[tbp]
+\begin{center}
+{ \includegraphics[scale=.35]{/Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/RLambdaREPLPageScreenShot.pdf} }
+\caption{ Example REPL page }
+\end{center}
+\end{figure}
+
+\begin{figure}[tbp]
+\begin{center}
+{ \includegraphics[scale=.35]{/Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figures/RLambdaSampleEvaluationResultPage.pdf} }
+\caption{ Example evaluation result page }
+\end{center}
+\end{figure}
+
\subsubsection{Our toy language}
\paragraph{Abstract syntax}
@@ -249,7 +270,7 @@ \subsubsection{Our toy language}
compactly expressed as follows. Perhaps the best way to understand
this presentation is in terms of a \texttt{Scala} implementation.
-[TBD]
+
\paragraph{Structural equivalence and Relations or What makes abstract syntax abstract}
@@ -325,9 +346,8 @@ \subsubsection{Our toy language}
\break
\begin{lstlisting}[language=Scala]
def substitute(
- term : Expression,
- actuals : List[Expression],
- formals : List[Nominal]
+ term : Expression,
+ actuals : List[Expression], formals : List[Nominal]
) : Expression = {
term match {
case Mention( ref ) => {
@@ -373,8 +393,7 @@ \subsubsection{Our toy language}
\begin{lstlisting}[language=Scala]
def `=a=`(
- term1 : Expression,
- term2 : Expression
+ term1 : Expression, term2 : Expression
) : Boolean = {
( term1, term2 ) match {
case (
View
8 src/main/book/content/chapters/seven/ch.aux
@@ -1,11 +1,11 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {7}A review of collections as monads}{49}{chapter.7}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {7}A review of collections as monads}{51}{chapter.7}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {7.1}Monad as container}{49}{section.7.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.2}Monads and take-out}{49}{section.7.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.1}Monad as container}{51}{section.7.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.2}Monads and take-out}{51}{section.7.2}}
\@setckpt{chapters/seven/ch}{
-\setcounter{page}{50}
+\setcounter{page}{52}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
10 src/main/book/content/chapters/six/ch.aux
@@ -1,12 +1,12 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {6}Zippers and contexts and URI's, oh my!}{47}{chapter.6}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {6}Zippers and contexts and URI's, oh my!}{49}{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}{47}{section.6.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.2}Constructing contexts and zippers from data types}{47}{section.6.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.3}Mapping URIs to zipper-based paths and back}{47}{section.6.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.1}Zippers are not just for Bruno anymore}{49}{section.6.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.2}Constructing contexts and zippers from data types}{49}{section.6.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.3}Mapping URIs to zipper-based paths and back}{49}{section.6.3}}
\@setckpt{chapters/six/ch}{
-\setcounter{page}{48}
+\setcounter{page}{50}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
15 src/main/book/content/chapters/ten/ch.aux
@@ -1,11 +1,14 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {10}The semantic web}{55}{chapter.10}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {10}The semantic web}{57}{chapter.10}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {10.1}How our web framework enables different kinds of application queries}{55}{section.10.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {10.2}Searching for programs}{55}{section.10.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.1}How our web framework enables different kinds of application queries}{57}{section.10.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.2}Searching for programs}{57}{section.10.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {10.2.1}A new foundation for search}{57}{subsection.10.2.1}}
+\@writefile{toc}{\contentsline {subsubsection}{Monad composition via distributive laws}{57}{section*.30}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {10.2.2}Examples}{57}{subsection.10.2.2}}
\@setckpt{chapters/ten/ch}{
-\setcounter{page}{56}
+\setcounter{page}{58}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
@@ -16,7 +19,7 @@
\setcounter{part}{0}
\setcounter{chapter}{10}
\setcounter{section}{2}
-\setcounter{subsection}{0}
+\setcounter{subsection}{2}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
@@ -27,6 +30,6 @@
\setcounter{Hfootnote}{5}
\setcounter{lstnumber}{264}
\setcounter{theorem}{0}
-\setcounter{section@level}{1}
+\setcounter{section@level}{2}
\setcounter{lstlisting}{0}
}
View
6 src/main/book/content/chapters/ten/search-for-behavior.tex
@@ -1,3 +1,7 @@
\section{Searching for programs}
-TBD
+\subsection{A new foundation for search}
+
+\subsubsection{Monad composition via distributive laws}
+
+\subsection{Examples}
View
14 src/main/book/content/chapters/three/ch.aux
@@ -1,14 +1,14 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {3}An IO-monad for http streams}{35}{chapter.3}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {3}An IO-monad for http streams}{37}{chapter.3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {3.1}Code first, questions later}{35}{section.3.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}An HTTP-request processor}{42}{subsection.3.1.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}What we did}{42}{subsection.3.1.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.2}Synchrony, asynchrony and buffering}{42}{section.3.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.3}State, statelessness and continuations}{42}{section.3.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.1}Code first, questions later}{37}{section.3.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}An HTTP-request processor}{44}{subsection.3.1.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}What we did}{44}{subsection.3.1.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.2}Synchrony, asynchrony and buffering}{44}{section.3.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.3}State, statelessness and continuations}{44}{section.3.3}}
\@setckpt{chapters/three/ch}{
-\setcounter{page}{43}
+\setcounter{page}{45}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
30 src/main/book/content/chapters/two/ch.aux
@@ -1,22 +1,22 @@
\relax
-\@writefile{toc}{\contentsline {chapter}{\numberline {2}Toolbox}{27}{chapter.2}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {2}Toolbox}{29}{chapter.2}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {2.1}Introduction to notation and terminology}{27}{section.2.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {2.2}Introduction to core design patterns}{27}{section.2.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {2.3}Variations in presentation}{27}{section.2.3}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}A little history}{27}{subsection.2.3.1}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {2.1}monad typeclass}{28}{lstlisting.2.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}A little more history}{30}{subsection.2.3.2}}
-\@writefile{toc}{\contentsline {subsubsection}{Intuition: Monad as container}{31}{section*.23}}
-\@writefile{toc}{\contentsline {paragraph}{Shape of the container}{31}{section*.24}}
-\@writefile{toc}{\contentsline {paragraph}{Putting things into the container}{31}{section*.25}}
-\@writefile{toc}{\contentsline {paragraph}{Flattening nested containers}{31}{section*.26}}
-\@writefile{toc}{\contentsline {subsubsection}{Preserving connection to existing structure: Monad as generalization of monoid}{31}{section*.27}}
-\@writefile{toc}{\contentsline {subsubsection}{Decomposition of monad requirements}{33}{section*.28}}
-\@writefile{toc}{\contentsline {subsubsection}{A categorical way to look at monads}{33}{section*.29}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.1}Introduction to notation and terminology}{29}{section.2.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.2}Introduction to core design patterns}{29}{section.2.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.3}Variations in presentation}{29}{section.2.3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}A little history}{29}{subsection.2.3.1}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {2.1}monad typeclass}{30}{lstlisting.2.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}A little more history}{32}{subsection.2.3.2}}
+\@writefile{toc}{\contentsline {subsubsection}{Intuition: Monad as container}{33}{section*.23}}
+\@writefile{toc}{\contentsline {paragraph}{Shape of the container}{33}{section*.24}}
+\@writefile{toc}{\contentsline {paragraph}{Putting things into the container}{33}{section*.25}}
+\@writefile{toc}{\contentsline {paragraph}{Flattening nested containers}{33}{section*.26}}
+\@writefile{toc}{\contentsline {subsubsection}{Preserving connection to existing structure: Monad as generalization of monoid}{33}{section*.27}}
+\@writefile{toc}{\contentsline {subsubsection}{Decomposition of monad requirements}{35}{section*.28}}
+\@writefile{toc}{\contentsline {subsubsection}{A categorical way to look at monads}{35}{section*.29}}
\@setckpt{chapters/two/ch}{
-\setcounter{page}{35}
+\setcounter{page}{37}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
View
BIN  src/main/book/content/figures/RlambdaREPLPageScreenShot.pdf
Binary file not shown
View
BIN  src/main/book/content/figures/RlambdaREPLPageScreenShot.tiff
Binary file not shown
View
BIN  src/main/book/content/figures/RlambdaSampleEvaluationResultPage.pdf
Binary file not shown
View
BIN  src/main/book/content/figures/RlambdaSampleEvaluationResultPage.tiff
Binary file not shown
View
BIN  src/main/book/content/figures/RlambdaSignupPageScreenShot.pdf
Binary file not shown
View
BIN  src/main/book/content/figures/RlambdaSignupPageScreenShot.tiff
Binary file not shown
View
BIN  src/main/book/content/figures/WelcomePageScreenShot.tiff
Binary file not shown
View
3  src/main/book/content/monadic.lof
@@ -1,4 +1,7 @@
\addvspace {10\p@ }
+\contentsline {figure}{\numberline {1.1}{\ignorespaces Example sign up page }}{14}{figure.1.1}
+\contentsline {figure}{\numberline {1.2}{\ignorespaces Example REPL page }}{15}{figure.1.2}
+\contentsline {figure}{\numberline {1.3}{\ignorespaces Example evaluation result page }}{16}{figure.1.3}
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
View
231 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 2008.11.17) 27 FEB 2010 04:29
+This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=pdflatex 2008.11.17) 28 FEB 2010 06:16
entering extended mode
**monadic.tex
(./monadic.tex
@@ -97,6 +97,13 @@ Package: amsfonts 2001/10/25 v2.2f
LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
(Font) U/euf/m/n --> U/euf/b/n on input line 132.
))
+(/opt/local/share/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/opt/local/share/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks19
+)
(/opt/local/share/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)
@@ -112,6 +119,9 @@ Package graphics Info: Driver file: pdftex.def on input line 80.
File: pdftex.def 2002/06/19 v0.03k graphics/color for pdftex
\Gread@gobject=\count100
))
+\Gin@req@height=\dimen112
+\Gin@req@width=\dimen113
+)
(/opt/local/share/texmf-dist/tex/latex/graphics/color.sty
Package: color 1999/02/16 v1.0i Standard LaTeX Color (DPC)
@@ -122,12 +132,7 @@ Package color Info: Driver file: pdftex.def on input line 125.
)
(/opt/local/share/texmf-dist/tex/latex/hyperref/hyperref.sty
Package: hyperref 2003/11/30 v6.74m Hypertext links for LaTeX
-
-(/opt/local/share/texmf-dist/tex/latex/graphics/keyval.sty
-Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
-\KV@toks@=\toks19
-)
-\@linkdim=\dimen112
+\@linkdim=\dimen114
\Hy@linkcounter=\count101
\Hy@pagecounter=\count102
@@ -151,8 +156,8 @@ Package: url 2004/03/15 ver 3.1 Verb mode for urls, etc.
)
LaTeX Info: Redefining \url on input line 2143.
\Fld@menulength=\count103
-\Field@Width=\dimen113
-\Fld@charsize=\dimen114
+\Field@Width=\dimen115
+\Fld@charsize=\dimen116
\Choice@toks=\toks20
\Field@toks=\toks21
Package hyperref Info: Hyper figures OFF on input line 2618.
@@ -190,14 +195,14 @@ Package: makeidx 2000/03/29 v1.0m Standard LaTeX package
\lst@gtempboxa=\box28
\lst@token=\toks22
\lst@length=\count108
-\lst@currlwidth=\dimen115
+\lst@currlwidth=\dimen117
\lst@column=\count109
\lst@pos=\count110
-\lst@lostspace=\dimen116
-\lst@width=\dimen117
+\lst@lostspace=\dimen118
+\lst@width=\dimen119
\lst@newlines=\count111
\lst@lineno=\count112
-\lst@maxwidth=\dimen118
+\lst@maxwidth=\dimen120
(/opt/local/share/texmf-dist/tex/latex/listings/lstpatch.sty
@@ -222,23 +227,23 @@ Package: listings 2007/02/22 1.4 (Carsten Heinz)
(/opt/local/share/texmf-local/mathpartir.sty
Package: mathpartir 2003/07/10 version 1.1.1 Math Paragraph for Typesetting Inf
erence Rules
-\mpr@tmpdim=\dimen119
+\mpr@tmpdim=\dimen121
\mpr@andskip=\skip46
\mpr@lista=\toks23
\mpr@listb=\toks24
\mpr@hlist=\box30
\mpr@vlist=\box31
\mpr@right=\box32
-\rule@dimen=\dimen120
+\rule@dimen=\dimen122
)
(/opt/local/share/texmf-local/bcprules.sty
\afterruleskip=\skip47
\labelminsep=\skip48
-\labelcolwidth=\dimen121
+\labelcolwidth=\dimen123
\@labelbox=\box33
\rulebox=\box34
-\ruledim=\dimen122
-\labeldim=\dimen123
+\ruledim=\dimen124
+\labeldim=\dimen125
)
(/opt/local/share/texmf-local/lstlang0.sty
File: lstlang0.sty 2009/01/01 listings language file
@@ -290,21 +295,21 @@ loading : Context Support Macros / Miscellaneous (2004.10.26)
\protectiondepth=\count116
\scratchcounter=\count117
\scratchtoks=\toks25
-\scratchdimen=\dimen124
+\scratchdimen=\dimen126
\scratchskip=\skip49
\scratchmuskip=\muskip12
\scratchbox=\box35
\scratchread=\read1
\scratchwrite=\write5
-\zeropoint=\dimen125
-\onepoint=\dimen126
-\onebasepoint=\dimen127
+\zeropoint=\dimen127
+\onepoint=\dimen128
+\onebasepoint=\dimen129
\minusone=\count118
-\thousandpoint=\dimen128
-\onerealpoint=\dimen129
+\thousandpoint=\dimen130
+\onerealpoint=\dimen131
\emptytoks=\toks26
\nextbox=\box36
-\nextdepth=\dimen130
+\nextdepth=\dimen132
\everyline=\toks27
\!!counta=\count119
\!!countb=\count120
@@ -314,7 +319,7 @@ loading : Context Support Macros / PDF (2004.03.26)
\nofMPsegments=\count122
\nofMParguments=\count123
\MPscratchCnt=\count124
-\MPscratchDim=\dimen131
+\MPscratchDim=\dimen133
\MPnumerator=\count125
\everyMPtoPDFconversion=\toks28
)
@@ -366,7 +371,7 @@ Underfull \vbox (badness 2689) has occurred while \output is active []
s been already used, duplicate ignored
<to be read again>
\penalty
-l.43 ... IO-monad for http streams}{35}{chapter.3}
+l.43 ... IO-monad for http streams}{37}{chapter.3}
[1
] [2])
@@ -458,125 +463,167 @@ l.238
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <12> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 268.
) (./chapters/one/where-are-we-going.tex [9] [10] [11] [12])
-(./chapters/one/how-are-we-going-to-get-there.tex [13]
+(./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=410, 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)
+
+<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
+es/RLambdaSignupPageScreenShot.pdf>
+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=428, 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)
+
+<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
+es/RLambdaREPLPageScreenShot.pdf>
+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=429, 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)
+
+<use /Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figur
+es/RLambdaSampleEvaluationResultPage.pdf>
+Overfull \hbox (46.785pt too wide) in paragraph at lines 58--59
+ []
+ []
+
+
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [15 </Users/lgm/work/src/projex/biosimilarity/trace/src/main/book/content/figu
+res/RLambdaREPLPageScreenShot.pdf>] [16 </Users/lgm/work/src/projex/biosimilari
+ty/trace/src/main/book/content/figures/RLambdaSampleEvaluationResultPage.pdf>]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [14]
-[15]
-Overfull \hbox (3.25792pt too wide) in paragraph at lines 146--147
+ [17]
+[18]
+Overfull \hbox (3.25792pt too wide) in paragraph at lines 167--168
[][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[16]
-LaTeX Font Info: Try loading font information for OMS+cmtt on input line 211
+[19]
+LaTeX Font Info: Try loading font information for OMS+cmtt on input line 232
.
-LaTeX Font Info: No file OMScmtt.fd. on input line 211.
+LaTeX Font Info: No file OMScmtt.fd. on input line 232.
LaTeX Font Warning: Font shape `OMS/cmtt/m/n' undefined
(Font) using `OMS/cmsy/m/n' instead
-(Font) for symbol `textbraceleft' on input line 211.
+(Font) for symbol `textbraceleft' on input line 232.
-[17]
-LaTeX Font Info: Try loading font information for OML+cmr on input line 266.
+[20]
+LaTeX Font Info: Try loading font information for OML+cmr on input line 287.
(/opt/local/share/texmf-dist/tex/latex/base/omlcmr.fd
File: omlcmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OML/cmr/bx/n' in size <12> not available
-(Font) Font shape `OML/cmm/b/it' tried instead on input line 266.
+(Font) Font shape `OML/cmm/b/it' tried instead on input line 287.
-Overfull \hbox (3.25792pt too wide) in paragraph at lines 288--289
+Overfull \hbox (3.25792pt too wide) in paragraph at lines 309--310
[][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[18]
+[21]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [19]
-Overfull \hbox (3.25792pt too wide) in paragraph at lines 364--365
+ [22]
+Overfull \hbox (3.25792pt too wide) in paragraph at lines 384--385
[][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [20]
-Overfull \hbox (24.40788pt too wide) in paragraph at lines 387--388
+ [23]
+Overfull \hbox (24.40788pt too wide) in paragraph at lines 406--407
[][][][][][][][][][][][][][][][][][][][][][][]
[]
-Overfull \hbox (59.65782pt too wide) in paragraph at lines 392--393
+Overfull \hbox (59.65782pt too wide) in paragraph at lines 411--412
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[21] [22]
-Overfull \hbox (10.3079pt too wide) in paragraph at lines 495--496
+[24] [25]
+Overfull \hbox (10.3079pt too wide) in paragraph at lines 514--515
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-Overfull \hbox (17.3579pt too wide) in paragraph at lines 511--512
+Overfull \hbox (17.3579pt too wide) in paragraph at lines 530--531
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
Underfull \vbox (badness 10000) has occurred while \output is active []
- [23]
-Overfull \hbox (3.25792pt too wide) in paragraph at lines 525--526
+ [26]
+Overfull \hbox (3.25792pt too wide) in paragraph at lines 544--545
[][][][][][][][][][][][][][][][][][][][][]
[]
-Overfull \hbox (24.40788pt too wide) in paragraph at lines 531--532
+Overfull \hbox (24.40788pt too wide) in paragraph at lines 550--551
[][][][][][][][][][][][][][][][][][]
[]
-Overfull \hbox (45.55785pt too wide) in paragraph at lines 535--536
+Overfull \hbox (45.55785pt too wide) in paragraph at lines 554--555
[][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[24]) [25])
+[27]) [28])
\openout2 = `chapters/two/ch.aux'.
- (./chapters/two/ch.tex [26
+ (./chapters/two/ch.tex
+Chapter 2.
+(./chapters/two/toolbox.tex) (./chapters/two/notation-and-terminology.tex)
+(./chapters/two/core-design-patterns.tex)
+(./chapters/two/variation-in-presentation.tex [29
]
-Chapter 2.
-(./chapters/two/toolbox.tex) (./chapters/two/notation-and-terminology.tex)
-(./chapters/two/core-design-patterns.tex)
-(./chapters/two/variation-in-presentation.tex [27]
LaTeX Font Info: Font shape `OML/cmr/m/n' in size <12> not available
(Font) Font shape `OML/cmm/m/it' tried instead on input line 25.
Package hyperref Info: bookmark level for unknown lstlisting defaults to 0 on i
nput line 35.
- [28]
+ [30]
Overfull \hbox (31.45787pt too wide) in paragraph at lines 124--126
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
-[29]
+[31]
Overfull \hbox (59.65782pt too wide) in paragraph at lines 130--131
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][
][][][][][][]
[]
-[30] [31] [32]
+[32] [33] [34]
LaTeX Warning: Command \texttrademark invalid in math mode on input line 315.
-[33]) [34])
+[35]) [36])
\openout2 = `chapters/three/ch.aux'.
(./chapters/three/ch.tex
Chapter 3.
(./chapters/three/io-monad-for-http-streams.tex)
-(./chapters/three/code-first.tex [35
+(./chapters/three/code-first.tex [37
@@ -610,7 +657,7 @@ Overfull \hbox (3.25792pt too wide) in paragraph at lines 63--65
Underfull \vbox (badness 10000) has occurred while \output is active []
- [36]
+ [38]
Overfull \hbox (94.90776pt too wide) in paragraph at lines 65--66
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[]
@@ -628,7 +675,7 @@ Overfull \hbox (101.95775pt too wide) in paragraph at lines 84--85
Underfull \vbox (badness 10000) has occurred while \output is active []
- [37]
+ [39]
Overfull \hbox (66.70781pt too wide) in paragraph at lines 114--116
[][][][][][][][][][][][][][][][][][][][][][][][]
[]
@@ -641,7 +688,7 @@ Overfull \hbox (109.00774pt too wide) in paragraph at lines 134--135
Underfull \vbox (badness 10000) has occurred while \output is active []
- [38]
+ [40]
Overfull \hbox (45.55785pt too wide) in paragraph at lines 150--151
[][][][][][][][][][][][][][][][][][][][][]
[]
@@ -659,7 +706,7 @@ Overfull \hbox (17.3579pt too wide) in paragraph at lines 164--165
Underfull \vbox (badness 10000) has occurred while \output is active []
- [39]
+ [41]
Overfull \hbox (66.70781pt too wide) in paragraph at lines 198--199
[][][][][][][][][][][][][][][][][][][][][]
[]
@@ -677,7 +724,7 @@ Overfull \hbox (17.3579pt too wide) in paragraph at lines 220--221
Underfull \vbox (badness 10000) has occurred while \output is active []
- [40]
+ [42]
Overfull \hbox (87.85777pt too wide) in paragraph at lines 244--245
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][
]
@@ -695,14 +742,14 @@ LaTeX Font Info: Font shape `OMS/cmr/m/it' in size <12> not available
(./chapters/three/state-statelessness-continuations.tex
Underfull \vbox (badness 10000) has occurred while \output is active []
- [41])
-[42])
+ [43])
+[44])
\openout2 = `chapters/four/ch.aux'.
(./chapters/four/ch.tex
Chapter 4.
(./chapters/four/parsing.tex) (./chapters/four/obligatory-parsing-monad.tex)
-(./chapters/four/parser-combinators.tex) (./chapters/four/EBNF.tex) [43
+(./chapters/four/parser-combinators.tex) (./chapters/four/EBNF.tex) [45
@@ -710,7 +757,7 @@ Chapter 4.
\openout2 = `chapters/five/ch.aux'.
-(./chapters/five/ch.tex [44
+(./chapters/five/ch.tex [46
@@ -718,10 +765,10 @@ Chapter 4.
Chapter 5.
(./chapters/five/domain-model.tex) (./chapters/five/abstract-syntax.tex)
(./chapters/five/application-domain-model.tex)
-(./chapters/five/transform-pipeline.tex) [45])
+(./chapters/five/transform-pipeline.tex) [47])
\openout2 = `chapters/six/ch.aux'.
- (./chapters/six/ch.tex [46
+ (./chapters/six/ch.tex [48
@@ -734,21 +781,21 @@ 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
[]
-) [47])
+) [49])
\openout2 = `chapters/seven/ch.aux'.
- (./chapters/seven/ch.tex [48
+ (./chapters/seven/ch.tex [50
]
Chapter 7.
(./chapters/seven/collections-as-monads.tex) (./chapters/seven/container.tex)
-(./chapters/seven/monad-and-comonad.tex) [49])
+(./chapters/seven/monad-and-comonad.tex) [51])
\openout2 = `chapters/eight/ch.aux'.
(./chapters/eight/ch.tex
-[50
+[52
@@ -756,11 +803,11 @@ Chapter 7.
Chapter 8.
(./chapters/eight/domain-state-storage.tex)
(./chapters/eight/model-to-store.tex) (./chapters/eight/storage-LINQ.tex)
-(./chapters/eight/continuations-revisited.tex) [51])
+(./chapters/eight/continuations-revisited.tex) [53])
\openout2 = `chapters/nine/ch.aux'.
(./chapters/nine/ch.tex
-[52
+[54
@@ -768,17 +815,17 @@ Chapter 8.
Chapter 9.
(./chapters/nine/putting-it-all-together.tex) (./chapters/nine/end-to-end.tex)
(./chapters/nine/deployment.tex) (./chapters/nine/application-to-framework.tex)
-[53])
+[55])
\openout2 = `chapters/ten/ch.aux'.
- (./chapters/ten/ch.tex [54
+ (./chapters/ten/ch.tex [56
]
Chapter 10.
(./chapters/ten/semantic-web.tex) (./chapters/ten/new-queries.tex)
-(./chapters/ten/search-for-behavior.tex) [55])
+(./chapters/ten/search-for-behavior.tex) [57])
\openout2 = `bibliography/monadic.aux'.
@@ -792,17 +839,17 @@ LaTeX Font Warning: Some font shapes were not available, defaults substituted.
)
Here is how much of TeX's memory you used:
- 7010 strings out of 94500
- 95841 string characters out of 1174972
- 185215 words of memory out of 1000000
- 9189 multiletter control sequences out of 10000+50000
+ 7089 strings out of 94500
+ 98285 string characters out of 1174972
+ 186295 words of memory out of 1000000
+ 9255 multiletter control sequences out of 10000+50000
18278 words of font info for 70 fonts, out of 500000 for 2000
580 hyphenation exceptions out of 1000
- 31i,20n,43p,282b,1553s stack positions out of 1500i,500n,5000p,200000b,5000s
+ 31i,20n,43p,360b,1553s stack positions out of 1500i,500n,5000p,200000b,5000s
PDF statistics:
- 1177 PDF objects out of 300000
- 704 named destinations out of 131072
- 425 words of extra memory for PDF output out of 65536
+ 1230 PDF objects out of 300000
+ 710 named destinations out of 131072
+ 456 words of extra memory for PDF output out of 65536
</opt/local/share/texmf-dist/fonts/type1/bluesky/cm/cmsy8.pfb></opt/local/sha
re/texmf-dist/fonts/type1/bluesky/cm/cmmib10.pfb></opt/local/share/texmf-dist/f
onts/type1/bluesky/cm/cmmi8.pfb></opt/local/share/texmf-dist/fonts/type1/bluesk
@@ -818,4 +865,4 @@ cmti10.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/texm
f-dist/fonts/type1/bluesky/cm/cmr12.pfb></opt/local/share/texmf-dist/fonts/type
1/bluesky/cm/cmr17.pfb>
-Output written on monadic.pdf (64 pages, 374075 bytes).
+Output written on monadic.pdf (66 pages, 693965 bytes).
View
2  src/main/book/content/monadic.out
@@ -49,3 +49,5 @@
\BOOKMARK [0][-]{chapter.10}{The semantic web}{}
\BOOKMARK [1][-]{section.10.1}{How our web framework enables different kinds of application queries}{chapter.10}
\BOOKMARK [1][-]{section.10.2}{Searching for programs}{chapter.10}
+\BOOKMARK [2][-]{subsection.10.2.1}{A new foundation for search}{section.10.2}
+\BOOKMARK [2][-]{subsection.10.2.2}{Examples}{section.10.2}
View
BIN  src/main/book/content/monadic.pdf
Binary file not shown
View
2  src/main/book/content/monadic.tex
@@ -1,7 +1,7 @@
\documentclass[12pt,leqno]{book}
\usepackage{amsmath,amssymb,amsfonts} % Typical maths resource packages
-\usepackage{graphics} % Packages to allow inclusion of graphics
+\usepackage{graphicx} % Packages to allow inclusion of graphics
\usepackage{color} % For creating coloured text and background
\usepackage{hyperref} % For creating hyperlinks in cross references
\usepackage{makeidx} % For indexing
View
127 src/main/book/content/monadic.toc
@@ -11,65 +11,68 @@
\contentsline {subsection}{\numberline {1.2.2}DSL-based design}{12}{subsection.1.2.2}
\contentsline {section}{\numberline {1.3}How are we going to get there}{13}{section.1.3}
\contentsline {subsection}{\numberline {1.3.1}Leading by example}{13}{subsection.1.3.1}
-\contentsline {subsubsection}{Our toy language}{14}{section*.7}
-\contentsline {paragraph}{Abstract syntax}{14}{section*.8}
-\contentsline {paragraph}{A simple-minded representation}{14}{section*.9}
-\contentsline {paragraph}{Type parametrization and quotation}{15}{section*.10}
-\contentsline {paragraph}{Some syntactic sugar}{16}{section*.11}
-\contentsline {paragraph}{Digression: complexity management principle}{16}{section*.12}
-\contentsline {paragraph}{Concrete syntax}{17}{section*.13}
-\contentsline {paragraph}{Translating concrete syntax to abstract syntax}{17}{section*.14}
-\contentsline {paragraph}{Structural equivalence and Relations or What makes abstract syntax abstract}{18}{section*.15}
-\contentsline {paragraph}{Digression: the internal structure of the type of variables}{22}{section*.16}
-\contentsline {paragraph}{Evaluation -- aka operational semantics}{22}{section*.17}
-\contentsline {subsubsection}{What goes into a language definition}{24}{section*.18}
-\contentsline {paragraph}{Syntax}{25}{section*.19}
-\contentsline {paragraph}{Structural equivalence}{25}{section*.20}
-\contentsline {paragraph}{Operational semantics}{25}{section*.21}
-\contentsline {paragraph}{Discussion}{25}{section*.22}
-\contentsline {chapter}{\numberline {2}Toolbox}{27}{chapter.2}
-\contentsline {section}{\numberline {2.1}Introduction to notation and terminology}{27}{section.2.1}
-\contentsline {section}{\numberline {2.2}Introduction to core design patterns}{27}{section.2.2}
-\contentsline {section}{\numberline {2.3}Variations in presentation}{27}{section.2.3}
-\contentsline {subsection}{\numberline {2.3.1}A little history}{27}{subsection.2.3.1}
-\contentsline {subsection}{\numberline {2.3.2}A little more history}{30}{subsection.2.3.2}
-\contentsline {subsubsection}{Intuition: Monad as container}{31}{section*.23}
-\contentsline {paragraph}{Shape of the container}{31}{section*.24}
-\contentsline {paragraph}{Putting things into the container}{31}{section*.25}
-\contentsline {paragraph}{Flattening nested containers}{31}{section*.26}
-\contentsline {subsubsection}{Preserving connection to existing structure: Monad as generalization of monoid}{31}{section*.27}
-\contentsline {subsubsection}{Decomposition of monad requirements}{33}{section*.28}
-\contentsline {subsubsection}{A categorical way to look at monads}{33}{section*.29}
-\contentsline {chapter}{\numberline {3}An IO-monad for http streams}{35}{chapter.3}
-\contentsline {section}{\numberline {3.1}Code first, questions later}{35}{section.3.1}
-\contentsline {subsection}{\numberline {3.1.1}An HTTP-request processor}{42}{subsection.3.1.1}
-\contentsline {subsection}{\numberline {3.1.2}What we did}{42}{subsection.3.1.2}
-\contentsline {section}{\numberline {3.2}Synchrony, asynchrony and buffering}{42}{section.3.2}
-\contentsline {section}{\numberline {3.3}State, statelessness and continuations}{42}{section.3.3}
-\contentsline {chapter}{\numberline {4}Parsing requests, monadically}{43}{chapter.4}
-\contentsline {section}{\numberline {4.1}Obligatory parsing monad}{43}{section.4.1}
-\contentsline {section}{\numberline {4.2}Your parser combinators are showing}{43}{section.4.2}
-\contentsline {section}{\numberline {4.3}EBNF and why higher levels of abstraction are better}{43}{section.4.3}
-\contentsline {chapter}{\numberline {5}The domain model as abstract syntax}{45}{chapter.5}
-\contentsline {section}{\numberline {5.1}Our abstract syntax}{45}{section.5.1}
-\contentsline {section}{\numberline {5.2}Our application domain model}{45}{section.5.2}
-\contentsline {section}{\numberline {5.3}A transform pipeline}{45}{section.5.3}
-\contentsline {chapter}{\numberline {6}Zippers and contexts and URI's, oh my!}{47}{chapter.6}
-\contentsline {section}{\numberline {6.1}Zippers are not just for Bruno anymore}{47}{section.6.1}
-\contentsline {section}{\numberline {6.2}Constructing contexts and zippers from data types}{47}{section.6.2}
-\contentsline {section}{\numberline {6.3}Mapping URIs to zipper-based paths and back}{47}{section.6.3}
-\contentsline {chapter}{\numberline {7}A review of collections as monads}{49}{chapter.7}
-\contentsline {section}{\numberline {7.1}Monad as container}{49}{section.7.1}
-\contentsline {section}{\numberline {7.2}Monads and take-out}{49}{section.7.2}
-\contentsline {chapter}{\numberline {8}Domain model, storage and state}{51}{chapter.8}
-\contentsline {section}{\numberline {8.1}Mapping our domain model to storage}{51}{section.8.1}
-\contentsline {section}{\numberline {8.2}Storage and language-integrated query}{51}{section.8.2}
-\contentsline {section}{\numberline {8.3}Continuations revisited}{51}{section.8.3}
-\contentsline {chapter}{\numberline {9}Putting it all together}{53}{chapter.9}
-\contentsline {section}{\numberline {9.1}Our web application end-to-end}{53}{section.9.1}
-\contentsline {section}{\numberline {9.2}Deploying our application}{53}{section.9.2}
-\contentsline {subsection}{\numberline {9.2.1}Why we are not deploying on GAE}{53}{subsection.9.2.1}
-\contentsline {section}{\numberline {9.3}From one web application to web framework}{53}{section.9.3}
-\contentsline {chapter}{\numberline {10}The semantic web}{55}{chapter.10}
-\contentsline {section}{\numberline {10.1}How our web framework enables different kinds of application queries}{55}{section.10.1}
-\contentsline {section}{\numberline {10.2}Searching for programs}{55}{section.10.2}
+\contentsline {subsubsection}{Our toy language}{17}{section*.7}
+\contentsline {paragraph}{Abstract syntax}{17}{section*.8}
+\contentsline {paragraph}{A simple-minded representation}{17}{section*.9}
+\contentsline {paragraph}{Type parametrization and quotation}{18}{section*.10}
+\contentsline {paragraph}{Some syntactic sugar}{19}{section*.11}
+\contentsline {paragraph}{Digression: complexity management principle}{19}{section*.12}
+\contentsline {paragraph}{Concrete syntax}{20}{section*.13}
+\contentsline {paragraph}{Translating concrete syntax to abstract syntax}{20}{section*.14}
+\contentsline {paragraph}{Structural equivalence and Relations or What makes abstract syntax abstract}{20}{section*.15}
+\contentsline {paragraph}{Digression: the internal structure of the type of variables}{25}{section*.16}
+\contentsline {paragraph}{Evaluation -- aka operational semantics}{25}{section*.17}
+\contentsline {subsubsection}{What goes into a language definition}{27}{section*.18}
+\contentsline {paragraph}{Syntax}{28}{section*.19}
+\contentsline {paragraph}{Structural equivalence}{28}{section*.20}
+\contentsline {paragraph}{Operational semantics}{28}{section*.21}
+\contentsline {paragraph}{Discussion}{28}{section*.22}
+\contentsline {chapter}{\numberline {2}Toolbox}{29}{chapter.2}
+\contentsline {section}{\numberline {2.1}Introduction to notation and terminology}{29}{section.2.1}
+\contentsline {section}{\numberline {2.2}Introduction to core design patterns}{29}{section.2.2}
+\contentsline {section}{\numberline {2.3}Variations in presentation}{29}{section.2.3}
+\contentsline {subsection}{\numberline {2.3.1}A little history}{29}{subsection.2.3.1}
+\contentsline {subsection}{\numberline {2.3.2}A little more history}{32}{subsection.2.3.2}
+\contentsline {subsubsection}{Intuition: Monad as container}{33}{section*.23}
+\contentsline {paragraph}{Shape of the container}{33}{section*.24}
+\contentsline {paragraph}{Putting things into the container}{33}{section*.25}
+\contentsline {paragraph}{Flattening nested containers}{33}{section*.26}
+\contentsline {subsubsection}{Preserving connection to existing structure: Monad as generalization of monoid}{33}{section*.27}
+\contentsline {subsubsection}{Decomposition of monad requirements}{35}{section*.28}
+\contentsline {subsubsection}{A categorical way to look at monads}{35}{section*.29}
+\contentsline {chapter}{\numberline {3}An IO-monad for http streams}{37}{chapter.3}
+\contentsline {section}{\numberline {3.1}Code first, questions later}{37}{section.3.1}
+\contentsline {subsection}{\numberline {3.1.1}An HTTP-request processor}{44}{subsection.3.1.1}
+\contentsline {subsection}{\numberline {3.1.2}What we did}{44}{subsection.3.1.2}
+\contentsline {section}{\numberline {3.2}Synchrony, asynchrony and buffering}{44}{section.3.2}
+\contentsline {section}{\numberline {3.3}State, statelessness and continuations}{44}{section.3.3}
+\contentsline {chapter}{\numberline {4}Parsing requests, monadically}{45}{chapter.4}
+\contentsline {section}{\numberline {4.1}Obligatory parsing monad}{45}{section.4.1}
+\contentsline {section}{\numberline {4.2}Your parser combinators are showing}{45}{section.4.2}
+\contentsline {section}{\numberline {4.3}EBNF and why higher levels of abstraction are better}{45}{section.4.3}
+\contentsline {chapter}{\numberline {5}The domain model as abstract syntax}{47}{chapter.5}
+\contentsline {section}{\numberline {5.1}Our abstract syntax}{47}{section.5.1}
+\contentsline {section}{\numberline {5.2}Our application domain model}{47}{section.5.2}
+\contentsline {section}{\numberline {5.3}A transform pipeline}{47}{section.5.3}
+\contentsline {chapter}{\numberline {6}Zippers and contexts and URI's, oh my!}{49}{chapter.6}
+\contentsline {section}{\numberline {6.1}Zippers are not just for Bruno anymore}{49}{section.6.1}
+\contentsline {section}{\numberline {6.2}Constructing contexts and zippers from data types}{49}{section.6.2}
+\contentsline {section}{\numberline {6.3}Mapping URIs to zipper-based paths and back}{49}{section.6.3}
+\contentsline {chapter}{\numberline {7}A review of collections as monads}{51}{chapter.7}
+\contentsline {section}{\numberline {7.1}Monad as container}{51}{section.7.1}
+\contentsline {section}{\numberline {7.2}Monads and take-out}{51}{section.7.2}
+\contentsline {chapter}{\numberline {8}Domain model, storage and state}{53}{chapter.8}
+\contentsline {section}{\numberline {8.1}Mapping our domain model to storage}{53}{section.8.1}
+\contentsline {section}{\numberline {8.2}Storage and language-integrated query}{53}{section.8.2}
+\contentsline {section}{\numberline {8.3}Continuations revisited}{53}{section.8.3}
+\contentsline {chapter}{\numberline {9}Putting it all together}{55}{chapter.9}
+\contentsline {section}{\numberline {9.1}Our web application end-to-end}{55}{section.9.1}
+\contentsline {section}{\numberline {9.2}Deploying our application}{55}{section.9.2}
+\contentsline {subsection}{\numberline {9.2.1}Why we are not deploying on GAE}{55}{subsection.9.2.1}
+\contentsline {section}{\numberline {9.3}From one web application to web framework}{55}{section.9.3}
+\contentsline {chapter}{\numberline {10}The semantic web}{57}{chapter.10}
+\contentsline {section}{\numberline {10.1}How our web framework enables different kinds of application queries}{57}{section.10.1}
+\contentsline {section}{\numberline {10.2}Searching for programs}{57}{section.10.2}
+\contentsline {subsection}{\numberline {10.2.1}A new foundation for search}{57}{subsection.10.2.1}
+\contentsline {subsubsection}{Monad composition via distributive laws}{57}{section*.30}
+\contentsline {subsection}{\numberline {10.2.2}Examples}{57}{subsection.10.2.2}
Please sign in to comment.
Something went wrong with that request. Please try again.