diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-03-12 12:23:23 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-03-12 12:23:23 -0400 |
commit | 64c858689d78c4ed5a83363207faca5ecb2cbb91 (patch) | |
tree | 27cfcf53e31d3352aef7bf61e9788b1cf4a450b7 /doc | |
parent | 8947397e8e7133f0f284211f0e12f662728c1a35 (diff) |
Update compiler phases
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manual.tex | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/doc/manual.tex b/doc/manual.tex index 72360bb8..0038d3b1 100644 --- a/doc/manual.tex +++ b/doc/manual.tex @@ -1610,6 +1610,14 @@ Remove unnecessary mutual recursion, splitting recursive groups into strongly-co 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. |