diff options
author | Adam Chlipala <adam@chlipala.net> | 2011-11-20 19:22:57 -0500 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2011-11-20 19:22:57 -0500 |
commit | 7ed47fc3dcd34e96ce94c6d761a9d17e9f39721f (patch) | |
tree | c31e5f73c5f2c8da39e893bd6e3b1e01898fdef0 /doc | |
parent | b8899334290e4d07aa1037c7fb4b5de26a609654 (diff) |
More complete account of URI determination in structure section
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manual.tex | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/doc/manual.tex b/doc/manual.tex index 03d29701..2a94ccb9 100644 --- a/doc/manual.tex +++ b/doc/manual.tex @@ -107,7 +107,7 @@ Change the path in the first line if you chose a different Emacs installation pa \section{Command-Line Compiler} -\subsection{Project Files} +\subsection{\label{cl}Project Files} The basic inputs to the \texttt{urweb} compiler are project files, which have the extension \texttt{.urp}. Here is a sample \texttt{.urp} file. @@ -2204,7 +2204,7 @@ $$\begin{array}{rrcll} \section{\label{structure}The Structure of Web Applications} -A web application is built from a series of modules, with one module, the last one appearing in the \texttt{.urp} file, designated as the main module. The signature of the main module determines the URL entry points to the application. Such an entry point should have type $\mt{t1} \to \ldots \to \mt{tn} \to \mt{transaction} \; \mt{page}$, for any integer $n \geq 0$, where $\mt{page}$ is a type synonym for top-level HTML pages, defined in $\mt{Basis}$. If such a function is at the top level of main module $M$, with $n = 0$, it will be accessible at URI \texttt{/M/f}, and so on for more deeply-nested functions, as described in Section \ref{tag} below. Arguments to an entry-point function are deserialized from the part of the URI following \texttt{f}. +A web application is built from a series of modules, with one module, the last one appearing in the \texttt{.urp} file, designated as the main module. The signature of the main module determines the URL entry points to the application. Such an entry point should have type $\mt{t1} \to \ldots \to \mt{tn} \to \mt{transaction} \; \mt{page}$, for any integer $n \geq 0$, where $\mt{page}$ is a type synonym for top-level HTML pages, defined in $\mt{Basis}$. If such a function is at the top level of main module $M$, with $n = 0$, it will be accessible at URI \texttt{/M/f}, and so on for more deeply-nested functions, as described in Section \ref{tag} below. See Section \ref{cl} for information on the \texttt{prefix} and \texttt{rewrite url} directives, which can be used to rewrite the default URIs of different entry point functions. The final URL of a function is its default module-based URI, with \texttt{rewrite url} rules applied, and with the \texttt{prefix} prepended. Arguments to an entry-point function are deserialized from the part of the URI following \texttt{f}. Elements of modules beside the main module, including page handlers, will only be included in the final application if they are transitive dependencies of the handlers in the main module. |