src/Pure/ROOT.ML
author wenzelm
Sat, 05 Mar 2016 17:01:45 +0100
changeset 62519 a564458f94db
parent 62516 5732f1c31566
child 62551 df62e1ab7d88
permissions -rw-r--r--
tuned signature -- clarified modules;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
62508
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
     1
(*** Isabelle/Pure bootstrap from RAW_ML_SYSTEM ***)
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
     2
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
     3
(** bootstrap phase 0: Poly/ML setup **)
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
     4
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
     5
(* initial ML name space *)
56288
bf1bdf335ea0 tuned comments;
wenzelm
parents: 56287
diff changeset
     6
62508
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
     7
use "ML/ml_system.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
     8
use "ML/ml_name_space.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
     9
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    10
if List.exists (fn (a, _) => a = "FixedInt") (#allStruct ML_Name_Space.global ()) then ()
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    11
else use "ML/fixed_int_dummy.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    12
26109
c69c3559355b more elaborate structure Distribution (filled-in by makedist);
wenzelm
parents: 25953
diff changeset
    13
structure Distribution =     (*filled-in by makedist*)
c69c3559355b more elaborate structure Distribution (filled-in by makedist);
wenzelm
parents: 25953
diff changeset
    14
struct
32361
141e5151b918 clarified situation about unidentified repository versions -- in a distributed setting there is not "the" repository;
wenzelm
parents: 32187
diff changeset
    15
  val version = "unidentified repository version";
57649
a43898f76ae9 further distinction of Isabelle distribution: alert for identified release candidates;
wenzelm
parents: 56438
diff changeset
    16
  val is_identified = false;
27642
c0db1220b071 structure Distribution: swapped default for is_official;
wenzelm
parents: 27546
diff changeset
    17
  val is_official = false;
26109
c69c3559355b more elaborate structure Distribution (filled-in by makedist);
wenzelm
parents: 25953
diff changeset
    18
end;
11835
13d12b99b843 revert to proper version (!);
wenzelm
parents: 11759
diff changeset
    19
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
    20
62508
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    21
(* multithreading *)
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    22
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    23
use "General/exn.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    24
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    25
val seconds = Time.fromReal;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    26
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    27
open Thread;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    28
use "Concurrent/multithreading.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    29
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    30
use "Concurrent/unsynchronized.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    31
val _ = PolyML.Compiler.forgetValue "ref";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    32
val _ = PolyML.Compiler.forgetType "ref";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    33
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    34
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    35
(* pervasive environment *)
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    36
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    37
val _ = PolyML.Compiler.forgetValue "isSome";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    38
val _ = PolyML.Compiler.forgetValue "getOpt";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    39
val _ = PolyML.Compiler.forgetValue "valOf";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    40
val _ = PolyML.Compiler.forgetValue "foldl";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    41
val _ = PolyML.Compiler.forgetValue "foldr";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    42
val _ = PolyML.Compiler.forgetValue "print";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    43
val _ = PolyML.Compiler.forgetValue "explode";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    44
val _ = PolyML.Compiler.forgetValue "concat";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    45
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    46
val ord = SML90.ord;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    47
val chr = SML90.chr;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    48
val raw_explode = SML90.explode;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    49
val implode = SML90.implode;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    50
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    51
fun quit () = exit 0;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    52
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    53
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    54
(* ML runtime system *)
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    55
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    56
use "ML/ml_heap.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    57
use "ML/ml_profiling.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    58
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    59
val pointer_eq = PolyML.pointerEq;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    60
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    61
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    62
(* ML toplevel pretty printing *)
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    63
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    64
use "ML/ml_pretty.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    65
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    66
local
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    67
  val depth = Unsynchronized.ref 10;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    68
in
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    69
  fun get_default_print_depth () = ! depth;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    70
  fun default_print_depth n = (depth := n; PolyML.print_depth n);
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    71
  val _ = default_print_depth 10;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    72
end;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    73
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    74
val error_depth = PolyML.error_depth;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    75
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    76
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    77
(* ML compiler *)
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    78
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    79
use "General/secure.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    80
use "ML/ml_compiler0.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    81
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    82
PolyML.Compiler.reportUnreferencedIds := true;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    83
PolyML.Compiler.reportExhaustiveHandlers := true;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    84
PolyML.Compiler.printInAlphabeticalOrder := false;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    85
PolyML.Compiler.maxInlineSize := 80;
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    86
PolyML.Compiler.prompt1 := "ML> ";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    87
PolyML.Compiler.prompt2 := "ML# ";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    88
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    89
fun ml_make_string struct_name =
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    90
  "(fn x => Pretty.string_of (Pretty.from_ML (ML_Pretty.from_polyml (PolyML.prettyRepresentation (x, FixedInt.fromInt (" ^
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    91
    struct_name ^ ".ML_print_depth ()))))))";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    92
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    93
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    94
(* ML debugger *)
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    95
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    96
use_no_debug "ML/ml_debugger.ML";
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    97
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    98
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
    99
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
   100
(** bootstrap phase 1: towards ML within position context *)
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
   101
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   102
(* library of general tools *)
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   103
21396
afd8ba74313c added General/basics.ML;
wenzelm
parents: 20507
diff changeset
   104
use "General/basics.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
   105
use "library.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   106
use "General/print_mode.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   107
use "General/alist.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   108
use "General/table.ML";
43684
85388f5570c4 prefer Synchronized.var;
wenzelm
parents: 43593
diff changeset
   109
85388f5570c4 prefer Synchronized.var;
wenzelm
parents: 43593
diff changeset
   110
use "Concurrent/synchronized.ML";
52537
4b5941730bd8 more uniform Counter in ML and Scala;
wenzelm
parents: 52536
diff changeset
   111
use "Concurrent/counter.ML";
59172
d1c500e0a722 separate module Random;
wenzelm
parents: 59086
diff changeset
   112
use "Concurrent/random.ML";
43684
85388f5570c4 prefer Synchronized.var;
wenzelm
parents: 43593
diff changeset
   113
43746
a41f618c641d some support for raw messages, which bypass standard Symbol/YXML decoding;
wenzelm
parents: 43729
diff changeset
   114
use "General/properties.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   115
use "General/output.ML";
45670
b84170538043 rearranged files;
wenzelm
parents: 45666
diff changeset
   116
use "PIDE/markup.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   117
use "General/scan.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   118
use "General/source.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   119
use "General/symbol.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   120
use "General/position.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   121
use "General/symbol_pos.ML";
59064
a8bcb5a446c8 more abstract type Input.source;
wenzelm
parents: 59054
diff changeset
   122
use "General/input.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   123
use "General/antiquote.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   124
use "ML/ml_lex.ML";
56288
bf1bdf335ea0 tuned comments;
wenzelm
parents: 56287
diff changeset
   125
62493
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   126
val {use, use_debug, use_no_debug} =
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   127
  let
62494
b90109b2487c clarified modules;
wenzelm
parents: 62493
diff changeset
   128
    val context: ML_Compiler0.context =
62493
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   129
     {name_space = ML_Name_Space.global,
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   130
      here = Position.here oo Position.line_file,
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   131
      print = writeln,
62494
b90109b2487c clarified modules;
wenzelm
parents: 62493
diff changeset
   132
      error = error};
62493
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   133
  in
62494
b90109b2487c clarified modules;
wenzelm
parents: 62493
diff changeset
   134
    ML_Compiler0.use_operations (fn opt_debug => fn file =>
62493
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   135
      Position.setmp_thread_data (Position.file_only file)
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   136
        (fn () =>
62494
b90109b2487c clarified modules;
wenzelm
parents: 62493
diff changeset
   137
          ML_Compiler0.use_file context
b90109b2487c clarified modules;
wenzelm
parents: 62493
diff changeset
   138
            {verbose = true, debug = ML_Compiler0.debug_option opt_debug} file
b90109b2487c clarified modules;
wenzelm
parents: 62493
diff changeset
   139
          handle ERROR msg => (writeln msg; error "ML error")) ())
62493
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   140
  end;
56434
7acc933bd7cc clarified ML bootstrap;
wenzelm
parents: 56303
diff changeset
   141
56288
bf1bdf335ea0 tuned comments;
wenzelm
parents: 56287
diff changeset
   142
59054
61b723761dff load simple_thread.ML later, such that it benefits from redefined print_exception_trace;
wenzelm
parents: 59026
diff changeset
   143
62508
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
   144
(** bootstrap phase 2: towards ML within Isar context *)
56288
bf1bdf335ea0 tuned comments;
wenzelm
parents: 56287
diff changeset
   145
bf1bdf335ea0 tuned comments;
wenzelm
parents: 56287
diff changeset
   146
(* library of general tools *)
bf1bdf335ea0 tuned comments;
wenzelm
parents: 56287
diff changeset
   147
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   148
use "General/integer.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   149
use "General/stack.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   150
use "General/queue.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   151
use "General/heap.ML";
32015
7101feb5247e Support for copy-avoiding functions on pure values, at the cost of readability.
wenzelm
parents: 31476
diff changeset
   152
use "General/same.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   153
use "General/ord_list.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   154
use "General/balanced_tree.ML";
38448
62d16c415019 added functor Linear_Set, based on former adhoc structures in document.ML;
wenzelm
parents: 38418
diff changeset
   155
use "General/linear_set.ML";
43593
11140987d415 print Path.T with some markup;
wenzelm
parents: 43547
diff changeset
   156
use "General/buffer.ML";
43791
5e9a1d71f94d XML.pretty with depth limit;
wenzelm
parents: 43776
diff changeset
   157
use "General/pretty.ML";
59363
4660b0409096 added Path.decode in ML, in correspondence to Path.encode in Scala;
wenzelm
parents: 59203
diff changeset
   158
use "PIDE/xml.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   159
use "General/path.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   160
use "General/url.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   161
use "General/file.ML";
43547
f3a8476285c6 clarified Binding.pretty/print: no quotes, only markup -- Binding.str_of is rendered obsolete;
wenzelm
parents: 42504
diff changeset
   162
use "General/long_name.ML";
f3a8476285c6 clarified Binding.pretty/print: no quotes, only markup -- Binding.str_of is rendered obsolete;
wenzelm
parents: 42504
diff changeset
   163
use "General/binding.ML";
50800
c0fb2839d1a9 recovered buffered sockets from 11f622794ad6 -- requires Poly/ML 5.5.x;
wenzelm
parents: 50757
diff changeset
   164
use "General/socket_io.ML";
56287
ca090ae5f258 tuned load order;
wenzelm
parents: 56281
diff changeset
   165
use "General/seq.ML";
ca090ae5f258 tuned load order;
wenzelm
parents: 56281
diff changeset
   166
use "General/timing.ML";
22592
97b5290a8c34 added print_mode (generic non-sense);
wenzelm
parents: 22361
diff changeset
   167
35628
f1456d045151 Digesting strings according to SHA-1.
wenzelm
parents: 35626
diff changeset
   168
use "General/sha1.ML";
62354
fdd6989cc8a0 SML/NJ is no longer supported;
wenzelm
parents: 61794
diff changeset
   169
use "General/sha1_polyml.ML";
53212
387b9f7cb0ac added SHA1 library integrity test, which is invoked at compile time and Isabelle_Process run-time;
wenzelm
parents: 53192
diff changeset
   170
use "General/sha1_samples.ML";
35628
f1456d045151 Digesting strings according to SHA-1.
wenzelm
parents: 35626
diff changeset
   171
44698
0385292321a0 moved XML/YXML to src/Pure/PIDE;
wenzelm
parents: 44549
diff changeset
   172
use "PIDE/yxml.ML";
56303
4cc3f4db3447 clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents: 56288
diff changeset
   173
use "PIDE/document_id.ML";
44698
0385292321a0 moved XML/YXML to src/Pure/PIDE;
wenzelm
parents: 44549
diff changeset
   174
56053
030531cc4c62 tables with changes relative to some common base version -- support for efficient join/merge of big global tables with small local updates;
wenzelm
parents: 55672
diff changeset
   175
use "General/change_table.ML";
49560
11430dd89e35 added graph encode/decode operations;
wenzelm
parents: 49041
diff changeset
   176
use "General/graph.ML";
11430dd89e35 added graph encode/decode operations;
wenzelm
parents: 49041
diff changeset
   177
60911
858694df711b default ML context for forks, e.g. relevant for debugging and toplevel pretty-printing;
wenzelm
parents: 60630
diff changeset
   178
858694df711b default ML context for forks, e.g. relevant for debugging and toplevel pretty-printing;
wenzelm
parents: 60630
diff changeset
   179
(* fundamental structures *)
858694df711b default ML context for forks, e.g. relevant for debugging and toplevel pretty-printing;
wenzelm
parents: 60630
diff changeset
   180
858694df711b default ML context for forks, e.g. relevant for debugging and toplevel pretty-printing;
wenzelm
parents: 60630
diff changeset
   181
use "name.ML";
858694df711b default ML context for forks, e.g. relevant for debugging and toplevel pretty-printing;
wenzelm
parents: 60630
diff changeset
   182
use "term.ML";
858694df711b default ML context for forks, e.g. relevant for debugging and toplevel pretty-printing;
wenzelm
parents: 60630
diff changeset
   183
use "context.ML";
858694df711b default ML context for forks, e.g. relevant for debugging and toplevel pretty-printing;
wenzelm
parents: 60630
diff changeset
   184
use "context_position.ML";
51947
3301612c4893 support for system options as context-sensitive config options;
wenzelm
parents: 51933
diff changeset
   185
use "System/options.ML";
60911
858694df711b default ML context for forks, e.g. relevant for debugging and toplevel pretty-printing;
wenzelm
parents: 60630
diff changeset
   186
use "config.ML";
51947
3301612c4893 support for system options as context-sensitive config options;
wenzelm
parents: 51933
diff changeset
   187
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   188
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   189
(* concurrency within the ML runtime *)
28120
dd4297f5b495 added Concurrent/schedule.ML;
wenzelm
parents: 27642
diff changeset
   190
62355
00f7618a9f2b clarified file names;
wenzelm
parents: 62354
diff changeset
   191
use "ML/exn_properties.ML";
50911
ee7fe4230642 more explicit treatment of (optional) exception properties, notably for "serial" -- avoid conflict with startPosition = offset;
wenzelm
parents: 50800
diff changeset
   192
62501
98fa1f9a292f discontinued polyml-5.3.0;
wenzelm
parents: 62498
diff changeset
   193
use "ML/ml_statistics.ML";
50255
d0ec1f0d1d7d some support for ML runtime statistics;
wenzelm
parents: 50217
diff changeset
   194
61556
0d4ee4168e41 clarified modules;
wenzelm
parents: 61454
diff changeset
   195
use "Concurrent/standard_thread.ML";
62359
6709e51d5c11 unconditional Multithreading;
wenzelm
parents: 62356
diff changeset
   196
use "Concurrent/single_assignment.ML";
59054
61b723761dff load simple_thread.ML later, such that it benefits from redefined print_exception_trace;
wenzelm
parents: 59026
diff changeset
   197
62359
6709e51d5c11 unconditional Multithreading;
wenzelm
parents: 62356
diff changeset
   198
if ML_System.platform_is_windows
6709e51d5c11 unconditional Multithreading;
wenzelm
parents: 62356
diff changeset
   199
then use "Concurrent/bash_windows.ML"
60962
faa452d8e265 basic setup for native Windows (RAW session without image);
wenzelm
parents: 60959
diff changeset
   200
else use "Concurrent/bash.ML";
40748
591b6778d076 removed bash from ML system bootstrap, and past the Secure ML barrier;
wenzelm
parents: 40743
diff changeset
   201
44247
270366301bd7 more systematic handling of parallel exceptions;
wenzelm
parents: 44185
diff changeset
   202
use "Concurrent/par_exn.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   203
use "Concurrent/task_queue.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   204
use "Concurrent/future.ML";
52798
9d3c9862d1dd recovered delay for Document.start_execution (see also 627fb639a2d9), which potentially improves throughput when many consecutive edits arrive;
wenzelm
parents: 52788
diff changeset
   205
use "Concurrent/event_timer.ML";
62519
a564458f94db tuned signature -- clarified modules;
wenzelm
parents: 62516
diff changeset
   206
use "Concurrent/timeout.ML";
32815
1a5e364584ae separate concurrent/sequential versions of lazy evaluation;
wenzelm
parents: 32738
diff changeset
   207
use "Concurrent/lazy.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   208
use "Concurrent/par_list.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   209
44247
270366301bd7 more systematic handling of parallel exceptions;
wenzelm
parents: 44185
diff changeset
   210
use "Concurrent/mailbox.ML";
32840
75dff0bd4d5d Concurrently cached values.
wenzelm
parents: 32816
diff changeset
   211
use "Concurrent/cache.ML";
75dff0bd4d5d Concurrently cached values.
wenzelm
parents: 32816
diff changeset
   212
50500
c94bba7906d2 identify dialogs via official serial and maintain as result message;
wenzelm
parents: 50498
diff changeset
   213
use "PIDE/active.ML";
c94bba7906d2 identify dialogs via official serial and maintain as result message;
wenzelm
parents: 50498
diff changeset
   214
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   215
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   216
(* inner syntax *)
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   217
52211
66bc827e37f8 explicit support for type annotations within printed syntax trees;
wenzelm
parents: 52140
diff changeset
   218
use "Syntax/type_annotation.ML";
42264
b6c1b0c4c511 separate structure Term_Position;
wenzelm
parents: 42243
diff changeset
   219
use "Syntax/term_position.ML";
b6c1b0c4c511 separate structure Term_Position;
wenzelm
parents: 42243
diff changeset
   220
use "Syntax/lexicon.ML";
22679
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
   221
use "Syntax/ast.ML";
42288
2074b31650e6 discontinued special treatment of structure Syntax_Ext (formerly Syn_Ext);
wenzelm
parents: 42284
diff changeset
   222
use "Syntax/syntax_ext.ML";
22679
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
   223
use "Syntax/parser.ML";
42284
326f57825e1a explicit structure Syntax_Trans;
wenzelm
parents: 42264
diff changeset
   224
use "Syntax/syntax_trans.ML";
22679
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
   225
use "Syntax/mixfix.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
   226
use "Syntax/printer.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
   227
use "Syntax/syntax.ML";
68cd69a388e2 removed Pure/Syntax/ROOT.ML;
wenzelm
parents: 22592
diff changeset
   228
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   229
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   230
(* core of tactical proof system *)
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   231
42382
dcd983ee2c29 provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents: 42357
diff changeset
   232
use "term_ord.ML";
dcd983ee2c29 provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents: 42357
diff changeset
   233
use "term_subst.ML";
43729
07d3c6afa865 XML data representation of lambda terms;
wenzelm
parents: 43712
diff changeset
   234
use "term_xml.ML";
55672
5e25cc741ab9 support for completion within the formal context;
wenzelm
parents: 55516
diff changeset
   235
use "General/completion.ML";
42382
dcd983ee2c29 provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents: 42357
diff changeset
   236
use "General/name_space.ML";
dcd983ee2c29 provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents: 42357
diff changeset
   237
use "sorts.ML";
dcd983ee2c29 provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents: 42357
diff changeset
   238
use "type.ML";
dcd983ee2c29 provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents: 42357
diff changeset
   239
use "logic.ML";
dcd983ee2c29 provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents: 42357
diff changeset
   240
use "Syntax/simple_syntax.ML";
30559
e5987a7ac5df turned structure NetRules into general Item_Net, which is loaded earlier;
wenzelm
parents: 30173
diff changeset
   241
use "net.ML";
e5987a7ac5df turned structure NetRules into general Item_Net, which is loaded earlier;
wenzelm
parents: 30173
diff changeset
   242
use "item_net.ML";
18934
0342b7c21388 load envir.ML and logic.ML early;
wenzelm
parents: 18870
diff changeset
   243
use "envir.ML";
18059
ce6cff74931b added consts.ML;
wenzelm
parents: 17963
diff changeset
   244
use "consts.ML";
24257
15a43b494878 use logic.ML earlier;
wenzelm
parents: 24235
diff changeset
   245
use "primitive_defs.ML";
61261
ddb2da7cb2e4 more explicit Defs.context: use proper name spaces as far as possible;
wenzelm
parents: 60962
diff changeset
   246
use "sign.ML";
27546
726e8fa3e404 tuned order
haftmann
parents: 27262
diff changeset
   247
use "defs.ML";
43795
ca5896a836ba recovered some runtime sharing from d6b6c74a8bcf, without the global memory bottleneck;
wenzelm
parents: 43794
diff changeset
   248
use "term_sharing.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
   249
use "pattern.ML";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
   250
use "unify.ML";
1528
608dd813b437 Theories are now in theory.ML
paulson
parents: 1498
diff changeset
   251
use "theory.ML";
11511
ec89f5cff390 Added new files for proof terms.
berghofe
parents: 11065
diff changeset
   252
use "proofterm.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
   253
use "thm.ML";
59026
30b8a5825a9c removed some add-ons from modules that are relevant for the inference kernel;
wenzelm
parents: 58928
diff changeset
   254
use "more_pattern.ML";
30b8a5825a9c removed some add-ons from modules that are relevant for the inference kernel;
wenzelm
parents: 58928
diff changeset
   255
use "more_unify.ML";
22361
d8d96d0122a7 added more_thm.ML;
wenzelm
parents: 22233
diff changeset
   256
use "more_thm.ML";
26279
e8440c90c474 removed obsolete fact_index.ML;
wenzelm
parents: 26133
diff changeset
   257
use "facts.ML";
39557
fe5722fce758 renamed structure PureThy to Pure_Thy and moved most content to Global_Theory, to emphasize that this is global-only;
wenzelm
parents: 39508
diff changeset
   258
use "global_theory.ML";
3986
d788dcb86930 added pure_thy.ML;
wenzelm
parents: 3971
diff changeset
   259
use "pure_thy.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
   260
use "drule.ML";
22233
c37d7404199b load morphism.ML later;
wenzelm
parents: 22108
diff changeset
   261
use "morphism.ML";
19898
b1d179e42713 added variable.ML;
wenzelm
parents: 19837
diff changeset
   262
use "variable.ML";
24833
9131433b19bb load variable.ML before conv.ML;
wenzelm
parents: 24664
diff changeset
   263
use "conv.ML";
32187
cca43ca13f4f renamed structure Display_Goal to Goal_Display;
wenzelm
parents: 32169
diff changeset
   264
use "goal_display.ML";
32169
fbada8ed12e6 renamed Pure/tctical.ML to Pure/tactical.ML;
wenzelm
parents: 32089
diff changeset
   265
use "tactical.ML";
1582
97a305db0c9e Updated for new file search.ML
paulson
parents: 1528
diff changeset
   266
use "search.ML";
21708
45e7491bea47 reorganized structure Tactic vs. MetaSimplifier;
wenzelm
parents: 21687
diff changeset
   267
use "tactic.ML";
41228
e1fce873b814 renamed structure MetaSimplifier to raw_Simplifer, to emphasize its meaning;
wenzelm
parents: 40748
diff changeset
   268
use "raw_simplifier.ML";
19417
3a9d25bdd7f4 added conjunction.ML;
wenzelm
parents: 19382
diff changeset
   269
use "conjunction.ML";
20225
4b8e42490e58 added Pure/assumption.ML;
wenzelm
parents: 20207
diff changeset
   270
use "assumption.ML";
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
   271
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   272
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   273
(* Isar -- Intelligible Semi-Automated Reasoning *)
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   274
56303
4cc3f4db3447 clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents: 56288
diff changeset
   275
(*ML support and global execution*)
49041
9edfd36a0355 more informative error message from failed goal forks (violating old-style TTY protocol!);
wenzelm
parents: 48990
diff changeset
   276
use "ML/ml_syntax.ML";
9edfd36a0355 more informative error message from failed goal forks (violating old-style TTY protocol!);
wenzelm
parents: 48990
diff changeset
   277
use "ML/ml_env.ML";
56303
4cc3f4db3447 clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents: 56288
diff changeset
   278
use "ML/ml_options.ML";
62498
5dfcc9697f29 support for ML_exception_debugger;
wenzelm
parents: 62494
diff changeset
   279
use_no_debug "ML/exn_debugger.ML";
56303
4cc3f4db3447 clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents: 56288
diff changeset
   280
use "ML/ml_options.ML";
62498
5dfcc9697f29 support for ML_exception_debugger;
wenzelm
parents: 62494
diff changeset
   281
use_no_debug "Isar/runtime.ML";
56303
4cc3f4db3447 clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents: 56288
diff changeset
   282
use "PIDE/execution.ML";
62355
00f7618a9f2b clarified file names;
wenzelm
parents: 62354
diff changeset
   283
use "ML/ml_compiler.ML";
49041
9edfd36a0355 more informative error message from failed goal forks (violating old-style TTY protocol!);
wenzelm
parents: 48990
diff changeset
   284
51551
88d1d19fb74f tuned signature and module arrangement;
wenzelm
parents: 51265
diff changeset
   285
use "skip_proof.ML";
49041
9edfd36a0355 more informative error message from failed goal forks (violating old-style TTY protocol!);
wenzelm
parents: 48990
diff changeset
   286
use "goal.ML";
9edfd36a0355 more informative error message from failed goal forks (violating old-style TTY protocol!);
wenzelm
parents: 48990
diff changeset
   287
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   288
(*proof context*)
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   289
use "Isar/object_logic.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   290
use "Isar/rule_cases.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   291
use "Isar/auto_bind.ML";
42241
dd8029f71e1c separate module for standard implementation of inner syntax operations;
wenzelm
parents: 42240
diff changeset
   292
use "type_infer.ML";
42240
5a4d30cd47a7 moved Isar/local_syntax.ML to Syntax/local_syntax.ML;
wenzelm
parents: 42012
diff changeset
   293
use "Syntax/local_syntax.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   294
use "Isar/proof_context.ML";
42405
13ecdb3057d8 split Type_Infer into early and late part, after Proof_Context;
wenzelm
parents: 42383
diff changeset
   295
use "type_infer_context.ML";
42243
2f998ff67d0f renamed Standard_Syntax to Syntax_Phases;
wenzelm
parents: 42241
diff changeset
   296
use "Syntax/syntax_phases.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   297
use "Isar/local_defs.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   298
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   299
(*outer syntax*)
58903
38c72f5f6c2e explicit type Keyword.keywords;
wenzelm
parents: 58846
diff changeset
   300
use "Isar/keyword.ML";
36959
f5417836dbea renamed structure OuterLex to Token and type token to Token.T, keeping legacy aliases for some time;
wenzelm
parents: 36955
diff changeset
   301
use "Isar/token.ML";
36949
080e85d46108 renamed structure OuterKeyword to Keyword and OuterParse to Parse, keeping the old names as legacy aliases for some time;
wenzelm
parents: 35949
diff changeset
   302
use "Isar/parse.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   303
use "Isar/args.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   304
57926
59b2572e8e93 load local_theory.ML before attrib.ML, with subtle change of semantics due to canonical Local_Theory.map_contexts instead of private Local_Theory.map_top;
wenzelm
parents: 57905
diff changeset
   305
(*theory specifications*)
59b2572e8e93 load local_theory.ML before attrib.ML, with subtle change of semantics due to canonical Local_Theory.map_contexts instead of private Local_Theory.map_top;
wenzelm
parents: 57905
diff changeset
   306
use "Isar/local_theory.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   307
use "Thy/thy_header.ML";
57905
c0c5652e796e separate module Command_Span: mostly syntactic representation;
wenzelm
parents: 57649
diff changeset
   308
use "PIDE/command_span.ML";
51265
6a3191767ecb tuned order of modules;
wenzelm
parents: 50911
diff changeset
   309
use "Thy/thy_syntax.ML";
61454
c86286ae9fe5 load markdown.ML into Pure;
wenzelm
parents: 61268
diff changeset
   310
use "Thy/markdown.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   311
use "Thy/html.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   312
use "Thy/latex.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   313
56203
76c72f4d0667 clarified bootstrap process: switch to ML with context and antiquotations earlier;
wenzelm
parents: 56072
diff changeset
   314
(*ML with context and antiquotations*)
76c72f4d0667 clarified bootstrap process: switch to ML with context and antiquotations earlier;
wenzelm
parents: 56072
diff changeset
   315
use "ML/ml_context.ML";
56205
ceb8a93460b7 clarified modules;
wenzelm
parents: 56203
diff changeset
   316
use "ML/ml_antiquotation.ML";
56288
bf1bdf335ea0 tuned comments;
wenzelm
parents: 56287
diff changeset
   317
62493
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   318
val {use, use_debug, use_no_debug} =
62494
b90109b2487c clarified modules;
wenzelm
parents: 62493
diff changeset
   319
  ML_Compiler0.use_operations (fn opt_debug => fn file =>
62493
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   320
    let val flags = ML_Compiler.verbose true (ML_Compiler.debug_flags opt_debug) in
62490
39d01eaf5292 ML debugger support in Pure (again, see 3565c9f407ec);
wenzelm
parents: 62459
diff changeset
   321
      ML_Context.eval_file flags (Path.explode file)
39d01eaf5292 ML debugger support in Pure (again, see 3565c9f407ec);
wenzelm
parents: 62459
diff changeset
   322
        handle ERROR msg => (writeln msg; error "ML error")
62493
dd154240a53c load secure.ML earlier;
wenzelm
parents: 62490
diff changeset
   323
    end);
56434
7acc933bd7cc clarified ML bootstrap;
wenzelm
parents: 56303
diff changeset
   324
56288
bf1bdf335ea0 tuned comments;
wenzelm
parents: 56287
diff changeset
   325
bf1bdf335ea0 tuned comments;
wenzelm
parents: 56287
diff changeset
   326
62508
d0b68218ea55 discontinued RAW session: bootstrap directly from isabelle_process RAW_ML_SYSTEM;
wenzelm
parents: 62501
diff changeset
   327
(** bootstrap phase 3: towards Pure.thy and final ML toplevel setup *)
56203
76c72f4d0667 clarified bootstrap process: switch to ML with context and antiquotations earlier;
wenzelm
parents: 56072
diff changeset
   328
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   329
(*basic proof engine*)
58009
987c848d509b clarified modules;
wenzelm
parents: 57934
diff changeset
   330
use "par_tactical.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   331
use "Isar/proof_display.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   332
use "Isar/attrib.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   333
use "Isar/context_rules.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   334
use "Isar/method.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   335
use "Isar/proof.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   336
use "Isar/element.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   337
use "Isar/obtain.ML";
60630
fc7625ec7427 clarified module;
wenzelm
parents: 59901
diff changeset
   338
use "Isar/subgoal.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   339
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   340
(*local theories and targets*)
52140
88a69da5d3fa tuned structure
haftmann
parents: 52059
diff changeset
   341
use "Isar/locale.ML";
38307
0028571ade2d split off structure Generic_Target into separate file
haftmann
parents: 38150
diff changeset
   342
use "Isar/generic_target.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   343
use "Isar/overloading.ML";
35669
a91c7ed801b8 added ProofContext.tsig_of -- proforma version for local name space only, not logical content;
wenzelm
parents: 35628
diff changeset
   344
use "axclass.ML";
38379
67d71449e85b more convenient split of class modules: class and class_declaration
haftmann
parents: 38350
diff changeset
   345
use "Isar/class.ML";
38350
480b2de9927c renamed Theory_Target to the more appropriate Named_Target
haftmann
parents: 38343
diff changeset
   346
use "Isar/named_target.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   347
use "Isar/expression.ML";
61669
27ca6147e3b3 separate ML module for interpretation
haftmann
parents: 61619
diff changeset
   348
use "Isar/interpretation.ML";
38379
67d71449e85b more convenient split of class modules: class and class_declaration
haftmann
parents: 38350
diff changeset
   349
use "Isar/class_declaration.ML";
47057
12423b36fcc4 basic support for bundled declarations;
wenzelm
parents: 45709
diff changeset
   350
use "Isar/bundle.ML";
59901
840d03805755 added command 'experiment';
wenzelm
parents: 59714
diff changeset
   351
use "Isar/experiment.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   352
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   353
use "simplifier.ML";
58660
8d4aebb9e327 clarified load order;
wenzelm
parents: 58470
diff changeset
   354
use "Tools/plugin.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   355
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   356
(*executable theory content*)
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   357
use "Isar/code.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   358
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   359
(*specifications*)
36952
338c3f8229e4 renamed structure SpecParse to Parse_Spec, keeping the old name as alias for some time;
wenzelm
parents: 36951
diff changeset
   360
use "Isar/parse_spec.ML";
33374
8099185908a4 Rules that characterize functional/relational specifications.
wenzelm
parents: 32840
diff changeset
   361
use "Isar/spec_rules.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   362
use "Isar/specification.ML";
35626
06197484c6ad separate structure Typedecl;
wenzelm
parents: 35014
diff changeset
   363
use "Isar/typedecl.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   364
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   365
(*toplevel transactions*)
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   366
use "Isar/proof_node.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   367
use "Isar/toplevel.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   368
56206
7adec2a527f5 clarified module arrangement;
wenzelm
parents: 56205
diff changeset
   369
(*proof term operations*)
7adec2a527f5 clarified module arrangement;
wenzelm
parents: 56205
diff changeset
   370
use "Proof/reconstruct.ML";
7adec2a527f5 clarified module arrangement;
wenzelm
parents: 56205
diff changeset
   371
use "Proof/proof_syntax.ML";
7adec2a527f5 clarified module arrangement;
wenzelm
parents: 56205
diff changeset
   372
use "Proof/proof_rewrite_rules.ML";
7adec2a527f5 clarified module arrangement;
wenzelm
parents: 56205
diff changeset
   373
use "Proof/proof_checker.ML";
7adec2a527f5 clarified module arrangement;
wenzelm
parents: 56205
diff changeset
   374
use "Proof/extraction.ML";
7adec2a527f5 clarified module arrangement;
wenzelm
parents: 56205
diff changeset
   375
38271
36187e8443dd Isar_Document command input via native Isabelle_Process commands, using YXML and XML_Data representation;
wenzelm
parents: 38266
diff changeset
   376
(*theory documents*)
40743
b07a0dbc8a38 more explicit Isabelle_System operations;
wenzelm
parents: 39557
diff changeset
   377
use "System/isabelle_system.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   378
use "Thy/term_style.ML";
58928
23d0ffd48006 plain value Keywords.keywords, which might be used outside theory for bootstrap purposes;
wenzelm
parents: 58903
diff changeset
   379
use "Isar/outer_syntax.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   380
use "Thy/thy_output.ML";
61619
f22054b192b0 clarified modules;
wenzelm
parents: 61556
diff changeset
   381
use "Thy/document_antiquotations.ML";
49561
26fc70e983c2 separate module Graph_Display;
wenzelm
parents: 49560
diff changeset
   382
use "General/graph_display.ML";
43712
3c2c912af2ef moved Outer_Syntax.load_thy to Thy_Load.load_thy;
wenzelm
parents: 43684
diff changeset
   383
use "Thy/present.ML";
58928
23d0ffd48006 plain value Keywords.keywords, which might be used outside theory for bootstrap purposes;
wenzelm
parents: 58903
diff changeset
   384
use "pure_syn.ML";
52510
a4a102237ded tuned signature;
wenzelm
parents: 52487
diff changeset
   385
use "PIDE/command.ML";
52865
02a7e7180ee5 slightly more general support for one-shot query operations via asynchronous print functions and temporary document overlay;
wenzelm
parents: 52836
diff changeset
   386
use "PIDE/query_operation.ML";
56208
06cc31dff138 clarifed module name;
wenzelm
parents: 56206
diff changeset
   387
use "PIDE/resources.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   388
use "Thy/thy_info.ML";
59086
94b2690ad494 node-specific keywords, with session base syntax as default;
wenzelm
parents: 59064
diff changeset
   389
use "PIDE/session.ML";
59714
ae322325adbb tuned protocol -- resolve command positions in ML;
wenzelm
parents: 59470
diff changeset
   390
use "PIDE/protocol_message.ML";
44185
05641edb5d30 provide node header via Scala layer;
wenzelm
parents: 44121
diff changeset
   391
use "PIDE/document.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   392
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   393
(*theory and proof operations*)
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   394
use "Isar/isar_cmd.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   395
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   396
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   397
(* Isabelle/Isar system *)
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   398
48681
181b91e1d1c1 prefer general Command_Line.tool wrapper (cf. Scala version);
wenzelm
parents: 48646
diff changeset
   399
use "System/command_line.ML";
45029
63144ea111f7 abstract System_Channel in ML (cf. Scala version);
wenzelm
parents: 45026
diff changeset
   400
use "System/system_channel.ML";
52584
5cad4a5f5615 more abstract message channel;
wenzelm
parents: 52537
diff changeset
   401
use "System/message_channel.ML";
38412
c23f3abbf42d moved isar_document.ML/scala to Pure/System/ -- side-by-side with isar.ML;
wenzelm
parents: 38379
diff changeset
   402
use "System/isabelle_process.ML";
43748
c70bd78ec83c JVM method invocation service via Scala layer;
wenzelm
parents: 43746
diff changeset
   403
use "System/invoke_scala.ML";
45709
87017fcbad83 clarified modules (again) -- NB: both Document and Protocol are specific to this particular prover;
wenzelm
parents: 45672
diff changeset
   404
use "PIDE/protocol.ML";
30173
eabece26b89b moved isabelle_process.ML, isabelle_process.scala, isar.ML, session.ML to Pure/System/ (together with associated Isar commands);
wenzelm
parents: 29269
diff changeset
   405
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   406
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   407
(* miscellaneous tools and packages for Pure Isabelle *)
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   408
50686
d703e3aafa8c moved files;
wenzelm
parents: 50500
diff changeset
   409
use "Tools/build.ML";
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   410
use "Tools/named_thms.ML";
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   411
55387
51f0876f61df seal system channels at end of Pure bootstrap -- Isabelle/Scala provides official interfaces;
wenzelm
parents: 55141
diff changeset
   412
structure Output: OUTPUT = Output;  (*seal system channels!*)
51f0876f61df seal system channels at end of Pure bootstrap -- Isabelle/Scala provides official interfaces;
wenzelm
parents: 55141
diff changeset
   413
31432
9858f32f9569 just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents: 31335
diff changeset
   414
62354
fdd6989cc8a0 SML/NJ is no longer supported;
wenzelm
parents: 61794
diff changeset
   415
use "ML/install_pp_polyml.ML";
48732
f04320479ff9 simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
wenzelm
parents: 48681
diff changeset
   416
f04320479ff9 simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
wenzelm
parents: 48681
diff changeset
   417
49862
fb2d8ba7d3a9 more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents: 49561
diff changeset
   418
(* the Pure theory *)
fb2d8ba7d3a9 more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents: 49561
diff changeset
   419
58928
23d0ffd48006 plain value Keywords.keywords, which might be used outside theory for bootstrap purposes;
wenzelm
parents: 58903
diff changeset
   420
use "ML/ml_file.ML";
56303
4cc3f4db3447 clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents: 56288
diff changeset
   421
Runtime.toplevel_program (fn () => Thy_Info.use_thy ("Pure", Position.none));
49862
fb2d8ba7d3a9 more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents: 49561
diff changeset
   422
Context.set_thread_data NONE;
60937
51425cbe8ce9 clarified context;
wenzelm
parents: 60911
diff changeset
   423
structure Pure = struct val thy = Thy_Info.pure_theory () end;
49862
fb2d8ba7d3a9 more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents: 49561
diff changeset
   424
fb2d8ba7d3a9 more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents: 49561
diff changeset
   425
48879
cb5cdbb645cd clarified bootstrapping of Pure;
wenzelm
parents: 48876
diff changeset
   426
(* ML toplevel commands *)
cb5cdbb645cd clarified bootstrapping of Pure;
wenzelm
parents: 48876
diff changeset
   427
56303
4cc3f4db3447 clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents: 56288
diff changeset
   428
fun use_thys args =
4cc3f4db3447 clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents: 56288
diff changeset
   429
  Runtime.toplevel_program (fn () => Thy_Info.use_thys (map (rpair Position.none) args));
48927
ef462b5558eb theory def/ref position reports, which enable hyperlinks etc.;
wenzelm
parents: 48879
diff changeset
   430
val use_thy = use_thys o single;
48732
f04320479ff9 simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
wenzelm
parents: 48681
diff changeset
   431
f04320479ff9 simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
wenzelm
parents: 48681
diff changeset
   432
val cd = File.cd o Path.explode;
f04320479ff9 simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
wenzelm
parents: 48681
diff changeset
   433
52487
48bc24467008 backout dedd7952a62c: static "proofs" value within theory prevents later inferencing with different configuration;
wenzelm
parents: 52470
diff changeset
   434
Proofterm.proofs := 0;