doc-src/System/Thy/document/Interfaces.tex
changeset 28916 0a802cdda340
child 32088 2110fcd86efb
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/doc-src/System/Thy/document/Interfaces.tex	Sun Nov 30 14:03:46 2008 +0100
     1.3 @@ -0,0 +1,115 @@
     1.4 +%
     1.5 +\begin{isabellebody}%
     1.6 +\def\isabellecontext{Interfaces}%
     1.7 +%
     1.8 +\isadelimtheory
     1.9 +\isanewline
    1.10 +\isanewline
    1.11 +%
    1.12 +\endisadelimtheory
    1.13 +%
    1.14 +\isatagtheory
    1.15 +\isacommand{theory}\isamarkupfalse%
    1.16 +\ Interfaces\isanewline
    1.17 +\isakeyword{imports}\ Pure\isanewline
    1.18 +\isakeyword{begin}%
    1.19 +\endisatagtheory
    1.20 +{\isafoldtheory}%
    1.21 +%
    1.22 +\isadelimtheory
    1.23 +%
    1.24 +\endisadelimtheory
    1.25 +%
    1.26 +\isamarkupchapter{User interfaces%
    1.27 +}
    1.28 +\isamarkuptrue%
    1.29 +%
    1.30 +\isamarkupsection{Plain TTY interaction \label{sec:tool-tty}%
    1.31 +}
    1.32 +\isamarkuptrue%
    1.33 +%
    1.34 +\begin{isamarkuptext}%
    1.35 +The \indexdef{}{tool}{tty}\hypertarget{tool.tty}{\hyperlink{tool.tty}{\mbox{\isa{\isatt{tty}}}}} tool runs the Isabelle process interactively
    1.36 +  within a plain terminal session:
    1.37 +\begin{ttbox}
    1.38 +Usage: tty [OPTIONS]
    1.39 +
    1.40 +  Options are:
    1.41 +    -l NAME      logic image name (default ISABELLE_LOGIC)
    1.42 +    -m MODE      add print mode for output
    1.43 +    -p NAME      line editor program name (default ISABELLE_LINE_EDITOR)
    1.44 +
    1.45 +  Run Isabelle process with plain tty interaction, and optional line editor.
    1.46 +\end{ttbox}
    1.47 +
    1.48 +  The \verb|-l| option specifies the logic image.  The
    1.49 +  \verb|-m| option specifies additional print modes.  The The
    1.50 +  \verb|-p| option specifies an alternative line editor (such
    1.51 +  as the \indexdef{}{executable}{rlwrap}\hypertarget{executable.rlwrap}{\hyperlink{executable.rlwrap}{\mbox{\isa{\isatt{rlwrap}}}}} wrapper for GNU readline); the
    1.52 +  fall-back is to use raw standard input.
    1.53 +
    1.54 +  Regular interaction is via the standard Isabelle/Isar toplevel loop.
    1.55 +  The Isar command \hyperlink{command.exit}{\mbox{\isa{\isacommand{exit}}}} drops out into the raw ML system,
    1.56 +  which is occasionally useful for low-level debugging.  Invoking \verb|Isar.loop|~\verb|();| in ML will return to the Isar toplevel.%
    1.57 +\end{isamarkuptext}%
    1.58 +\isamarkuptrue%
    1.59 +%
    1.60 +\isamarkupsection{Proof General / Emacs%
    1.61 +}
    1.62 +\isamarkuptrue%
    1.63 +%
    1.64 +\begin{isamarkuptext}%
    1.65 +The \indexdef{}{tool}{emacs}\hypertarget{tool.emacs}{\hyperlink{tool.emacs}{\mbox{\isa{\isatt{emacs}}}}} tool invokes a version of Emacs and Proof
    1.66 +  General within the regular Isabelle settings environment
    1.67 +  (\secref{sec:settings}).  This is more robust than starting Emacs
    1.68 +  separately, loading the Proof General lisp files, and then
    1.69 +  attempting to start Isabelle with dynamic \hyperlink{setting.PATH}{\mbox{\isa{\isatt{PATH}}}} lookup
    1.70 +  etc.
    1.71 +
    1.72 +  The actual interface script is part of the Proof General
    1.73 +  distribution~\cite{proofgeneral}; its usage depends on the
    1.74 +  particular version.  There are some options available, such as
    1.75 +  \verb|-l| for passing the logic image to be used by default,
    1.76 +  or \verb|-m| to tune the standard print mode.  The following
    1.77 +  Isabelle settings are particularly important for Proof General:
    1.78 +
    1.79 +  \begin{description}
    1.80 +
    1.81 +  \item[\indexdef{}{setting}{PROOFGENERAL\_HOME}\hypertarget{setting.PROOFGENERAL-HOME}{\hyperlink{setting.PROOFGENERAL-HOME}{\mbox{\isa{\isatt{PROOFGENERAL{\isacharunderscore}HOME}}}}}] points to the main
    1.82 +  installation directory of the Proof General distribution.  The
    1.83 +  default settings try to locate this in a number of standard places,
    1.84 +  notably \verb|$ISABELLE_HOME/contrib/ProofGeneral|.
    1.85 +
    1.86 +  \item[\indexdef{}{setting}{PROOFGENERAL\_OPTIONS}\hypertarget{setting.PROOFGENERAL-OPTIONS}{\hyperlink{setting.PROOFGENERAL-OPTIONS}{\mbox{\isa{\isatt{PROOFGENERAL{\isacharunderscore}OPTIONS}}}}}] is implicitly prefixed to
    1.87 +  the command line of any invocation of the Proof General \verb|interface| script.
    1.88 +
    1.89 +  \item[\indexdef{}{setting}{XSYMBOL\_INSTALLFONTS}\hypertarget{setting.XSYMBOL-INSTALLFONTS}{\hyperlink{setting.XSYMBOL-INSTALLFONTS}{\mbox{\isa{\isatt{XSYMBOL{\isacharunderscore}INSTALLFONTS}}}}}] may contain a small shell
    1.90 +  script to install the X11 fonts required for the X-Symbols mode of
    1.91 +  Proof General.  This is only relevant if the X11 display server runs
    1.92 +  on a different machine than the Emacs application, with a different
    1.93 +  file-system view on the Proof General installation.  Under most
    1.94 +  circumstances Proof General is able to refer to the font files that
    1.95 +  are part of its distribution.
    1.96 +
    1.97 +  \end{description}%
    1.98 +\end{isamarkuptext}%
    1.99 +\isamarkuptrue%
   1.100 +%
   1.101 +\isadelimtheory
   1.102 +%
   1.103 +\endisadelimtheory
   1.104 +%
   1.105 +\isatagtheory
   1.106 +\isacommand{end}\isamarkupfalse%
   1.107 +%
   1.108 +\endisatagtheory
   1.109 +{\isafoldtheory}%
   1.110 +%
   1.111 +\isadelimtheory
   1.112 +%
   1.113 +\endisadelimtheory
   1.114 +\end{isabellebody}%
   1.115 +%%% Local Variables:
   1.116 +%%% mode: latex
   1.117 +%%% TeX-master: "root"
   1.118 +%%% End: