author | wenzelm |
Fri, 31 Oct 2014 17:08:54 +0100 | |
changeset 58848 | fd0c85d7da38 |
parent 58846 | 98c03412079b |
child 58903 | 38c72f5f6c2e |
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" |
58470
890d8286fd4e
pro-forma support for polyml-5.5.3 (presently SVN 1960);
wenzelm
parents:
58032
diff
changeset
|
99 |
orelse ML_System.name = "polyml-5.5.3" |
53709
84522727f9d3
improved printing of exception trace in Poly/ML 5.5.1;
wenzelm
parents:
53707
diff
changeset
|
100 |
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
|
101 |
else (); |
84522727f9d3
improved printing of exception trace in Poly/ML 5.5.1;
wenzelm
parents:
53707
diff
changeset
|
102 |
|
54717 | 103 |
if ML_System.name = "polyml-5.5.0" |
104 |
orelse ML_System.name = "polyml-5.5.1" |
|
105 |
orelse ML_System.name = "polyml-5.5.2" |
|
58470
890d8286fd4e
pro-forma support for polyml-5.5.3 (presently SVN 1960);
wenzelm
parents:
58032
diff
changeset
|
106 |
orelse ML_System.name = "polyml-5.5.3" |
50255 | 107 |
then use "ML/ml_statistics_polyml-5.5.0.ML" |
108 |
else use "ML/ml_statistics_dummy.ML"; |
|
109 |
||
35014
a725ff6ead26
explicit representation of single-assignment variables;
wenzelm
parents:
33538
diff
changeset
|
110 |
use "Concurrent/single_assignment.ML"; |
a725ff6ead26
explicit representation of single-assignment variables;
wenzelm
parents:
33538
diff
changeset
|
111 |
if Multithreading.available then () |
a725ff6ead26
explicit representation of single-assignment variables;
wenzelm
parents:
33538
diff
changeset
|
112 |
else use "Concurrent/single_assignment_sequential.ML"; |
a725ff6ead26
explicit representation of single-assignment variables;
wenzelm
parents:
33538
diff
changeset
|
113 |
|
40748
591b6778d076
removed bash from ML system bootstrap, and past the Secure ML barrier;
wenzelm
parents:
40743
diff
changeset
|
114 |
if Multithreading.available |
591b6778d076
removed bash from ML system bootstrap, and past the Secure ML barrier;
wenzelm
parents:
40743
diff
changeset
|
115 |
then use "Concurrent/bash.ML" |
591b6778d076
removed bash from ML system bootstrap, and past the Secure ML barrier;
wenzelm
parents:
40743
diff
changeset
|
116 |
else use "Concurrent/bash_sequential.ML"; |
591b6778d076
removed bash from ML system bootstrap, and past the Secure ML barrier;
wenzelm
parents:
40743
diff
changeset
|
117 |
|
44247 | 118 |
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
|
119 |
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
|
120 |
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
|
121 |
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
|
122 |
|
9d3c9862d1dd
recovered delay for Document.start_execution (see also 627fb639a2d9), which potentially improves throughput when many consecutive edits arrive;
wenzelm
parents:
52788
diff
changeset
|
123 |
if ML_System.is_polyml then use "Concurrent/time_limit.ML" else (); |
32840 | 124 |
|
32815
1a5e364584ae
separate concurrent/sequential versions of lazy evaluation;
wenzelm
parents:
32738
diff
changeset
|
125 |
use "Concurrent/lazy.ML"; |
1a5e364584ae
separate concurrent/sequential versions of lazy evaluation;
wenzelm
parents:
32738
diff
changeset
|
126 |
if Multithreading.available then () |
1a5e364584ae
separate concurrent/sequential versions of lazy evaluation;
wenzelm
parents:
32738
diff
changeset
|
127 |
else use "Concurrent/lazy_sequential.ML"; |
32840 | 128 |
|
31432
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
129 |
use "Concurrent/par_list.ML"; |
32815
1a5e364584ae
separate concurrent/sequential versions of lazy evaluation;
wenzelm
parents:
32738
diff
changeset
|
130 |
if Multithreading.available then () |
32816
5db89f8d44f3
more official status of sequential implementations;
wenzelm
parents:
32815
diff
changeset
|
131 |
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
|
132 |
|
44247 | 133 |
use "Concurrent/mailbox.ML"; |
32840 | 134 |
use "Concurrent/cache.ML"; |
135 |
||
50500
c94bba7906d2
identify dialogs via official serial and maintain as result message;
wenzelm
parents:
50498
diff
changeset
|
136 |
use "PIDE/active.ML"; |
c94bba7906d2
identify dialogs via official serial and maintain as result message;
wenzelm
parents:
50498
diff
changeset
|
137 |
|
31432
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
138 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
139 |
(* fundamental structures *) |
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
140 |
|
20075 | 141 |
use "name.ML"; |
0 | 142 |
use "term.ML"; |
28404 | 143 |
use "context.ML"; |
47813 | 144 |
use "context_position.ML"; |
39508
dfacdb01e1ec
simplified some internal flags using Config.T instead of full-blown Proof_Data;
wenzelm
parents:
39290
diff
changeset
|
145 |
use "config.ML"; |
19 | 146 |
|
31432
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
147 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
148 |
(* inner syntax *) |
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
149 |
|
52211
66bc827e37f8
explicit support for type annotations within printed syntax trees;
wenzelm
parents:
52140
diff
changeset
|
150 |
use "Syntax/type_annotation.ML"; |
42264 | 151 |
use "Syntax/term_position.ML"; |
152 |
use "Syntax/lexicon.ML"; |
|
22679 | 153 |
use "Syntax/ast.ML"; |
42288
2074b31650e6
discontinued special treatment of structure Syntax_Ext (formerly Syn_Ext);
wenzelm
parents:
42284
diff
changeset
|
154 |
use "Syntax/syntax_ext.ML"; |
22679 | 155 |
use "Syntax/parser.ML"; |
42284 | 156 |
use "Syntax/syntax_trans.ML"; |
22679 | 157 |
use "Syntax/mixfix.ML"; |
158 |
use "Syntax/printer.ML"; |
|
159 |
use "Syntax/syntax.ML"; |
|
160 |
||
31432
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
161 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
162 |
(* 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
|
163 |
|
42382
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents:
42357
diff
changeset
|
164 |
use "term_ord.ML"; |
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents:
42357
diff
changeset
|
165 |
use "term_subst.ML"; |
43729 | 166 |
use "term_xml.ML"; |
55672
5e25cc741ab9
support for completion within the formal context;
wenzelm
parents:
55516
diff
changeset
|
167 |
use "General/completion.ML"; |
42382
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents:
42357
diff
changeset
|
168 |
use "General/name_space.ML"; |
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents:
42357
diff
changeset
|
169 |
use "sorts.ML"; |
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents:
42357
diff
changeset
|
170 |
use "type.ML"; |
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents:
42357
diff
changeset
|
171 |
use "logic.ML"; |
dcd983ee2c29
provide structure Syntax early (before structure Type), back-patch check/uncheck later;
wenzelm
parents:
42357
diff
changeset
|
172 |
use "Syntax/simple_syntax.ML"; |
30559
e5987a7ac5df
turned structure NetRules into general Item_Net, which is loaded earlier;
wenzelm
parents:
30173
diff
changeset
|
173 |
use "net.ML"; |
e5987a7ac5df
turned structure NetRules into general Item_Net, which is loaded earlier;
wenzelm
parents:
30173
diff
changeset
|
174 |
use "item_net.ML"; |
18934 | 175 |
use "envir.ML"; |
18059 | 176 |
use "consts.ML"; |
24257 | 177 |
use "primitive_defs.ML"; |
27546 | 178 |
use "defs.ML"; |
0 | 179 |
use "sign.ML"; |
43795
ca5896a836ba
recovered some runtime sharing from d6b6c74a8bcf, without the global memory bottleneck;
wenzelm
parents:
43794
diff
changeset
|
180 |
use "term_sharing.ML"; |
0 | 181 |
use "pattern.ML"; |
182 |
use "unify.ML"; |
|
1528 | 183 |
use "theory.ML"; |
11511 | 184 |
use "proofterm.ML"; |
0 | 185 |
use "thm.ML"; |
22361 | 186 |
use "more_thm.ML"; |
26279 | 187 |
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
|
188 |
use "global_theory.ML"; |
3986 | 189 |
use "pure_thy.ML"; |
0 | 190 |
use "drule.ML"; |
22233 | 191 |
use "morphism.ML"; |
19898 | 192 |
use "variable.ML"; |
24833 | 193 |
use "conv.ML"; |
32187 | 194 |
use "goal_display.ML"; |
32169 | 195 |
use "tactical.ML"; |
1582 | 196 |
use "search.ML"; |
21708 | 197 |
use "tactic.ML"; |
41228
e1fce873b814
renamed structure MetaSimplifier to raw_Simplifer, to emphasize its meaning;
wenzelm
parents:
40748
diff
changeset
|
198 |
use "raw_simplifier.ML"; |
19417 | 199 |
use "conjunction.ML"; |
20225 | 200 |
use "assumption.ML"; |
32089
568a23753e3a
moved pretty_goals etc. to Display_Goal (required by tracing tacticals);
wenzelm
parents:
32015
diff
changeset
|
201 |
use "display.ML"; |
0 | 202 |
|
31432
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
203 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
204 |
(* 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
|
205 |
|
56303
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents:
56288
diff
changeset
|
206 |
(*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
|
207 |
use "ML/ml_syntax.ML"; |
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
wenzelm
parents:
48990
diff
changeset
|
208 |
use "ML/ml_env.ML"; |
56303
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents:
56288
diff
changeset
|
209 |
use "ML/ml_options.ML"; |
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents:
56288
diff
changeset
|
210 |
use "ML/exn_output.ML"; |
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents:
56288
diff
changeset
|
211 |
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
|
212 |
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
|
213 |
use "Isar/runtime.ML"; |
56303
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents:
56288
diff
changeset
|
214 |
use "PIDE/execution.ML"; |
49041
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
wenzelm
parents:
48990
diff
changeset
|
215 |
use "ML/ml_compiler.ML"; |
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
wenzelm
parents:
48990
diff
changeset
|
216 |
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
|
217 |
|
51551 | 218 |
use "skip_proof.ML"; |
49041
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
wenzelm
parents:
48990
diff
changeset
|
219 |
use "goal.ML"; |
9edfd36a0355
more informative error message from failed goal forks (violating old-style TTY protocol!);
wenzelm
parents:
48990
diff
changeset
|
220 |
|
31432
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
221 |
(*proof context*) |
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
222 |
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
|
223 |
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
|
224 |
use "Isar/auto_bind.ML"; |
42241
dd8029f71e1c
separate module for standard implementation of inner syntax operations;
wenzelm
parents:
42240
diff
changeset
|
225 |
use "type_infer.ML"; |
42240
5a4d30cd47a7
moved Isar/local_syntax.ML to Syntax/local_syntax.ML;
wenzelm
parents:
42012
diff
changeset
|
226 |
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
|
227 |
use "Isar/proof_context.ML"; |
42405
13ecdb3057d8
split Type_Infer into early and late part, after Proof_Context;
wenzelm
parents:
42383
diff
changeset
|
228 |
use "type_infer_context.ML"; |
42243 | 229 |
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
|
230 |
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
|
231 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
232 |
(*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
|
233 |
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
|
234 |
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
|
235 |
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
|
236 |
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
|
237 |
|
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
|
238 |
(*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
|
239 |
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
|
240 |
use "Thy/thy_header.ML"; |
57905
c0c5652e796e
separate module Command_Span: mostly syntactic representation;
wenzelm
parents:
57649
diff
changeset
|
241 |
use "PIDE/command_span.ML"; |
51265 | 242 |
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
|
243 |
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
|
244 |
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
|
245 |
|
56203
76c72f4d0667
clarified bootstrap process: switch to ML with context and antiquotations earlier;
wenzelm
parents:
56072
diff
changeset
|
246 |
(*ML with context and antiquotations*) |
76c72f4d0667
clarified bootstrap process: switch to ML with context and antiquotations earlier;
wenzelm
parents:
56072
diff
changeset
|
247 |
use "ML/ml_context.ML"; |
56205 | 248 |
use "ML/ml_antiquotation.ML"; |
56288 | 249 |
|
56434 | 250 |
fun use s = |
251 |
ML_Context.eval_file (ML_Compiler.verbose true ML_Compiler.flags) (Path.explode s) |
|
252 |
handle ERROR msg => (writeln msg; error "ML error"); |
|
253 |
||
56288 | 254 |
|
255 |
||
256 |
(** 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
|
257 |
|
31432
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
258 |
(*basic proof engine*) |
58009 | 259 |
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
|
260 |
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
|
261 |
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
|
262 |
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
|
263 |
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
|
264 |
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
|
265 |
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
|
266 |
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
|
267 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
268 |
(*local theories and targets*) |
52140 | 269 |
use "Isar/locale.ML"; |
38307
0028571ade2d
split off structure Generic_Target into separate file
haftmann
parents:
38150
diff
changeset
|
270 |
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
|
271 |
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
|
272 |
use "axclass.ML"; |
38379
67d71449e85b
more convenient split of class modules: class and class_declaration
haftmann
parents:
38350
diff
changeset
|
273 |
use "Isar/class.ML"; |
38350
480b2de9927c
renamed Theory_Target to the more appropriate Named_Target
haftmann
parents:
38343
diff
changeset
|
274 |
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
|
275 |
use "Isar/expression.ML"; |
38379
67d71449e85b
more convenient split of class modules: class and class_declaration
haftmann
parents:
38350
diff
changeset
|
276 |
use "Isar/class_declaration.ML"; |
47057 | 277 |
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
|
278 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
279 |
use "simplifier.ML"; |
58660 | 280 |
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
|
281 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
282 |
(*executable theory content*) |
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
283 |
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
|
284 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
285 |
(*specifications*) |
36952
338c3f8229e4
renamed structure SpecParse to Parse_Spec, keeping the old name as alias for some time;
wenzelm
parents:
36951
diff
changeset
|
286 |
use "Isar/parse_spec.ML"; |
33374
8099185908a4
Rules that characterize functional/relational specifications.
wenzelm
parents:
32840
diff
changeset
|
287 |
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
|
288 |
use "Isar/specification.ML"; |
35626 | 289 |
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
|
290 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
291 |
(*toplevel transactions*) |
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
292 |
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
|
293 |
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
|
294 |
|
56206 | 295 |
(*proof term operations*) |
296 |
use "Proof/reconstruct.ML"; |
|
297 |
use "Proof/proof_syntax.ML"; |
|
298 |
use "Proof/proof_rewrite_rules.ML"; |
|
299 |
use "Proof/proof_checker.ML"; |
|
300 |
use "Proof/extraction.ML"; |
|
301 |
||
38271
36187e8443dd
Isar_Document command input via native Isabelle_Process commands, using YXML and XML_Data representation;
wenzelm
parents:
38266
diff
changeset
|
302 |
(*theory documents*) |
40743 | 303 |
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
|
304 |
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
|
305 |
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
|
306 |
use "Isar/outer_syntax.ML"; |
49561 | 307 |
use "General/graph_display.ML"; |
43712
3c2c912af2ef
moved Outer_Syntax.load_thy to Thy_Load.load_thy;
wenzelm
parents:
43684
diff
changeset
|
308 |
use "Thy/present.ML"; |
52510 | 309 |
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
|
310 |
use "PIDE/query_operation.ML"; |
56208 | 311 |
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
|
312 |
use "Thy/thy_info.ML"; |
44185 | 313 |
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
|
314 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
315 |
(*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
|
316 |
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
|
317 |
|
20207 | 318 |
use "subgoal.ML"; |
5834 | 319 |
|
31432
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
320 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
321 |
(* Isabelle/Isar system *) |
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
322 |
|
56210 | 323 |
use "PIDE/session.ML"; |
48681
181b91e1d1c1
prefer general Command_Line.tool wrapper (cf. Scala version);
wenzelm
parents:
48646
diff
changeset
|
324 |
use "System/command_line.ML"; |
45029
63144ea111f7
abstract System_Channel in ML (cf. Scala version);
wenzelm
parents:
45026
diff
changeset
|
325 |
use "System/system_channel.ML"; |
52584 | 326 |
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
|
327 |
use "System/isabelle_process.ML"; |
43748 | 328 |
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
|
329 |
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
|
330 |
|
31432
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
331 |
|
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
332 |
(* 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
|
333 |
|
50686 | 334 |
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
|
335 |
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
|
336 |
|
55387
51f0876f61df
seal system channels at end of Pure bootstrap -- Isabelle/Scala provides official interfaces;
wenzelm
parents:
55141
diff
changeset
|
337 |
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
|
338 |
|
31432
9858f32f9569
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
wenzelm
parents:
31335
diff
changeset
|
339 |
|
48732
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
wenzelm
parents:
48681
diff
changeset
|
340 |
(* 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
|
341 |
|
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
wenzelm
parents:
48681
diff
changeset
|
342 |
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
|
343 |
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
|
344 |
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
|
345 |
toplevel_pp ["Position", "T"] "Pretty.position"; |
58032
e92cdae8b3b5
clarified ML toplevel pp: avoid ML output to be attached to inlined binding positions;
wenzelm
parents:
58009
diff
changeset
|
346 |
toplevel_pp ["Binding", "binding"] "Binding.pp"; |
48732
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", "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
|
348 |
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
|
349 |
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
|
350 |
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
|
351 |
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
|
352 |
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
|
353 |
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
|
354 |
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
|
355 |
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
|
356 |
toplevel_pp ["Toplevel", "state"] "Toplevel.pretty_abstract"; |
54740 | 357 |
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
|
358 |
|
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
wenzelm
parents:
48681
diff
changeset
|
359 |
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
|
360 |
|
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
wenzelm
parents:
48681
diff
changeset
|
361 |
|
49862
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents:
49561
diff
changeset
|
362 |
(* the Pure theory *) |
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents:
49561
diff
changeset
|
363 |
|
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents:
49561
diff
changeset
|
364 |
use "pure_syn.ML"; |
56303
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents:
56288
diff
changeset
|
365 |
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
|
366 |
Context.set_thread_data NONE; |
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents:
49561
diff
changeset
|
367 |
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
|
368 |
|
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents:
49561
diff
changeset
|
369 |
toplevel_pp ["typ"] "Proof_Display.pp_typ Pure.thy"; |
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents:
49561
diff
changeset
|
370 |
|
fb2d8ba7d3a9
more friendly handling of Pure.thy bootstrap errors;
wenzelm
parents:
49561
diff
changeset
|
371 |
|
48879 | 372 |
(* ML toplevel commands *) |
373 |
||
56303
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents:
56288
diff
changeset
|
374 |
fun use_thys args = |
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
wenzelm
parents:
56288
diff
changeset
|
375 |
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
|
376 |
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
|
377 |
|
f04320479ff9
simplified Pure bootstrap -- separate pure_setup.ML was required for Alice/ML at some point;
wenzelm
parents:
48681
diff
changeset
|
378 |
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
|
379 |
|
52487
48bc24467008
backout dedd7952a62c: static "proofs" value within theory prevents later inferencing with different configuration;
wenzelm
parents:
52470
diff
changeset
|
380 |
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
|
381 |