comparison doc/manual.tex @ 2039:3d10ae22abd6

Default 'jsFunc' for less-safe FFI
author Adam Chlipala <adam@chlipala.net>
date Wed, 16 Jul 2014 04:06:11 -0400
parents d11a7a9c4a73
children 336070df8aec
comparison
equal deleted inserted replaced
2038:ec2c7a22df0d 2039:3d10ae22abd6
2550 \item \texttt{clientOnly} 2550 \item \texttt{clientOnly}
2551 \item \texttt{serverOnly} 2551 \item \texttt{serverOnly}
2552 \item \texttt{jsFunc "putJsFuncNameHere"} 2552 \item \texttt{jsFunc "putJsFuncNameHere"}
2553 \end{itemize} 2553 \end{itemize}
2554 2554
2555 When no \texttt{jsFunc} directive is present, the function is assumed to map to a JavaScript function of the same name, if used in a client-side context.
2556
2555 2557
2556 \section{Compiler Phases} 2558 \section{Compiler Phases}
2557 2559
2558 The Ur/Web compiler is unconventional in that it relies on a kind of \emph{heuristic compilation}. Not all valid programs will compile successfully. Informally, programs fail to compile when they are ``too higher order.'' Compiler phases do their best to eliminate different kinds of higher order-ness, but some programs just won't compile. This is a trade-off for producing very efficient executables. Compiled Ur/Web programs use native C representations and require no garbage collection. 2560 The Ur/Web compiler is unconventional in that it relies on a kind of \emph{heuristic compilation}. Not all valid programs will compile successfully. Informally, programs fail to compile when they are ``too higher order.'' Compiler phases do their best to eliminate different kinds of higher order-ness, but some programs just won't compile. This is a trade-off for producing very efficient executables. Compiled Ur/Web programs use native C representations and require no garbage collection.
2559 2561