src/Doc/System/Basics.thy
changeset 61477 e467ae7aa808
parent 61458 987533262fc2
child 61493 0debd22f0c0e
equal deleted inserted replaced
61476:1884c40f1539 61477:e467ae7aa808
     4 
     4 
     5 chapter \<open>The Isabelle system environment\<close>
     5 chapter \<open>The Isabelle system environment\<close>
     6 
     6 
     7 text \<open>This manual describes Isabelle together with related tools and
     7 text \<open>This manual describes Isabelle together with related tools and
     8   user interfaces as seen from a system oriented view.  See also the
     8   user interfaces as seen from a system oriented view.  See also the
     9   \emph{Isabelle/Isar Reference Manual} @{cite "isabelle-isar-ref"} for
     9   \<^emph>\<open>Isabelle/Isar Reference Manual\<close> @{cite "isabelle-isar-ref"} for
    10   the actual Isabelle input language and related concepts, and
    10   the actual Isabelle input language and related concepts, and
    11   \emph{The Isabelle/Isar Implementation
    11   \<^emph>\<open>The Isabelle/Isar Implementation
    12   Manual} @{cite "isabelle-implementation"} for the main concepts of the
    12   Manual\<close> @{cite "isabelle-implementation"} for the main concepts of the
    13   underlying implementation in Isabelle/ML.
    13   underlying implementation in Isabelle/ML.
    14 
    14 
    15   \<^medskip>
    15   \<^medskip>
    16   The Isabelle system environment provides the following
    16   The Isabelle system environment provides the following
    17   basic infrastructure to integrate tools smoothly.
    17   basic infrastructure to integrate tools smoothly.
    18 
    18 
    19   \<^enum> The \emph{Isabelle settings} mechanism provides process
    19   \<^enum> The \<^emph>\<open>Isabelle settings\<close> mechanism provides process
    20   environment variables to all Isabelle executables (including tools
    20   environment variables to all Isabelle executables (including tools
    21   and user interfaces).
    21   and user interfaces).
    22 
    22 
    23   \<^enum> The raw \emph{Isabelle process} (@{executable_ref
    23   \<^enum> The raw \<^emph>\<open>Isabelle process\<close> (@{executable_ref
    24   "isabelle_process"}) runs logic sessions either interactively or in
    24   "isabelle_process"}) runs logic sessions either interactively or in
    25   batch mode.  In particular, this view abstracts over the invocation
    25   batch mode.  In particular, this view abstracts over the invocation
    26   of the actual ML system to be used.  Regular users rarely need to
    26   of the actual ML system to be used.  Regular users rarely need to
    27   care about the low-level process.
    27   care about the low-level process.
    28 
    28 
    29   \<^enum> The main \emph{Isabelle tool wrapper} (@{executable_ref
    29   \<^enum> The main \<^emph>\<open>Isabelle tool wrapper\<close> (@{executable_ref
    30   isabelle}) provides a generic startup environment Isabelle related
    30   isabelle}) provides a generic startup environment Isabelle related
    31   utilities, user interfaces etc.  Such tools automatically benefit
    31   utilities, user interfaces etc.  Such tools automatically benefit
    32   from the settings mechanism.
    32   from the settings mechanism.
    33 \<close>
    33 \<close>
    34 
    34 
    35 
    35 
    36 section \<open>Isabelle settings \label{sec:settings}\<close>
    36 section \<open>Isabelle settings \label{sec:settings}\<close>
    37 
    37 
    38 text \<open>
    38 text \<open>
    39   The Isabelle system heavily depends on the \emph{settings
    39   The Isabelle system heavily depends on the \<^emph>\<open>settings
    40   mechanism}\indexbold{settings}.  Essentially, this is a statically
    40   mechanism\<close>\indexbold{settings}.  Essentially, this is a statically
    41   scoped collection of environment variables, such as @{setting
    41   scoped collection of environment variables, such as @{setting
    42   ISABELLE_HOME}, @{setting ML_SYSTEM}, @{setting ML_HOME}.  These
    42   ISABELLE_HOME}, @{setting ML_SYSTEM}, @{setting ML_HOME}.  These
    43   variables are \emph{not} intended to be set directly from the shell,
    43   variables are \<^emph>\<open>not\<close> intended to be set directly from the shell,
    44   though.  Isabelle employs a somewhat more sophisticated scheme of
    44   though.  Isabelle employs a somewhat more sophisticated scheme of
    45   \emph{settings files} --- one for site-wide defaults, another for
    45   \<^emph>\<open>settings files\<close> --- one for site-wide defaults, another for
    46   additional user-specific modifications.  With all configuration
    46   additional user-specific modifications.  With all configuration
    47   variables in clearly defined places, this scheme is more
    47   variables in clearly defined places, this scheme is more
    48   maintainable and user-friendly than global shell environment
    48   maintainable and user-friendly than global shell environment
    49   variables.
    49   variables.
    50 
    50 
   267 \<close>
   267 \<close>
   268 
   268 
   269 
   269 
   270 subsection \<open>Additional components \label{sec:components}\<close>
   270 subsection \<open>Additional components \label{sec:components}\<close>
   271 
   271 
   272 text \<open>Any directory may be registered as an explicit \emph{Isabelle
   272 text \<open>Any directory may be registered as an explicit \<^emph>\<open>Isabelle
   273   component}.  The general layout conventions are that of the main
   273   component\<close>.  The general layout conventions are that of the main
   274   Isabelle distribution itself, and the following two files (both
   274   Isabelle distribution itself, and the following two files (both
   275   optional) have a special meaning:
   275   optional) have a special meaning:
   276 
   276 
   277   \<^item> @{verbatim "etc/settings"} holds additional settings that are
   277   \<^item> @{verbatim "etc/settings"} holds additional settings that are
   278   initialized when bootstrapping the overall Isabelle environment,
   278   initialized when bootstrapping the overall Isabelle environment,