summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2014-05-25 09:21:56 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2014-05-25 09:21:56 -0400
commit4cee29f03879d25963e3d8a8dda879e0a007033c (patch)
tree7ab7cecb2e2c7a1f063572b81906b929112be177 /doc
parent7a1a263a0c471a94c2fdf0e4f80a8ae0266e6d98 (diff)
Warn about MLton memory usage
Diffstat (limited to 'doc')
-rw-r--r--doc/manual.tex4
1 files changed, 3 insertions, 1 deletions
diff --git a/doc/manual.tex b/doc/manual.tex
index b233473e..7fd135fa 100644
--- a/doc/manual.tex
+++ b/doc/manual.tex
@@ -62,6 +62,8 @@ Some other packages must be installed for the above to work. At a minimum, you
apt-get install mlton libssl-dev
\end{verbatim}
+Note that, like the Ur/Web compiler, MLton is a whole-program optimizing compiler, so it frequently requires much more memory than old-fashioned compilers do. Expect building Ur/Web with MLton to require not much less than a gigabyte of RAM. If a \texttt{mlton} invocation ends suspiciously, the most likely explanation is that it has exhausted available memory.
+
To build programs that access SQL databases, you also need one of these client libraries for supported backends.
\begin{verbatim}
apt-get install libpq-dev libmysqlclient-dev libsqlite3-dev
@@ -72,7 +74,7 @@ It is also possible to access the modules of the Ur/Web compiler interactively,
apt-get install smlnj libsmlnj-smlnj ml-yacc ml-lpt
\end{verbatim}
-To begin an interactive session with the Ur compiler modules, run \texttt{make smlnj}, and then, from within an \texttt{sml} session, run \texttt{CM.make "src/urweb.cm";}. The \texttt{Compiler} module is the main entry point.
+To begin an interactive session with the Ur compiler modules, run \texttt{make smlnj}, and then, from within an \texttt{sml} session, run \texttt{CM.make "src/urweb.cm";}. The \texttt{Compiler} module is the main entry point, and you can find its signature in \texttt{src/compiler.sig}.
To run an SQL-backed application with a backend besides SQLite, you will probably want to install one of these servers.