src/Doc/System/Misc.thy
author wenzelm
Thu, 19 Dec 2019 17:29:35 +0100
changeset 71325 0131b7b44c32
parent 71324 d0e14780b278
child 71578 d59d557f4ee0
permissions -rw-r--r--
NEWS;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
61656
cfabbc083977 more uniform jEdit properties;
wenzelm
parents: 61575
diff changeset
     1
(*:maxLineLen=78:*)
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
     2
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
     3
theory Misc
43564
9864182c6bad document antiquotations are managed as theory data, with proper name space and entity markup;
wenzelm
parents: 41512
diff changeset
     4
imports Base
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
     5
begin
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
     6
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
     7
chapter \<open>Miscellaneous tools \label{ch:tools}\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
     8
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
     9
text \<open>
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    10
  Subsequently we describe various Isabelle related utilities, given in
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    11
  alphabetical order.
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
    12
\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    13
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    14
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
    15
section \<open>Resolving Isabelle components \label{sec:tool-components}\<close>
48844
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    16
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
    17
text \<open>
48844
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    18
  The @{tool_def components} tool resolves Isabelle components:
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
    19
  @{verbatim [display]
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
    20
\<open>Usage: isabelle components [OPTIONS] [COMPONENTS ...]
48844
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    21
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    22
  Options are:
50653
5c85f8b80b95 simplified quick start via "isabelle components -I";
wenzelm
parents: 50132
diff changeset
    23
    -I           init user settings
48844
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    24
    -R URL       component repository
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    25
                 (default $ISABELLE_COMPONENT_REPOSITORY)
53435
wenzelm
parents: 52550
diff changeset
    26
    -a           resolve all missing components
48844
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    27
    -l           list status
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    28
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    29
  Resolve Isabelle components via download and installation.
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    30
  COMPONENTS are identified via base name.
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    31
68224
1f7308050349 prefer HTTPS;
wenzelm
parents: 68219
diff changeset
    32
  ISABELLE_COMPONENT_REPOSITORY="https://isabelle.in.tum.de/components"\<close>}
48844
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    33
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    34
  Components are initialized as described in \secref{sec:components} in a
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    35
  permissive manner, which can mark components as ``missing''. This state is
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    36
  amended by letting @{tool "components"} download and unpack components that
63680
6e1e8b5abbfa more symbols;
wenzelm
parents: 62588
diff changeset
    37
  are published on the default component repository
68224
1f7308050349 prefer HTTPS;
wenzelm
parents: 68219
diff changeset
    38
  \<^url>\<open>https://isabelle.in.tum.de/components\<close> in particular.
48844
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    39
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    40
  Option \<^verbatim>\<open>-R\<close> specifies an alternative component repository. Note that
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    41
  \<^verbatim>\<open>file:///\<close> URLs can be used for local directories.
48844
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    42
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    43
  Option \<^verbatim>\<open>-a\<close> selects all missing components to be resolved. Explicit
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    44
  components may be named as command line-arguments as well. Note that
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    45
  components are uniquely identified by their base name, while the
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    46
  installation takes place in the location that was specified in the attempt
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    47
  to initialize the component before.
48844
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    48
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    49
  Option \<^verbatim>\<open>-l\<close> lists the current state of available and missing components
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    50
  with their location (full name) within the file-system.
50653
5c85f8b80b95 simplified quick start via "isabelle components -I";
wenzelm
parents: 50132
diff changeset
    51
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    52
  Option \<^verbatim>\<open>-I\<close> initializes the user settings file to subscribe to the standard
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    53
  components specified in the Isabelle repository clone --- this does not make
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    54
  any sense for regular Isabelle releases. If the file already exists, it
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    55
  needs to be edited manually according to the printed explanation.
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
    56
\<close>
48844
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    57
6408fb6f7d81 some explanations on isabelle components;
wenzelm
parents: 48815
diff changeset
    58
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
    59
section \<open>Displaying documents \label{sec:tool-display}\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    60
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    61
text \<open>
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    62
  The @{tool_def display} tool displays documents in DVI or PDF format:
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
    63
  @{verbatim [display]
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
    64
\<open>Usage: isabelle display DOCUMENT
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    65
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
    66
  Display DOCUMENT (in DVI or PDF format).\<close>}
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    67
61406
eb2463fc4d7b more symbols;
wenzelm
parents: 58618
diff changeset
    68
  \<^medskip>
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    69
  The settings @{setting DVI_VIEWER} and @{setting PDF_VIEWER} determine the
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    70
  programs for viewing the corresponding file formats. Normally this opens the
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    71
  document via the desktop environment, potentially in an asynchronous manner
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    72
  with re-use of previews views.
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
    73
\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    74
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    75
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
    76
section \<open>Viewing documentation \label{sec:tool-doc}\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    77
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
    78
text \<open>
52444
2cfe6656d6d6 slightly improved "isabelle doc" based on Isabelle/Scala;
wenzelm
parents: 52052
diff changeset
    79
  The @{tool_def doc} tool displays Isabelle documentation:
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
    80
  @{verbatim [display]
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
    81
\<open>Usage: isabelle doc [DOC ...]
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    82
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
    83
  View Isabelle documentation.\<close>}
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
    84
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    85
  If called without arguments, it lists all available documents. Each line
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    86
  starts with an identifier, followed by a short description. Any of these
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    87
  identifiers may be specified as arguments, in order to display the
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    88
  corresponding document (see also \secref{sec:tool-display}).
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    89
61406
eb2463fc4d7b more symbols;
wenzelm
parents: 58618
diff changeset
    90
  \<^medskip>
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    91
  The @{setting ISABELLE_DOCS} setting specifies the list of directories
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    92
  (separated by colons) to be scanned for documentations.
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
    93
\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    94
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
    95
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
    96
section \<open>Shell commands within the settings environment \label{sec:tool-env}\<close>
47828
e6e1b670520b some coverage of isabelle env;
wenzelm
parents: 47827
diff changeset
    97
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    98
text \<open>
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
    99
  The @{tool_def env} tool is a direct wrapper for the standard
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   100
  \<^verbatim>\<open>/usr/bin/env\<close> command on POSIX systems, running within the Isabelle
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   101
  settings environment (\secref{sec:settings}).
47828
e6e1b670520b some coverage of isabelle env;
wenzelm
parents: 47827
diff changeset
   102
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   103
  The command-line arguments are that of the underlying version of \<^verbatim>\<open>env\<close>. For
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   104
  example, the following invokes an instance of the GNU Bash shell within the
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   105
  Isabelle environment:
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   106
  @{verbatim [display] \<open>isabelle env bash\<close>}
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   107
\<close>
47828
e6e1b670520b some coverage of isabelle env;
wenzelm
parents: 47827
diff changeset
   108
e6e1b670520b some coverage of isabelle env;
wenzelm
parents: 47827
diff changeset
   109
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   110
section \<open>Inspecting the settings environment \label{sec:tool-getenv}\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   111
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   112
text \<open>The Isabelle settings environment --- as provided by the
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   113
  site-default and user-specific settings files --- can be inspected
48602
342ca8f3197b more uniform usage of "isabelle tool";
wenzelm
parents: 48577
diff changeset
   114
  with the @{tool_def getenv} tool:
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   115
  @{verbatim [display]
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   116
\<open>Usage: isabelle getenv [OPTIONS] [VARNAMES ...]
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   117
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   118
  Options are:
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   119
    -a           display complete environment
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   120
    -b           print values only (doesn't work for -a)
31497
5333aa739082 isabelle getenv: option -d;
wenzelm
parents: 28916
diff changeset
   121
    -d FILE      dump complete environment to FILE
5333aa739082 isabelle getenv: option -d;
wenzelm
parents: 28916
diff changeset
   122
                 (null terminated entries)
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   123
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   124
  Get value of VARNAMES from the Isabelle settings.\<close>}
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   125
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   126
  With the \<^verbatim>\<open>-a\<close> option, one may inspect the full process environment that
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   127
  Isabelle related programs are run in. This usually contains much more
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   128
  variables than are actually Isabelle settings. Normally, output is a list of
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   129
  lines of the form \<open>name\<close>\<^verbatim>\<open>=\<close>\<open>value\<close>. The \<^verbatim>\<open>-b\<close> option causes only the values
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   130
  to be printed.
31497
5333aa739082 isabelle getenv: option -d;
wenzelm
parents: 28916
diff changeset
   131
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   132
  Option \<^verbatim>\<open>-d\<close> produces a dump of the complete environment to the specified
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   133
  file. Entries are terminated by the ASCII null character, i.e.\ the C string
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   134
  terminator.
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   135
\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   136
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   137
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   138
subsubsection \<open>Examples\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   139
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   140
text \<open>
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   141
  Get the location of @{setting ISABELLE_HOME_USER} where user-specific
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   142
  information is stored:
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   143
  @{verbatim [display] \<open>isabelle getenv ISABELLE_HOME_USER\<close>}
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   144
61406
eb2463fc4d7b more symbols;
wenzelm
parents: 58618
diff changeset
   145
  \<^medskip>
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   146
  Get the value only of the same settings variable, which is particularly
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   147
  useful in shell scripts:
68219
c0341c0080e2 clarified store directories;
wenzelm
parents: 67399
diff changeset
   148
  @{verbatim [display] \<open>isabelle getenv -b ISABELLE_HOME_USER\<close>}
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   149
\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   150
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   151
71322
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   152
section \<open>Mercurial repository setup \label{sec:hg-setup}\<close>
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   153
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   154
text \<open>
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   155
  The @{tool_def hg_setup} tool simplifies the setup of Mercurial
71325
wenzelm
parents: 71324
diff changeset
   156
  repositories, with hosting via Phabricator (\chref{ch:phabricator}) or SSH
wenzelm
parents: 71324
diff changeset
   157
  file server access.
71322
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   158
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   159
  @{verbatim [display]
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   160
\<open>Usage: isabelle hg_setup [OPTIONS] REMOTE LOCAL_DIR
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   161
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   162
  Options are:
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   163
    -n NAME      remote repository name (default: base name of LOCAL_DIR)
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   164
    -p PATH      Mercurial path name (default: "default")
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   165
    -r           assume that remote repository already exists
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   166
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   167
  Setup a remote vs. local Mercurial repository: REMOTE either refers to a
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   168
  Phabricator server "user@host" or SSH file server "ssh://user@host/path".\<close>}
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   169
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   170
  The \<^verbatim>\<open>REMOTE\<close> repository specification \<^emph>\<open>excludes\<close> the actual repository
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   171
  name: that is given by the base name of \<^verbatim>\<open>LOCAL_DIR\<close>, or via option \<^verbatim>\<open>-n\<close>.
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   172
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   173
  By default, both sides of the repository are created on demand by default.
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   174
  In contrast, option \<^verbatim>\<open>-r\<close> assumes that the remote repository already exists:
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   175
  it avoids accidental creation of a persistent repository with unintended
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   176
  name.
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   177
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   178
  The local \<^verbatim>\<open>.hg/hgrc\<close> file is changed to refer to the remote repository,
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   179
  usually via the symbolic path name ``\<^verbatim>\<open>default\<close>''; option \<^verbatim>\<open>-p\<close> allows to
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   180
  provided a different name.
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   181
\<close>
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   182
71324
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   183
subsubsection \<open>Examples\<close>
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   184
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   185
text \<open>
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   186
  Setup the current directory as a repository with Phabricator server hosting:
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   187
  @{verbatim [display] \<open>  isabelle hg_setup vcs@vcs.example.org .\<close>}
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   188
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   189
  \<^medskip>
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   190
  Setup the current directory as a repository with plain SSH server hosting:
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   191
  @{verbatim [display] \<open>  isabelle hg_setup ssh://files.example.org/data/repositories .\<close>}
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   192
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   193
  \<^medskip>
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   194
  Both variants require SSH access to the target server, via public key
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   195
  without password.
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   196
\<close>
d0e14780b278 more documentation;
wenzelm
parents: 71322
diff changeset
   197
71322
0256ce61f405 more documentation;
wenzelm
parents: 68394
diff changeset
   198
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   199
section \<open>Installing standalone Isabelle executables \label{sec:tool-install}\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   200
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   201
text \<open>
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   202
  By default, the main Isabelle binaries (@{executable "isabelle"} etc.) are
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   203
  just run from their location within the distribution directory, probably
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   204
  indirectly by the shell through its @{setting PATH}. Other schemes of
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   205
  installation are supported by the @{tool_def install} tool:
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   206
  @{verbatim [display]
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   207
\<open>Usage: isabelle install [OPTIONS] BINDIR
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   208
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   209
  Options are:
50132
180d086c30dd simplified command line of "isabelle install";
wenzelm
parents: 49072
diff changeset
   210
    -d DISTDIR   refer to DISTDIR as Isabelle distribution
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   211
                 (default ISABELLE_HOME)
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   212
50132
180d086c30dd simplified command line of "isabelle install";
wenzelm
parents: 49072
diff changeset
   213
  Install Isabelle executables with absolute references to the
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   214
  distribution directory.\<close>}
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   215
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   216
  The \<^verbatim>\<open>-d\<close> option overrides the current Isabelle distribution directory as
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   217
  determined by @{setting ISABELLE_HOME}.
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   218
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   219
  The \<open>BINDIR\<close> argument tells where executable wrapper scripts for
62588
cd266473b81b isabelle_process is superseded by "isabelle process" tool;
wenzelm
parents: 62562
diff changeset
   220
  @{executable "isabelle"} and @{executable isabelle_scala_script} should be
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   221
  placed, which is typically a directory in the shell's @{setting PATH}, such
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   222
  as \<^verbatim>\<open>$HOME/bin\<close>.
48815
wenzelm
parents: 48814
diff changeset
   223
61406
eb2463fc4d7b more symbols;
wenzelm
parents: 58618
diff changeset
   224
  \<^medskip>
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   225
  It is also possible to make symbolic links of the main Isabelle executables
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   226
  manually, but making separate copies outside the Isabelle distribution
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   227
  directory will not work!
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   228
\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   229
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   230
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   231
section \<open>Creating instances of the Isabelle logo\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   232
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   233
text \<open>
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   234
  The @{tool_def logo} tool creates instances of the generic Isabelle logo as
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   235
  EPS and PDF, for inclusion in {\LaTeX} documents.
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   236
  @{verbatim [display]
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   237
\<open>Usage: isabelle logo [OPTIONS] XYZ
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   238
49072
747835eb2782 "isabelle logo" produces EPS and PDF format simultaneously;
wenzelm
parents: 48985
diff changeset
   239
  Create instance XYZ of the Isabelle logo (as EPS and PDF).
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   240
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   241
  Options are:
49072
747835eb2782 "isabelle logo" produces EPS and PDF format simultaneously;
wenzelm
parents: 48985
diff changeset
   242
    -n NAME      alternative output base name (default "isabelle_xyx")
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   243
    -q           quiet mode\<close>}
48936
e6d9e46ff7bc clarified "isabelle logo";
wenzelm
parents: 48844
diff changeset
   244
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   245
  Option \<^verbatim>\<open>-n\<close> specifies an alternative (base) name for the generated files.
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   246
  The default is \<^verbatim>\<open>isabelle_\<close>\<open>xyz\<close> in lower-case.
48936
e6d9e46ff7bc clarified "isabelle logo";
wenzelm
parents: 48844
diff changeset
   247
61503
28e788ca2c5d more control symbols;
wenzelm
parents: 61493
diff changeset
   248
  Option \<^verbatim>\<open>-q\<close> omits printing of the result file name.
48936
e6d9e46ff7bc clarified "isabelle logo";
wenzelm
parents: 48844
diff changeset
   249
61406
eb2463fc4d7b more symbols;
wenzelm
parents: 58618
diff changeset
   250
  \<^medskip>
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   251
  Implementors of Isabelle tools and applications are encouraged to make
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   252
  derived Isabelle logos for their own projects using this template.
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   253
\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   254
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   255
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   256
section \<open>Output the version identifier of the Isabelle distribution\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   257
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   258
text \<open>
48602
342ca8f3197b more uniform usage of "isabelle tool";
wenzelm
parents: 48577
diff changeset
   259
  The @{tool_def version} tool displays Isabelle version information:
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   260
  @{verbatim [display]
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   261
\<open>Usage: isabelle version [OPTIONS]
41511
2fe62d602681 isabelle version -i;
wenzelm
parents: 40800
diff changeset
   262
2fe62d602681 isabelle version -i;
wenzelm
parents: 40800
diff changeset
   263
  Options are:
2fe62d602681 isabelle version -i;
wenzelm
parents: 40800
diff changeset
   264
    -i           short identification (derived from Mercurial id)
2fe62d602681 isabelle version -i;
wenzelm
parents: 40800
diff changeset
   265
61407
7ba7b8103565 @{verbatim [display]} supersedes old alltt/ttbox;
wenzelm
parents: 61406
diff changeset
   266
  Display Isabelle version information.\<close>}
41511
2fe62d602681 isabelle version -i;
wenzelm
parents: 40800
diff changeset
   267
61406
eb2463fc4d7b more symbols;
wenzelm
parents: 58618
diff changeset
   268
  \<^medskip>
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   269
  The default is to output the full version string of the Isabelle
68394
bc2fd0e2047e updated for release;
wenzelm
parents: 68224
diff changeset
   270
  distribution, e.g.\ ``\<^verbatim>\<open>Isabelle2018: August 2018\<close>.
41511
2fe62d602681 isabelle version -i;
wenzelm
parents: 40800
diff changeset
   271
61575
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   272
  The \<^verbatim>\<open>-i\<close> option produces a short identification derived from the Mercurial
f18f6e51e901 tuned whitespace;
wenzelm
parents: 61503
diff changeset
   273
  id of the @{setting ISABELLE_HOME} directory.
58618
782f0b662cae more cartouches;
wenzelm
parents: 57443
diff changeset
   274
\<close>
28224
10487d954a8f converted misc.tex;
wenzelm
parents:
diff changeset
   275
67399
eab6ce8368fa ran isabelle update_op on all sources
nipkow
parents: 66785
diff changeset
   276
end