src/Doc/System/Environment.thy
changeset 75161 95612f330c93
parent 74427 011ecb267e41
child 75291 e4d6b9bd5071
equal deleted inserted replaced
75160:d48998648281 75161:95612f330c93
    21 text \<open>
    21 text \<open>
    22   Isabelle executables may depend on the \<^emph>\<open>Isabelle settings\<close> within the
    22   Isabelle executables may depend on the \<^emph>\<open>Isabelle settings\<close> within the
    23   process environment. This is a statically scoped collection of environment
    23   process environment. This is a statically scoped collection of environment
    24   variables, such as @{setting ISABELLE_HOME}, @{setting ML_SYSTEM}, @{setting
    24   variables, such as @{setting ISABELLE_HOME}, @{setting ML_SYSTEM}, @{setting
    25   ML_HOME}. These variables are \<^emph>\<open>not\<close> intended to be set directly from the
    25   ML_HOME}. These variables are \<^emph>\<open>not\<close> intended to be set directly from the
    26   shell, but are provided by Isabelle \<^emph>\<open>components\<close> their \<^emph>\<open>settings files\<close> as
    26   shell, but are provided by Isabelle \<^emph>\<open>components\<close> within their \<^emph>\<open>settings
    27   explained below.
    27   files\<close>, as explained below.
    28 \<close>
    28 \<close>
    29 
    29 
    30 
    30 
    31 subsection \<open>Bootstrapping the environment \label{sec:boot}\<close>
    31 subsection \<open>Bootstrapping the environment \label{sec:boot}\<close>
    32 
    32 
   284 
   284 
   285     \<^enum> An external tool found on the directories listed in the @{setting
   285     \<^enum> An external tool found on the directories listed in the @{setting
   286     ISABELLE_TOOLS} settings variable (colon-separated list in standard POSIX
   286     ISABELLE_TOOLS} settings variable (colon-separated list in standard POSIX
   287     notation).
   287     notation).
   288 
   288 
   289       \<^enum> If a file ``\<open>tool\<close>\<^verbatim>\<open>.scala\<close>'' is found, the source needs to define
   289       \<^enum> If a file ``\<open>tool\<close>\<^verbatim>\<open>.scala\<close>'' is found, the content needs to define
   290       some object that extends the class \<^verbatim>\<open>Isabelle_Tool.Body\<close>. The Scala
   290       some object that extends the class \<^verbatim>\<open>Isabelle_Tool.Body\<close>. The Scala
   291       compiler is invoked on the spot (which may take some time), and the body
   291       compiler is invoked on the spot (which may take some time), and the body
   292       function is run with the command-line arguments as \<^verbatim>\<open>List[String]\<close>.
   292       function is run with the command-line arguments as \<^verbatim>\<open>List[String]\<close>.
   293 
   293 
   294       \<^enum> If an executable file ``\<open>tool\<close>'' is found, it is invoked as
   294       \<^enum> If an executable file ``\<open>tool\<close>'' is found, it is invoked as
   345 
   345 
   346   \<^medskip>
   346   \<^medskip>
   347   Options \<^verbatim>\<open>-e\<close> and \<^verbatim>\<open>-f\<close> allow to evaluate ML code, before the ML process is
   347   Options \<^verbatim>\<open>-e\<close> and \<^verbatim>\<open>-f\<close> allow to evaluate ML code, before the ML process is
   348   started. The source is either given literally or taken from a file. Multiple
   348   started. The source is either given literally or taken from a file. Multiple
   349   \<^verbatim>\<open>-e\<close> and \<^verbatim>\<open>-f\<close> options are evaluated in the given order. Errors lead to
   349   \<^verbatim>\<open>-e\<close> and \<^verbatim>\<open>-f\<close> options are evaluated in the given order. Errors lead to
   350   premature exit of the ML process with return code 1.
   350   a premature exit of the ML process with return code 1.
   351 
   351 
   352   \<^medskip>
   352   \<^medskip>
   353   Option \<^verbatim>\<open>-T\<close> loads a specified theory file. This is a wrapper for \<^verbatim>\<open>-e\<close> with
   353   Option \<^verbatim>\<open>-T\<close> loads a specified theory file. This is a wrapper for \<^verbatim>\<open>-e\<close> with
   354   a suitable \<^ML>\<open>use_thy\<close> invocation.
   354   a suitable \<^ML>\<open>use_thy\<close> invocation.
   355 
   355