# HG changeset patch # User Adam Chlipala # Date 1236875003 14400 # Node ID d5552715db531b5c7755e0e16ef934f6dbfa9987 # Parent 9abeb533f6a777a0f7f5e955f35ec4a0737fe21a Update compiler phases diff -r 9abeb533f6a7 -r d5552715db53 doc/manual.tex --- a/doc/manual.tex Thu Mar 12 12:18:11 2009 -0400 +++ b/doc/manual.tex Thu Mar 12 12:23:23 2009 -0400 @@ -1610,6 +1610,14 @@ Remove all definitions not needed to run the page handlers that are visible in the signature of the last module listed in the \texttt{.urp} file. +\subsection{Rpcify} + +Pieces of code are determined to be client-side, server-side, neither, or both, by figuring out which standard library functions might be needed to execute them. Calls to server-side functions (e.g., $\mt{query}$) within mixed client-server code are identified and replaced with explicit remote calls. Some mixed functions may be converted to continuation-passing style to facilitate this transformation. + +\subsection{Untangle, Shake} + +Repeat these simplifications. + \subsection{\label{tag}Tag} Assign a URL name to each link and form action. It is important that these links and actions are written as applications of named functions, because such names are used to generate URL patterns. A URL pattern has a name built from the full module path of the named function, followed by the function name, with all pieces separated by slashes. The path of a functor application is based on the name given to the result, rather than the path of the functor itself.