| author | wenzelm | 
| Thu, 24 Jul 2014 15:54:56 +0200 | |
| changeset 57649 | a43898f76ae9 | 
| parent 56438 | 7f6b2634d853 | 
| child 57905 | c0c5652e796e | 
| permissions | -rw-r--r-- | 
| 56288 | 1  | 
(*** Isabelle/Pure bootstrap from "RAW" environment ***)  | 
2  | 
||
3  | 
(** bootstrap phase 0: towards secure ML barrier *)  | 
|
| 0 | 4  | 
|
| 
26109
 
c69c3559355b
more elaborate structure Distribution (filled-in by makedist);
 
wenzelm 
parents: 
25953 
diff
changeset
 | 
5  | 
structure Distribution = (*filled-in by makedist*)  | 
| 
 
c69c3559355b
more elaborate structure Distribution (filled-in by makedist);
 
wenzelm 
parents: 
25953 
diff
changeset
 | 
6  | 
struct  | 
| 
32361
 
141e5151b918
clarified situation about unidentified repository versions -- in a distributed setting there is not "the" repository;
 
wenzelm 
parents: 
32187 
diff
changeset
 | 
7  | 
val version = "unidentified repository version";  | 
| 
57649
 
a43898f76ae9
further distinction of Isabelle distribution: alert for identified release candidates;
 
wenzelm 
parents: 
56438 
diff
changeset
 | 
8  | 
val is_identified = false;  | 
| 
27642
 
c0db1220b071
structure Distribution: swapped default for is_official;
 
wenzelm 
parents: 
27546 
diff
changeset
 | 
9  | 
val is_official = false;  | 
| 
26109
 
c69c3559355b
more elaborate structure Distribution (filled-in by makedist);
 
wenzelm 
parents: 
25953 
diff
changeset
 | 
10  | 
end;  | 
| 11835 | 11  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
12  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
13  | 
(* 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
 | 
14  | 
|
| 21396 | 15  | 
use "General/basics.ML";  | 
| 0 | 16  | 
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
 | 
17  | 
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
 | 
18  | 
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
 | 
19  | 
use "General/table.ML";  | 
| 43684 | 20  | 
|
21  | 
use "Concurrent/simple_thread.ML";  | 
|
22  | 
||
23  | 
use "Concurrent/synchronized.ML";  | 
|
24  | 
if Multithreading.available then ()  | 
|
25  | 
else use "Concurrent/synchronized_sequential.ML";  | 
|
| 52537 | 26  | 
use "Concurrent/counter.ML";  | 
| 43684 | 27  | 
|
| 
43746
 
a41f618c641d
some support for raw messages, which bypass standard Symbol/YXML decoding;
 
wenzelm 
parents: 
43729 
diff
changeset
 | 
28  | 
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
 | 
29  | 
use "General/output.ML";  | 
| 45670 | 30  | 
use "PIDE/markup.ML";  | 
| 
50201
 
c26369c9eda6
Isabelle-specific implementation of quasi-abstract markup elements -- back to module arrangement before d83797ef0d2d;
 
wenzelm 
parents: 
50163 
diff
changeset
 | 
31  | 
fun legacy_feature s = warning (Markup.markup Markup.legacy ("Legacy feature! " ^ s));
 | 
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
32  | 
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
 | 
33  | 
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
 | 
34  | 
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
 | 
35  | 
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
 | 
36  | 
use "General/symbol_pos.ML";  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
37  | 
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
 | 
38  | 
use "ML/ml_lex.ML";  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
39  | 
use "ML/ml_parse.ML";  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
40  | 
use "General/secure.ML";  | 
| 56288 | 41  | 
|
| 56434 | 42  | 
val use_text = Secure.use_text;  | 
43  | 
val use_file = Secure.use_file;  | 
|
44  | 
||
45  | 
fun use s =  | 
|
46  | 
Position.setmp_thread_data (Position.file_only s)  | 
|
47  | 
(fn () =>  | 
|
48  | 
Secure.use_file ML_Parse.global_context true s  | 
|
49  | 
handle ERROR msg => (writeln msg; error "ML error")) ();  | 
|
50  | 
||
51  | 
val toplevel_pp = Secure.toplevel_pp;  | 
|
| 56288 | 52  | 
|
53  | 
||
54  | 
(** bootstrap phase 1: towards ML within Isar context *)  | 
|
55  | 
||
56  | 
(* library of general tools *)  | 
|
57  | 
||
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
58  | 
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
 | 
59  | 
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
 | 
60  | 
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
 | 
61  | 
use "General/heap.ML";  | 
| 
32015
 
7101feb5247e
Support for copy-avoiding functions on pure values, at the cost of readability.
 
wenzelm 
parents: 
31476 
diff
changeset
 | 
62  | 
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
 | 
63  | 
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
 | 
64  | 
use "General/balanced_tree.ML";  | 
| 
38448
 
62d16c415019
added functor Linear_Set, based on former adhoc structures in document.ML;
 
wenzelm 
parents: 
38418 
diff
changeset
 | 
65  | 
use "General/linear_set.ML";  | 
| 43593 | 66  | 
use "General/buffer.ML";  | 
| 43791 | 67  | 
use "General/pretty.ML";  | 
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
68  | 
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
 | 
69  | 
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
 | 
70  | 
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
 | 
71  | 
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
 | 
72  | 
use "General/binding.ML";  | 
| 
50800
 
c0fb2839d1a9
recovered buffered sockets from 11f622794ad6 -- requires Poly/ML 5.5.x;
 
wenzelm 
parents: 
50757 
diff
changeset
 | 
73  | 
use "General/socket_io.ML";  | 
| 56287 | 74  | 
use "General/seq.ML";  | 
75  | 
use "General/timing.ML";  | 
|
| 22592 | 76  | 
|
| 35628 | 77  | 
use "General/sha1.ML";  | 
| 43948 | 78  | 
if ML_System.is_polyml then use "General/sha1_polyml.ML" else ();  | 
| 
53212
 
387b9f7cb0ac
added SHA1 library integrity test, which is invoked at compile time and Isabelle_Process run-time;
 
wenzelm 
parents: 
53192 
diff
changeset
 | 
79  | 
use "General/sha1_samples.ML";  | 
| 35628 | 80  | 
|
| 44698 | 81  | 
use "PIDE/xml.ML";  | 
82  | 
use "PIDE/yxml.ML";  | 
|
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents: 
56288 
diff
changeset
 | 
83  | 
use "PIDE/document_id.ML";  | 
| 44698 | 84  | 
|
| 
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
 | 
85  | 
use "General/change_table.ML";  | 
| 49560 | 86  | 
use "General/graph.ML";  | 
87  | 
||
| 
51947
 
3301612c4893
support for system options as context-sensitive config options;
 
wenzelm 
parents: 
51933 
diff
changeset
 | 
88  | 
use "System/options.ML";  | 
| 
 
3301612c4893
support for system options as context-sensitive config options;
 
wenzelm 
parents: 
51933 
diff
changeset
 | 
89  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
90  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
91  | 
(* concurrency within the ML runtime *)  | 
| 28120 | 92  | 
|
| 
50911
 
ee7fe4230642
more explicit treatment of (optional) exception properties, notably for "serial" -- avoid conflict with startPosition = offset;
 
wenzelm 
parents: 
50800 
diff
changeset
 | 
93  | 
if ML_System.is_polyml  | 
| 
 
ee7fe4230642
more explicit treatment of (optional) exception properties, notably for "serial" -- avoid conflict with startPosition = offset;
 
wenzelm 
parents: 
50800 
diff
changeset
 | 
94  | 
then use "ML/exn_properties_polyml.ML"  | 
| 
 
ee7fe4230642
more explicit treatment of (optional) exception properties, notably for "serial" -- avoid conflict with startPosition = offset;
 
wenzelm 
parents: 
50800 
diff
changeset
 | 
95  | 
else use "ML/exn_properties_dummy.ML";  | 
| 
 
ee7fe4230642
more explicit treatment of (optional) exception properties, notably for "serial" -- avoid conflict with startPosition = offset;
 
wenzelm 
parents: 
50800 
diff
changeset
 | 
96  | 
|
| 
53709
 
84522727f9d3
improved printing of exception trace in Poly/ML 5.5.1;
 
wenzelm 
parents: 
53707 
diff
changeset
 | 
97  | 
if ML_System.name = "polyml-5.5.1"  | 
| 54717 | 98  | 
orelse ML_System.name = "polyml-5.5.2"  | 
| 
53709
 
84522727f9d3
improved printing of exception trace in Poly/ML 5.5.1;
 
wenzelm 
parents: 
53707 
diff
changeset
 | 
99  | 
then use "ML/exn_trace_polyml-5.5.1.ML"  | 
| 
 
84522727f9d3
improved printing of exception trace in Poly/ML 5.5.1;
 
wenzelm 
parents: 
53707 
diff
changeset
 | 
100  | 
else ();  | 
| 
 
84522727f9d3
improved printing of exception trace in Poly/ML 5.5.1;
 
wenzelm 
parents: 
53707 
diff
changeset
 | 
101  | 
|
| 54717 | 102  | 
if ML_System.name = "polyml-5.5.0"  | 
103  | 
orelse ML_System.name = "polyml-5.5.1"  | 
|
104  | 
orelse ML_System.name = "polyml-5.5.2"  | 
|
| 50255 | 105  | 
then use "ML/ml_statistics_polyml-5.5.0.ML"  | 
106  | 
else use "ML/ml_statistics_dummy.ML";  | 
|
107  | 
||
| 
35014
 
a725ff6ead26
explicit representation of single-assignment variables;
 
wenzelm 
parents: 
33538 
diff
changeset
 | 
108  | 
use "Concurrent/single_assignment.ML";  | 
| 
 
a725ff6ead26
explicit representation of single-assignment variables;
 
wenzelm 
parents: 
33538 
diff
changeset
 | 
109  | 
if Multithreading.available then ()  | 
| 
 
a725ff6ead26
explicit representation of single-assignment variables;
 
wenzelm 
parents: 
33538 
diff
changeset
 | 
110  | 
else use "Concurrent/single_assignment_sequential.ML";  | 
| 
 
a725ff6ead26
explicit representation of single-assignment variables;
 
wenzelm 
parents: 
33538 
diff
changeset
 | 
111  | 
|
| 
40748
 
591b6778d076
removed bash from ML system bootstrap, and past the Secure ML barrier;
 
wenzelm 
parents: 
40743 
diff
changeset
 | 
112  | 
if Multithreading.available  | 
| 
 
591b6778d076
removed bash from ML system bootstrap, and past the Secure ML barrier;
 
wenzelm 
parents: 
40743 
diff
changeset
 | 
113  | 
then use "Concurrent/bash.ML"  | 
| 
 
591b6778d076
removed bash from ML system bootstrap, and past the Secure ML barrier;
 
wenzelm 
parents: 
40743 
diff
changeset
 | 
114  | 
else use "Concurrent/bash_sequential.ML";  | 
| 
 
591b6778d076
removed bash from ML system bootstrap, and past the Secure ML barrier;
 
wenzelm 
parents: 
40743 
diff
changeset
 | 
115  | 
|
| 44247 | 116  | 
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
 | 
117  | 
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
 | 
118  | 
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
 | 
119  | 
use "Concurrent/event_timer.ML";  | 
| 
 
9d3c9862d1dd
recovered delay for Document.start_execution (see also 627fb639a2d9), which potentially improves throughput when many consecutive edits arrive;
 
wenzelm 
parents: 
52788 
diff
changeset
 | 
120  | 
|
| 
 
9d3c9862d1dd
recovered delay for Document.start_execution (see also 627fb639a2d9), which potentially improves throughput when many consecutive edits arrive;
 
wenzelm 
parents: 
52788 
diff
changeset
 | 
121  | 
if ML_System.is_polyml then use "Concurrent/time_limit.ML" else ();  | 
| 32840 | 122  | 
|
| 
32815
 
1a5e364584ae
separate concurrent/sequential versions of lazy evaluation;
 
wenzelm 
parents: 
32738 
diff
changeset
 | 
123  | 
use "Concurrent/lazy.ML";  | 
| 
 
1a5e364584ae
separate concurrent/sequential versions of lazy evaluation;
 
wenzelm 
parents: 
32738 
diff
changeset
 | 
124  | 
if Multithreading.available then ()  | 
| 
 
1a5e364584ae
separate concurrent/sequential versions of lazy evaluation;
 
wenzelm 
parents: 
32738 
diff
changeset
 | 
125  | 
else use "Concurrent/lazy_sequential.ML";  | 
| 32840 | 126  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
127  | 
use "Concurrent/par_list.ML";  | 
| 
32815
 
1a5e364584ae
separate concurrent/sequential versions of lazy evaluation;
 
wenzelm 
parents: 
32738 
diff
changeset
 | 
128  | 
if Multithreading.available then ()  | 
| 
32816
 
5db89f8d44f3
more official status of sequential implementations;
 
wenzelm 
parents: 
32815 
diff
changeset
 | 
129  | 
else use "Concurrent/par_list_sequential.ML";  | 
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
130  | 
|
| 44247 | 131  | 
use "Concurrent/mailbox.ML";  | 
| 32840 | 132  | 
use "Concurrent/cache.ML";  | 
133  | 
||
| 
50500
 
c94bba7906d2
identify dialogs via official serial and maintain as result message;
 
wenzelm 
parents: 
50498 
diff
changeset
 | 
134  | 
use "PIDE/active.ML";  | 
| 
 
c94bba7906d2
identify dialogs via official serial and maintain as result message;
 
wenzelm 
parents: 
50498 
diff
changeset
 | 
135  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
136  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
137  | 
(* fundamental structures *)  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
138  | 
|
| 20075 | 139  | 
use "name.ML";  | 
| 0 | 140  | 
use "term.ML";  | 
| 28404 | 141  | 
use "context.ML";  | 
| 47813 | 142  | 
use "context_position.ML";  | 
| 
39508
 
dfacdb01e1ec
simplified some internal flags using Config.T instead of full-blown Proof_Data;
 
wenzelm 
parents: 
39290 
diff
changeset
 | 
143  | 
use "config.ML";  | 
| 19 | 144  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
145  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
146  | 
(* inner syntax *)  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
147  | 
|
| 
52211
 
66bc827e37f8
explicit support for type annotations within printed syntax trees;
 
wenzelm 
parents: 
52140 
diff
changeset
 | 
148  | 
use "Syntax/type_annotation.ML";  | 
| 42264 | 149  | 
use "Syntax/term_position.ML";  | 
150  | 
use "Syntax/lexicon.ML";  | 
|
| 22679 | 151  | 
use "Syntax/ast.ML";  | 
| 
42288
 
2074b31650e6
discontinued special treatment of structure Syntax_Ext (formerly Syn_Ext);
 
wenzelm 
parents: 
42284 
diff
changeset
 | 
152  | 
use "Syntax/syntax_ext.ML";  | 
| 22679 | 153  | 
use "Syntax/parser.ML";  | 
| 42284 | 154  | 
use "Syntax/syntax_trans.ML";  | 
| 22679 | 155  | 
use "Syntax/mixfix.ML";  | 
156  | 
use "Syntax/printer.ML";  | 
|
157  | 
use "Syntax/syntax.ML";  | 
|
158  | 
||
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
159  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
160  | 
(* 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
 | 
161  | 
|
| 
42382
 
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
 
wenzelm 
parents: 
42357 
diff
changeset
 | 
162  | 
use "term_ord.ML";  | 
| 
 
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
 
wenzelm 
parents: 
42357 
diff
changeset
 | 
163  | 
use "term_subst.ML";  | 
| 43729 | 164  | 
use "term_xml.ML";  | 
| 
55672
 
5e25cc741ab9
support for completion within the formal context;
 
wenzelm 
parents: 
55516 
diff
changeset
 | 
165  | 
use "General/completion.ML";  | 
| 
42382
 
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
 
wenzelm 
parents: 
42357 
diff
changeset
 | 
166  | 
use "General/name_space.ML";  | 
| 
 
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
 
wenzelm 
parents: 
42357 
diff
changeset
 | 
167  | 
use "sorts.ML";  | 
| 
 
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
 
wenzelm 
parents: 
42357 
diff
changeset
 | 
168  | 
use "type.ML";  | 
| 
 
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
 
wenzelm 
parents: 
42357 
diff
changeset
 | 
169  | 
use "logic.ML";  | 
| 
 
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
 
wenzelm 
parents: 
42357 
diff
changeset
 | 
170  | 
use "Syntax/simple_syntax.ML";  | 
| 
30559
 
e5987a7ac5df
turned structure NetRules into general Item_Net, which is loaded earlier;
 
wenzelm 
parents: 
30173 
diff
changeset
 | 
171  | 
use "net.ML";  | 
| 
 
e5987a7ac5df
turned structure NetRules into general Item_Net, which is loaded earlier;
 
wenzelm 
parents: 
30173 
diff
changeset
 | 
172  | 
use "item_net.ML";  | 
| 18934 | 173  | 
use "envir.ML";  | 
| 18059 | 174  | 
use "consts.ML";  | 
| 24257 | 175  | 
use "primitive_defs.ML";  | 
| 27546 | 176  | 
use "defs.ML";  | 
| 0 | 177  | 
use "sign.ML";  | 
| 
43795
 
ca5896a836ba
recovered some runtime sharing from d6b6c74a8bcf, without the global memory bottleneck;
 
wenzelm 
parents: 
43794 
diff
changeset
 | 
178  | 
use "term_sharing.ML";  | 
| 0 | 179  | 
use "pattern.ML";  | 
180  | 
use "unify.ML";  | 
|
| 1528 | 181  | 
use "theory.ML";  | 
| 24664 | 182  | 
use "interpretation.ML";  | 
| 11511 | 183  | 
use "proofterm.ML";  | 
| 0 | 184  | 
use "thm.ML";  | 
| 22361 | 185  | 
use "more_thm.ML";  | 
| 26279 | 186  | 
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
 | 
187  | 
use "global_theory.ML";  | 
| 3986 | 188  | 
use "pure_thy.ML";  | 
| 0 | 189  | 
use "drule.ML";  | 
| 22233 | 190  | 
use "morphism.ML";  | 
| 19898 | 191  | 
use "variable.ML";  | 
| 24833 | 192  | 
use "conv.ML";  | 
| 32187 | 193  | 
use "goal_display.ML";  | 
| 32169 | 194  | 
use "tactical.ML";  | 
| 1582 | 195  | 
use "search.ML";  | 
| 21708 | 196  | 
use "tactic.ML";  | 
| 
41228
 
e1fce873b814
renamed structure MetaSimplifier to raw_Simplifer, to emphasize its meaning;
 
wenzelm 
parents: 
40748 
diff
changeset
 | 
197  | 
use "raw_simplifier.ML";  | 
| 19417 | 198  | 
use "conjunction.ML";  | 
| 20225 | 199  | 
use "assumption.ML";  | 
| 
32089
 
568a23753e3a
moved pretty_goals etc. to Display_Goal (required by tracing tacticals);
 
wenzelm 
parents: 
32015 
diff
changeset
 | 
200  | 
use "display.ML";  | 
| 0 | 201  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
202  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
203  | 
(* 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
 | 
204  | 
|
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents: 
56288 
diff
changeset
 | 
205  | 
(*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
 | 
206  | 
use "ML/ml_syntax.ML";  | 
| 
 
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
 
wenzelm 
parents: 
48990 
diff
changeset
 | 
207  | 
use "ML/ml_env.ML";  | 
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents: 
56288 
diff
changeset
 | 
208  | 
use "ML/ml_options.ML";  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents: 
56288 
diff
changeset
 | 
209  | 
use "ML/exn_output.ML";  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents: 
56288 
diff
changeset
 | 
210  | 
if ML_System.is_polyml then use "ML/exn_output_polyml.ML" else ();  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents: 
56288 
diff
changeset
 | 
211  | 
use "ML/ml_options.ML";  | 
| 
49041
 
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
 
wenzelm 
parents: 
48990 
diff
changeset
 | 
212  | 
use "Isar/runtime.ML";  | 
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents: 
56288 
diff
changeset
 | 
213  | 
use "PIDE/execution.ML";  | 
| 
49041
 
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
 
wenzelm 
parents: 
48990 
diff
changeset
 | 
214  | 
use "ML/ml_compiler.ML";  | 
| 
 
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
 
wenzelm 
parents: 
48990 
diff
changeset
 | 
215  | 
if ML_System.is_polyml then use "ML/ml_compiler_polyml.ML" else ();  | 
| 
 
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
 
wenzelm 
parents: 
48990 
diff
changeset
 | 
216  | 
|
| 51551 | 217  | 
use "skip_proof.ML";  | 
| 
49041
 
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
 
wenzelm 
parents: 
48990 
diff
changeset
 | 
218  | 
use "goal.ML";  | 
| 
 
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
 
wenzelm 
parents: 
48990 
diff
changeset
 | 
219  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
220  | 
(*proof context*)  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
221  | 
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
 | 
222  | 
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
 | 
223  | 
use "Isar/auto_bind.ML";  | 
| 
42241
 
dd8029f71e1c
separate module for standard implementation of inner syntax operations;
 
wenzelm 
parents: 
42240 
diff
changeset
 | 
224  | 
use "type_infer.ML";  | 
| 
42240
 
5a4d30cd47a7
moved Isar/local_syntax.ML to Syntax/local_syntax.ML;
 
wenzelm 
parents: 
42012 
diff
changeset
 | 
225  | 
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
 | 
226  | 
use "Isar/proof_context.ML";  | 
| 
42405
 
13ecdb3057d8
split Type_Infer into early and late part, after Proof_Context;
 
wenzelm 
parents: 
42383 
diff
changeset
 | 
227  | 
use "type_infer_context.ML";  | 
| 42243 | 228  | 
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
 | 
229  | 
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
 | 
230  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
231  | 
(*outer syntax*)  | 
| 
36959
 
f5417836dbea
renamed structure OuterLex to Token and type token to Token.T, keeping legacy aliases for some time;
 
wenzelm 
parents: 
36955 
diff
changeset
 | 
232  | 
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
 | 
233  | 
use "Isar/keyword.ML";  | 
| 
 
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
 | 
234  | 
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
 | 
235  | 
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
 | 
236  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
237  | 
(*theory sources*)  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
238  | 
use "Thy/thy_header.ML";  | 
| 51265 | 239  | 
use "Thy/thy_syntax.ML";  | 
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
240  | 
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
 | 
241  | 
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
 | 
242  | 
|
| 
56203
 
76c72f4d0667
clarified bootstrap process: switch to ML with context and antiquotations earlier;
 
wenzelm 
parents: 
56072 
diff
changeset
 | 
243  | 
(*ML with context and antiquotations*)  | 
| 
 
76c72f4d0667
clarified bootstrap process: switch to ML with context and antiquotations earlier;
 
wenzelm 
parents: 
56072 
diff
changeset
 | 
244  | 
use "ML/ml_context.ML";  | 
| 56205 | 245  | 
use "ML/ml_antiquotation.ML";  | 
| 56288 | 246  | 
|
| 56434 | 247  | 
fun use s =  | 
248  | 
ML_Context.eval_file (ML_Compiler.verbose true ML_Compiler.flags) (Path.explode s)  | 
|
249  | 
handle ERROR msg => (writeln msg; error "ML error");  | 
|
250  | 
||
| 56288 | 251  | 
|
252  | 
||
253  | 
(** bootstrap phase 2: 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
 | 
254  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
255  | 
(*basic proof engine*)  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
256  | 
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
 | 
257  | 
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
 | 
258  | 
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
 | 
259  | 
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
 | 
260  | 
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
 | 
261  | 
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
 | 
262  | 
use "Isar/obtain.ML";  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
263  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
264  | 
(*local theories and targets*)  | 
| 52140 | 265  | 
use "Isar/locale.ML";  | 
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
266  | 
use "Isar/local_theory.ML";  | 
| 
38307
 
0028571ade2d
split off structure Generic_Target into separate file
 
haftmann 
parents: 
38150 
diff
changeset
 | 
267  | 
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
 | 
268  | 
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
 | 
269  | 
use "axclass.ML";  | 
| 
38379
 
67d71449e85b
more convenient split of class modules: class and class_declaration
 
haftmann 
parents: 
38350 
diff
changeset
 | 
270  | 
use "Isar/class.ML";  | 
| 
38350
 
480b2de9927c
renamed Theory_Target to the more appropriate Named_Target
 
haftmann 
parents: 
38343 
diff
changeset
 | 
271  | 
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
 | 
272  | 
use "Isar/expression.ML";  | 
| 
38379
 
67d71449e85b
more convenient split of class modules: class and class_declaration
 
haftmann 
parents: 
38350 
diff
changeset
 | 
273  | 
use "Isar/class_declaration.ML";  | 
| 47057 | 274  | 
use "Isar/bundle.ML";  | 
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
275  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
276  | 
use "simplifier.ML";  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
277  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
278  | 
(*executable theory content*)  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
279  | 
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
 | 
280  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
281  | 
(*specifications*)  | 
| 
36952
 
338c3f8229e4
renamed structure SpecParse to Parse_Spec, keeping the old name as alias for some time;
 
wenzelm 
parents: 
36951 
diff
changeset
 | 
282  | 
use "Isar/parse_spec.ML";  | 
| 
33374
 
8099185908a4
Rules that characterize functional/relational specifications.
 
wenzelm 
parents: 
32840 
diff
changeset
 | 
283  | 
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
 | 
284  | 
use "Isar/specification.ML";  | 
| 35626 | 285  | 
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
 | 
286  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
287  | 
(*toplevel transactions*)  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
288  | 
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
 | 
289  | 
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
 | 
290  | 
|
| 56206 | 291  | 
(*proof term operations*)  | 
292  | 
use "Proof/reconstruct.ML";  | 
|
293  | 
use "Proof/proof_syntax.ML";  | 
|
294  | 
use "Proof/proof_rewrite_rules.ML";  | 
|
295  | 
use "Proof/proof_checker.ML";  | 
|
296  | 
use "Proof/extraction.ML";  | 
|
297  | 
||
| 
38271
 
36187e8443dd
Isar_Document command input via native Isabelle_Process commands, using YXML and XML_Data representation;
 
wenzelm 
parents: 
38266 
diff
changeset
 | 
298  | 
(*theory documents*)  | 
| 40743 | 299  | 
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
 | 
300  | 
use "Thy/term_style.ML";  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
301  | 
use "Thy/thy_output.ML";  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
302  | 
use "Isar/outer_syntax.ML";  | 
| 49561 | 303  | 
use "General/graph_display.ML";  | 
| 
43712
 
3c2c912af2ef
moved Outer_Syntax.load_thy to Thy_Load.load_thy;
 
wenzelm 
parents: 
43684 
diff
changeset
 | 
304  | 
use "Thy/present.ML";  | 
| 52510 | 305  | 
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
 | 
306  | 
use "PIDE/query_operation.ML";  | 
| 56208 | 307  | 
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
 | 
308  | 
use "Thy/thy_info.ML";  | 
| 44185 | 309  | 
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
 | 
310  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
311  | 
(*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
 | 
312  | 
use "Thy/thm_deps.ML";  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
313  | 
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
 | 
314  | 
|
| 20207 | 315  | 
use "subgoal.ML";  | 
| 5834 | 316  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
317  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
318  | 
(* Isabelle/Isar system *)  | 
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
319  | 
|
| 56210 | 320  | 
use "PIDE/session.ML";  | 
| 
48681
 
181b91e1d1c1
prefer general Command_Line.tool wrapper (cf. Scala version);
 
wenzelm 
parents: 
48646 
diff
changeset
 | 
321  | 
use "System/command_line.ML";  | 
| 
45029
 
63144ea111f7
abstract System_Channel in ML (cf. Scala version);
 
wenzelm 
parents: 
45026 
diff
changeset
 | 
322  | 
use "System/system_channel.ML";  | 
| 52584 | 323  | 
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
 | 
324  | 
use "System/isabelle_process.ML";  | 
| 43748 | 325  | 
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
 | 
326  | 
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
 | 
327  | 
use "System/isar.ML";  | 
| 
 
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
 | 
328  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
329  | 
|
| 
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
330  | 
(* 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
 | 
331  | 
|
| 50686 | 332  | 
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
 | 
333  | 
use "Tools/named_thms.ML";  | 
| 52009 | 334  | 
use "Tools/proof_general.ML";  | 
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
335  | 
|
| 
55387
 
51f0876f61df
seal system channels at end of Pure bootstrap -- Isabelle/Scala provides official interfaces;
 
wenzelm 
parents: 
55141 
diff
changeset
 | 
336  | 
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
 | 
337  | 
|
| 
31432
 
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
 
wenzelm 
parents: 
31335 
diff
changeset
 | 
338  | 
|
| 
48732
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
339  | 
(* ML toplevel pretty printing *)  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
340  | 
|
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
341  | 
toplevel_pp ["Pretty", "T"] "(fn _: Pretty.T => Pretty.str \"<pretty>\")";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
342  | 
toplevel_pp ["Task_Queue", "task"] "Pretty.str o Task_Queue.str_of_task";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
343  | 
toplevel_pp ["Task_Queue", "group"] "Pretty.str o Task_Queue.str_of_group";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
344  | 
toplevel_pp ["Position", "T"] "Pretty.position";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
345  | 
toplevel_pp ["Binding", "binding"] "Pretty.str o Binding.print";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
346  | 
toplevel_pp ["Thm", "thm"] "Proof_Display.pp_thm";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
347  | 
toplevel_pp ["Thm", "cterm"] "Proof_Display.pp_cterm";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
348  | 
toplevel_pp ["Thm", "ctyp"] "Proof_Display.pp_ctyp";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
349  | 
toplevel_pp ["Context", "theory"] "Context.pretty_thy";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
350  | 
toplevel_pp ["Context", "Proof", "context"] "Proof_Display.pp_context";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
351  | 
toplevel_pp ["Ast", "ast"] "Ast.pretty_ast";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
352  | 
toplevel_pp ["Path", "T"] "Path.pretty";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
353  | 
toplevel_pp ["SHA1", "digest"] "Pretty.str o quote o SHA1.rep";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
354  | 
toplevel_pp ["Proof", "state"] "(fn _: Proof.state => Pretty.str \"<Proof.state>\")";  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
355  | 
toplevel_pp ["Toplevel", "state"] "Toplevel.pretty_abstract";  | 
| 54740 | 356  | 
toplevel_pp ["Morphism", "morphism"] "Morphism.pretty";  | 
| 
48732
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
357  | 
|
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
358  | 
if ML_System.is_polyml then use "ML/install_pp_polyml.ML" else ();  | 
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
359  | 
|
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
360  | 
|
| 
49862
 
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
 
wenzelm 
parents: 
49561 
diff
changeset
 | 
361  | 
(* the Pure theory *)  | 
| 
 
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
 
wenzelm 
parents: 
49561 
diff
changeset
 | 
362  | 
|
| 
 
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
 
wenzelm 
parents: 
49561 
diff
changeset
 | 
363  | 
use "pure_syn.ML";  | 
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents: 
56288 
diff
changeset
 | 
364  | 
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
 | 
365  | 
Context.set_thread_data NONE;  | 
| 
 
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
 
wenzelm 
parents: 
49561 
diff
changeset
 | 
366  | 
structure Pure = struct val thy = Thy_Info.get_theory "Pure" end;  | 
| 
 
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
 
wenzelm 
parents: 
49561 
diff
changeset
 | 
367  | 
|
| 
 
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
 
wenzelm 
parents: 
49561 
diff
changeset
 | 
368  | 
toplevel_pp ["typ"] "Proof_Display.pp_typ Pure.thy";  | 
| 
 
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
 
wenzelm 
parents: 
49561 
diff
changeset
 | 
369  | 
|
| 
 
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
 
wenzelm 
parents: 
49561 
diff
changeset
 | 
370  | 
|
| 48879 | 371  | 
(* ML toplevel commands *)  | 
372  | 
||
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents: 
56288 
diff
changeset
 | 
373  | 
fun use_thys args =  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents: 
56288 
diff
changeset
 | 
374  | 
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
 | 
375  | 
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
 | 
376  | 
|
| 
 
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
 
wenzelm 
parents: 
48681 
diff
changeset
 | 
377  | 
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
 | 
378  | 
|
| 
52487
 
48bc24467008
backout dedd7952a62c: static "proofs" value within theory prevents later inferencing with different configuration;
 
wenzelm 
parents: 
52470 
diff
changeset
 | 
379  | 
Proofterm.proofs := 0;  | 
| 
30639
 
fe40d740d7c1
ML/ml_test.ML: test of advanced ML compiler invocation in Poly/ML 5.3;
 
wenzelm 
parents: 
30559 
diff
changeset
 | 
380  |