diff doc/manual.tex @ 914:782f0b4eea67

New release
author Adam Chlipala <adamc@hcoop.net>
date Tue, 25 Aug 2009 17:33:13 -0400
parents 2faf558b2d05
children 28bf725de7f3
line wrap: on
line diff
--- a/doc/manual.tex	Tue Aug 25 17:12:21 2009 -0400
+++ b/doc/manual.tex	Tue Aug 25 17:33:13 2009 -0400
@@ -1795,6 +1795,14 @@
 
 Transactions can be run on the client by including them in attributes like the $\mt{Onclick}$ attribute of $\mt{button}$, and GUI widgets like $\mt{ctextbox}$ have $\mt{Source}$ attributes that can be used to connect them to sources, so that their values can be read by code running because of, e.g., an $\mt{Onclick}$ event.
 
+\subsubsection{Remote Procedure Calls}
+
+Any function call may be made a client-to-server ``remote procedure call'' if the function being called needs no features that are only available to client code.  To make a function call an RPC, pass that function call as the argument to $\mt{Basis.rpc}$:
+
+$$\begin{array}{l}
+  \mt{val} \; \mt{rpc} : \mt{t} ::: \mt{Type} \to \mt{transaction} \; \mt{t} \to \mt{transaction} \; \mt{t}
+\end{array}$$
+
 \subsubsection{Asynchronous Message-Passing}
 
 To support asynchronous, ``server push'' delivery of messages to clients, any client that might need to receive an asynchronous message is assigned a unique ID.  These IDs may be retrieved both on the client and on the server, during execution of code related to a client.