# HG changeset patch # User Adam Chlipala # Date 1236875679 14400 # Node ID c90906b2f43151348634716d04ee3a344e7c434f # Parent bddf0da18db6a8d4a069aff73240ac2ee1814394 Spell-check manual diff -r bddf0da18db6 -r c90906b2f431 doc/manual.tex --- a/doc/manual.tex Thu Mar 12 12:30:21 2009 -0400 +++ b/doc/manual.tex Thu Mar 12 12:34:39 2009 -0400 @@ -1128,7 +1128,7 @@ For a type-level record $\mt{r}$, a $\mt{folder} \; \mt{r}$ encodes a permutation of $\mt{r}$'s elements. The $\mt{fold}$ function can be called on a $\mt{folder}$ to iterate over the elements of $\mt{r}$ in that order. $\mt{fold}$ is parameterized on a type-level function to be used to calculate the type of each intermediate result of folding. After processing a subset $\mt{r'}$ of $\mt{r}$'s entries, the type of the accumulator should be $\mt{tf} \; \mt{r'}$. The next two expression arguments to $\mt{fold}$ are the usual step function and initial accumulator, familiar from fold functions over lists. The final two arguments are the record to fold over and a $\mt{folder}$ for it. -The Ur compiler treates $\mt{folder}$ like a constructor class, using built-in rules to infer $\mt{folder}$s for records with known structure. The order in which field names are mentioned in source code is used as a hint about the permutation that the programmer would like. +The Ur compiler treats $\mt{folder}$ like a constructor class, using built-in rules to infer $\mt{folder}$s for records with known structure. The order in which field names are mentioned in source code is used as a hint about the permutation that the programmer would like. \section{The Ur/Web Standard Library} @@ -1647,6 +1647,7 @@ Programs are translated to a new intermediate language without polymorphism or non-$\mt{Type}$ constructors. Error messages may pop up here if earlier phases failed to remove such features. This is the stage at which concrete names are generated for cookies, tables, and sequences. They are named following the same convention as for links and actions, based on module path information saved from earlier stages. Table and sequence names separate path elements with underscores instead of slashes, and they are prefixed by \texttt{uw\_}. + \subsection{MonoOpt} Simple algebraic laws are applied to simplify the program, focusing especially on efficient imperative generation of HTML pages.