doc-src/System/Thy/Interfaces.thy
changeset 48603 a37463482e5f
parent 48602 342ca8f3197b
child 48791 9e8f30bfbdca
equal deleted inserted replaced
48602:342ca8f3197b 48603:a37463482e5f
     4 
     4 
     5 chapter {* User interfaces *}
     5 chapter {* User interfaces *}
     6 
     6 
     7 section {* Isabelle/jEdit Prover IDE \label{sec:tool-jedit} *}
     7 section {* Isabelle/jEdit Prover IDE \label{sec:tool-jedit} *}
     8 
     8 
     9 text {* The @{tool_def jedit} tool invokes a version of jEdit that has
     9 text {* The @{tool_def jedit} tool invokes a version of
    10   been augmented with some components to provide a fully-featured
    10   jEdit\footnote{\url{http://www.jedit.org/}} that has been augmented
    11   Prover IDE (based on Isabelle/Scala):
    11   with some components to provide a fully-featured Prover IDE:
    12 \begin{ttbox}
    12 \begin{ttbox} Usage: isabelle jedit [OPTIONS]
    13 Usage: isabelle jedit [OPTIONS] [FILES ...]
    13   [FILES ...]
    14 
    14 
    15   Options are:
    15   Options are:
    16     -J OPTION    add JVM runtime option (default JEDIT_JAVA_OPTIONS)
    16     -J OPTION    add JVM runtime option (default JEDIT_JAVA_OPTIONS)
    17     -b           build only
    17     -b           build only
    18     -d           enable debugger
       
    19     -f           fresh build
    18     -f           fresh build
    20     -j OPTION    add jEdit runtime option (default JEDIT_OPTIONS)
    19     -j OPTION    add jEdit runtime option (default JEDIT_OPTIONS)
    21     -l NAME      logic image name (default ISABELLE_LOGIC)
    20     -l NAME      logic image name (default ISABELLE_LOGIC)
    22     -m MODE      add print mode for output
    21     -m MODE      add print mode for output
    23 
    22 
    28   The @{verbatim "-l"} option specifies the logic image.  The
    27   The @{verbatim "-l"} option specifies the logic image.  The
    29   @{verbatim "-m"} option specifies additional print modes.
    28   @{verbatim "-m"} option specifies additional print modes.
    30 
    29 
    31   The @{verbatim "-J"} and @{verbatim "-j"} options allow to pass
    30   The @{verbatim "-J"} and @{verbatim "-j"} options allow to pass
    32   additional low-level options to the JVM or jEdit, respectively.  The
    31   additional low-level options to the JVM or jEdit, respectively.  The
    33   defaults are provided by the Isabelle settings environment.
    32   defaults are provided by the Isabelle settings environment
    34 
    33   (\secref{sec:settings}).
    35   The @{verbatim "-d"} option allows to connect to the runtime
       
    36   debugger of the JVM.  Note that the Scala Console of Isabelle/jEdit
       
    37   is more convenient in most practical situations.
       
    38 
    34 
    39   The @{verbatim "-b"} and @{verbatim "-f"} options control the
    35   The @{verbatim "-b"} and @{verbatim "-f"} options control the
    40   self-build mechanism of Isabelle/jEdit.  This is only relevant for
    36   self-build mechanism of Isabelle/jEdit.  This is only relevant for
    41   building from sources, which also requires an auxiliary @{verbatim
    37   building from sources, which also requires an auxiliary @{verbatim
    42   jedit_build} component.  Official Isabelle releases already include
    38   jedit_build}
    43   a version of Isabelle/jEdit that is built properly.
    39   component.\footnote{\url{http://isabelle.in.tum.de/components}} Note
    44 *}
    40   that official Isabelle releases already include a version of
       
    41   Isabelle/jEdit that is built properly.  *}
    45 
    42 
    46 
    43 
    47 section {* Proof General / Emacs *}
    44 section {* Proof General / Emacs *}
    48 
    45 
    49 text {* The @{tool_def emacs} tool invokes a version of Emacs and
    46 text {* The @{tool_def emacs} tool invokes a version of Emacs and
    50   Proof General \cite{proofgeneral} within the regular Isabelle
    47   Proof General\footnote{http://proofgeneral.inf.ed.ac.uk/} within the
    51   settings environment (\secref{sec:settings}).  This is more
    48   regular Isabelle settings environment (\secref{sec:settings}).  This
    52   convenient than starting Emacs separately, loading the Proof General
    49   is more convenient than starting Emacs separately, loading the Proof
    53   lisp files, and then attempting to start Isabelle with dynamic
    50   General LISP files, and then attempting to start Isabelle with
    54   @{setting PATH} lookup etc.
    51   dynamic @{setting PATH} lookup etc.
    55 
    52 
    56   The actual interface script is part of the Proof General
    53   The actual interface script is part of the Proof General
    57   distribution; its usage depends on the particular version.  There
    54   distribution; its usage depends on the particular version.  There
    58   are some options available, such as @{verbatim "-l"} for passing the
    55   are some options available, such as @{verbatim "-l"} for passing the
    59   logic image to be used by default, or @{verbatim "-m"} to tune the
    56   logic image to be used by default, or @{verbatim "-m"} to tune the
    97   @{verbatim "-m"} option specifies additional print modes.  The
    94   @{verbatim "-m"} option specifies additional print modes.  The
    98   @{verbatim "-p"} option specifies an alternative line editor (such
    95   @{verbatim "-p"} option specifies an alternative line editor (such
    99   as the @{executable_def rlwrap} wrapper for GNU readline); the
    96   as the @{executable_def rlwrap} wrapper for GNU readline); the
   100   fall-back is to use raw standard input.
    97   fall-back is to use raw standard input.
   101 
    98 
   102   Regular interaction is via the standard Isabelle/Isar toplevel loop.
    99   Regular interaction works via the standard Isabelle/Isar toplevel
   103   The Isar command @{command exit} drops out into the bare-bones ML
   100   loop.  The Isar command @{command exit} drops out into the
   104   system, which is occasionally useful for debugging of the Isar
   101   bare-bones ML system, which is occasionally useful for debugging of
   105   infrastructure itself.  Invoking @{ML Isar.loop}~@{verbatim "();"}
   102   the Isar infrastructure itself.  Invoking @{ML Isar.loop}~@{verbatim
   106   in ML will return to the Isar toplevel.  *}
   103   "();"} in ML will return to the Isar toplevel.  *}
   107 
   104 
   108 
   105 
   109 
   106 
   110 section {* Theory graph browser \label{sec:browse} *}
   107 section {* Theory graph browser \label{sec:browse} *}
   111 
   108