just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
authorwenzelm
Thu, 04 Jun 2009 18:00:47 +0200
changeset 31432 9858f32f9569
parent 31431 6b840c0b7fb6
child 31433 12f5f6af3d2d
just one ROOT.ML without any cd or ".." -- simplifies ML environment references to bootstrap sources;
src/Pure/Concurrent/ROOT.ML
src/Pure/General/ROOT.ML
src/Pure/IsaMakefile
src/Pure/Isar/ROOT.ML
src/Pure/ProofGeneral/ROOT.ML
src/Pure/ROOT.ML
src/Pure/Tools/ROOT.ML
--- a/src/Pure/Concurrent/ROOT.ML	Thu Jun 04 17:31:39 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-(*  Title:      Pure/Concurrent/ROOT.ML
-    Author:     Makarius
-
-Concurrency within the ML runtime.
-*)
-
-use "simple_thread.ML";
-use "synchronized.ML";
-use "mailbox.ML";
-use "task_queue.ML";
-use "future.ML";
-use "par_list.ML";
-if Multithreading.available then () else use "par_list_dummy.ML";
-
--- a/src/Pure/General/ROOT.ML	Thu Jun 04 17:31:39 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-(*  Title:      Pure/General/ROOT.ML
-
-Library of general tools.
-*)
-
-use "print_mode.ML";
-use "alist.ML";
-use "table.ML";
-use "output.ML";
-use "properties.ML";
-use "markup.ML";
-use "scan.ML";
-use "source.ML";
-use "symbol.ML";
-use "seq.ML";
-use "position.ML";
-use "symbol_pos.ML";
-use "antiquote.ML";
-use "../ML/ml_lex.ML";
-use "../ML/ml_parse.ML";
-use "secure.ML";
-
-use "integer.ML";
-use "stack.ML";
-use "queue.ML";
-use "heap.ML";
-use "ord_list.ML";
-use "balanced_tree.ML";
-use "graph.ML";
-use "long_name.ML";
-use "binding.ML";
-use "name_space.ML";
-use "lazy.ML";
-use "path.ML";
-use "url.ML";
-use "buffer.ML";
-use "file.ML";
-use "xml.ML";
-use "yxml.ML";
-
--- a/src/Pure/IsaMakefile	Thu Jun 04 17:31:39 2009 +0200
+++ b/src/Pure/IsaMakefile	Thu Jun 04 18:00:47 2009 +0200
@@ -39,45 +39,44 @@
 
 Pure: $(OUT)/Pure
 
-$(OUT)/Pure: $(BOOTSTRAP_FILES) Concurrent/ROOT.ML			\
-  Concurrent/future.ML Concurrent/mailbox.ML Concurrent/par_list.ML	\
+$(OUT)/Pure: $(BOOTSTRAP_FILES) Concurrent/future.ML			\
+  Concurrent/mailbox.ML Concurrent/par_list.ML				\
   Concurrent/par_list_dummy.ML Concurrent/simple_thread.ML		\
-  Concurrent/synchronized.ML Concurrent/task_queue.ML General/ROOT.ML	\
-  General/alist.ML General/antiquote.ML General/balanced_tree.ML	\
-  General/basics.ML General/binding.ML General/buffer.ML		\
-  General/file.ML General/graph.ML General/heap.ML General/integer.ML	\
-  General/lazy.ML General/long_name.ML General/markup.ML		\
-  General/name_space.ML General/ord_list.ML General/output.ML		\
-  General/path.ML General/position.ML General/pretty.ML			\
-  General/print_mode.ML General/properties.ML General/queue.ML		\
-  General/scan.ML General/secure.ML General/seq.ML General/source.ML	\
-  General/stack.ML General/symbol.ML General/symbol_pos.ML		\
-  General/table.ML General/url.ML General/xml.ML General/yxml.ML	\
-  Isar/ROOT.ML Isar/args.ML Isar/attrib.ML Isar/auto_bind.ML		\
-  Isar/calculation.ML Isar/class.ML Isar/class_target.ML Isar/code.ML	\
-  Isar/constdefs.ML Isar/context_rules.ML Isar/element.ML		\
-  Isar/expression.ML Isar/isar_cmd.ML Isar/isar_document.ML		\
-  Isar/isar_syn.ML Isar/local_defs.ML Isar/local_syntax.ML		\
-  Isar/local_theory.ML Isar/locale.ML Isar/method.ML			\
-  Isar/object_logic.ML Isar/obtain.ML Isar/outer_keyword.ML		\
-  Isar/outer_lex.ML Isar/outer_parse.ML Isar/outer_syntax.ML		\
-  Isar/overloading.ML Isar/proof.ML Isar/proof_context.ML		\
-  Isar/proof_display.ML Isar/proof_node.ML Isar/rule_cases.ML		\
-  Isar/rule_insts.ML Isar/skip_proof.ML Isar/spec_parse.ML		\
-  Isar/specification.ML Isar/theory_target.ML Isar/toplevel.ML		\
-  Isar/value_parse.ML ML/ml_antiquote.ML ML/ml_compiler.ML		\
-  ML/ml_compiler_polyml-5.3.ML ML/ml_context.ML ML/ml_env.ML		\
-  ML/ml_lex.ML ML/ml_parse.ML ML/ml_syntax.ML ML/ml_thms.ML		\
-  ML-Systems/install_pp_polyml.ML					\
+  Concurrent/synchronized.ML Concurrent/task_queue.ML General/alist.ML	\
+  General/antiquote.ML General/balanced_tree.ML General/basics.ML	\
+  General/binding.ML General/buffer.ML General/file.ML			\
+  General/graph.ML General/heap.ML General/integer.ML General/lazy.ML	\
+  General/long_name.ML General/markup.ML General/name_space.ML		\
+  General/ord_list.ML General/output.ML General/path.ML			\
+  General/position.ML General/pretty.ML General/print_mode.ML		\
+  General/properties.ML General/queue.ML General/scan.ML		\
+  General/secure.ML General/seq.ML General/source.ML General/stack.ML	\
+  General/symbol.ML General/symbol_pos.ML General/table.ML		\
+  General/url.ML General/xml.ML General/yxml.ML Isar/args.ML		\
+  Isar/attrib.ML Isar/auto_bind.ML Isar/calculation.ML Isar/class.ML	\
+  Isar/class_target.ML Isar/code.ML Isar/constdefs.ML			\
+  Isar/context_rules.ML Isar/element.ML Isar/expression.ML		\
+  Isar/isar_cmd.ML Isar/isar_document.ML Isar/isar_syn.ML		\
+  Isar/local_defs.ML Isar/local_syntax.ML Isar/local_theory.ML		\
+  Isar/locale.ML Isar/method.ML Isar/object_logic.ML Isar/obtain.ML	\
+  Isar/outer_keyword.ML Isar/outer_lex.ML Isar/outer_parse.ML		\
+  Isar/outer_syntax.ML Isar/overloading.ML Isar/proof.ML		\
+  Isar/proof_context.ML Isar/proof_display.ML Isar/proof_node.ML	\
+  Isar/rule_cases.ML Isar/rule_insts.ML Isar/skip_proof.ML		\
+  Isar/spec_parse.ML Isar/specification.ML Isar/theory_target.ML	\
+  Isar/toplevel.ML Isar/value_parse.ML ML/ml_antiquote.ML		\
+  ML/ml_compiler.ML ML/ml_compiler_polyml-5.3.ML ML/ml_context.ML	\
+  ML/ml_env.ML ML/ml_lex.ML ML/ml_parse.ML ML/ml_syntax.ML		\
+  ML/ml_thms.ML ML-Systems/install_pp_polyml.ML				\
   ML-Systems/install_pp_polyml-experimental.ML				\
   ML-Systems/use_context.ML Proof/extraction.ML				\
   Proof/proof_rewrite_rules.ML Proof/proof_syntax.ML			\
-  Proof/proofchecker.ML Proof/reconstruct.ML ProofGeneral/ROOT.ML	\
-  ProofGeneral/pgip.ML ProofGeneral/pgip_input.ML			\
-  ProofGeneral/pgip_isabelle.ML ProofGeneral/pgip_markup.ML		\
-  ProofGeneral/pgip_output.ML ProofGeneral/pgip_parser.ML		\
-  ProofGeneral/pgip_tests.ML ProofGeneral/pgip_types.ML			\
-  ProofGeneral/preferences.ML ProofGeneral/proof_general_emacs.ML	\
+  Proof/proofchecker.ML Proof/reconstruct.ML ProofGeneral/pgip.ML	\
+  ProofGeneral/pgip_input.ML ProofGeneral/pgip_isabelle.ML		\
+  ProofGeneral/pgip_markup.ML ProofGeneral/pgip_output.ML		\
+  ProofGeneral/pgip_parser.ML ProofGeneral/pgip_tests.ML		\
+  ProofGeneral/pgip_types.ML ProofGeneral/preferences.ML		\
+  ProofGeneral/proof_general_emacs.ML					\
   ProofGeneral/proof_general_pgip.ML Pure.thy ROOT.ML Syntax/ast.ML	\
   Syntax/lexicon.ML Syntax/mixfix.ML Syntax/parser.ML			\
   Syntax/printer.ML Syntax/simple_syntax.ML Syntax/syn_ext.ML		\
@@ -85,17 +84,17 @@
   System/isabelle_process.ML System/isar.ML System/session.ML		\
   Thy/html.ML Thy/latex.ML Thy/present.ML Thy/term_style.ML		\
   Thy/thm_deps.ML Thy/thy_header.ML Thy/thy_info.ML Thy/thy_load.ML	\
-  Thy/thy_output.ML Thy/thy_syntax.ML Tools/ROOT.ML			\
-  Tools/find_consts.ML Tools/find_theorems.ML Tools/named_thms.ML	\
-  Tools/xml_syntax.ML assumption.ML axclass.ML codegen.ML config.ML	\
-  conjunction.ML consts.ML context.ML context_position.ML conv.ML	\
-  defs.ML display.ML drule.ML envir.ML facts.ML goal.ML			\
-  interpretation.ML item_net.ML library.ML logic.ML meta_simplifier.ML	\
-  more_thm.ML morphism.ML name.ML net.ML old_goals.ML old_term.ML	\
-  pattern.ML primitive_defs.ML proofterm.ML pure_setup.ML pure_thy.ML	\
-  search.ML sign.ML simplifier.ML sorts.ML subgoal.ML tactic.ML		\
-  tctical.ML term.ML term_ord.ML term_subst.ML theory.ML thm.ML		\
-  type.ML type_infer.ML unify.ML variable.ML
+  Thy/thy_output.ML Thy/thy_syntax.ML Tools/find_consts.ML		\
+  Tools/find_theorems.ML Tools/named_thms.ML Tools/xml_syntax.ML	\
+  assumption.ML axclass.ML codegen.ML config.ML conjunction.ML		\
+  consts.ML context.ML context_position.ML conv.ML defs.ML display.ML	\
+  drule.ML envir.ML facts.ML goal.ML interpretation.ML item_net.ML	\
+  library.ML logic.ML meta_simplifier.ML more_thm.ML morphism.ML	\
+  name.ML net.ML old_goals.ML old_term.ML pattern.ML primitive_defs.ML	\
+  proofterm.ML pure_setup.ML pure_thy.ML search.ML sign.ML		\
+  simplifier.ML sorts.ML subgoal.ML tactic.ML tctical.ML term.ML	\
+  term_ord.ML term_subst.ML theory.ML thm.ML type.ML type_infer.ML	\
+  unify.ML variable.ML
 	@./mk
 
 
--- a/src/Pure/Isar/ROOT.ML	Thu Jun 04 17:31:39 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-(*  Title:      Pure/Isar/ROOT.ML
-    Author:     Markus Wenzel, TU Muenchen
-
-Isar -- Intelligible Semi-Automated Reasoning for Isabelle.
-*)
-
-(*proof context*)
-use "object_logic.ML";
-use "rule_cases.ML";
-use "auto_bind.ML";
-use "local_syntax.ML";
-use "proof_context.ML";
-use "local_defs.ML";
-
-(*proof term operations*)
-use "../Proof/reconstruct.ML";
-use "../Proof/proof_syntax.ML";
-use "../Proof/proof_rewrite_rules.ML";
-use "../Proof/proofchecker.ML";
-
-(*outer syntax*)
-use "outer_lex.ML";
-use "outer_keyword.ML";
-use "outer_parse.ML";
-use "value_parse.ML";
-use "args.ML";
-
-(*ML support*)
-use "../ML/ml_syntax.ML";
-use "../ML/ml_env.ML";
-if ml_system = "polyml-experimental"
-then use "../ML/ml_compiler_polyml-5.3.ML"
-else use "../ML/ml_compiler.ML";
-use "../ML/ml_context.ML";
-
-(*theory sources*)
-use "../Thy/thy_header.ML";
-use "../Thy/thy_load.ML";
-use "../Thy/html.ML";
-use "../Thy/latex.ML";
-use "../Thy/present.ML";
-
-(*basic proof engine*)
-use "proof_display.ML";
-use "attrib.ML";
-use "../ML/ml_antiquote.ML";
-use "context_rules.ML";
-use "skip_proof.ML";
-use "method.ML";
-use "proof.ML";
-use "../ML/ml_thms.ML";
-use "element.ML";
-
-(*derived theory and proof elements*)
-use "calculation.ML";
-use "obtain.ML";
-
-(*local theories and targets*)
-use "local_theory.ML";
-use "overloading.ML";
-use "locale.ML";
-use "class_target.ML";
-use "theory_target.ML";
-use "expression.ML";
-use "class.ML";
-
-(*complex proof machineries*)
-use "../simplifier.ML";
-
-(*executable theory content*)
-use "code.ML";
-
-(*specifications*)
-use "spec_parse.ML";
-use "specification.ML";
-use "constdefs.ML";
-
-(*toplevel transactions*)
-use "proof_node.ML";
-use "toplevel.ML";
-
-(*theory syntax*)
-use "../Thy/term_style.ML";
-use "../Thy/thy_output.ML";
-use "../Thy/thy_syntax.ML";
-use "../old_goals.ML";
-use "outer_syntax.ML";
-use "../Thy/thy_info.ML";
-use "isar_document.ML";
-
-(*theory and proof operations*)
-use "rule_insts.ML";
-use "../Thy/thm_deps.ML";
-use "isar_cmd.ML";
-use "isar_syn.ML";
--- a/src/Pure/ProofGeneral/ROOT.ML	Thu Jun 04 17:31:39 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-(*  Title:      Pure/ProofGeneral/ROOT.ML
-    Author:     David Aspinall
-
-Proof General interface for Isabelle, both the traditional Emacs version,
-and PGIP experiments.
-*)
-
-use "pgip_types.ML";
-use "pgml.ML";
-use "pgip_markup.ML";
-use "pgip_input.ML";
-use "pgip_output.ML";
-use "pgip.ML";
-
-use "pgip_isabelle.ML";
-
-use "preferences.ML";
-
-use "pgip_parser.ML";
-
-use "pgip_tests.ML";
-
-use "proof_general_pgip.ML";
-use "proof_general_emacs.ML";
-
--- a/src/Pure/ROOT.ML	Thu Jun 04 17:31:39 2009 +0200
+++ b/src/Pure/ROOT.ML	Thu Jun 04 18:00:47 2009 +0200
@@ -1,4 +1,4 @@
-(* Pure Isabelle *)
+(** Pure Isabelle **)
 
 structure Distribution =     (*filled-in by makedist*)
 struct
@@ -12,14 +12,60 @@
 
 print_depth 10;
 
-(*basic tools*)
+
+(* library of general tools *)
+
 use "General/basics.ML";
 use "library.ML";
+use "General/print_mode.ML";
+use "General/alist.ML";
+use "General/table.ML";
+use "General/output.ML";
+use "General/properties.ML";
+use "General/markup.ML";
+use "General/scan.ML";
+use "General/source.ML";
+use "General/symbol.ML";
+use "General/seq.ML";
+use "General/position.ML";
+use "General/symbol_pos.ML";
+use "General/antiquote.ML";
+use "ML/ml_lex.ML";
+use "ML/ml_parse.ML";
+use "General/secure.ML";
+(*----- basic ML bootstrap finished -----*)
+use "General/integer.ML";
+use "General/stack.ML";
+use "General/queue.ML";
+use "General/heap.ML";
+use "General/ord_list.ML";
+use "General/balanced_tree.ML";
+use "General/graph.ML";
+use "General/long_name.ML";
+use "General/binding.ML";
+use "General/name_space.ML";
+use "General/lazy.ML";
+use "General/path.ML";
+use "General/url.ML";
+use "General/buffer.ML";
+use "General/file.ML";
+use "General/xml.ML";
+use "General/yxml.ML";
 
-cd "General"; use "ROOT.ML"; cd "..";
-cd "Concurrent"; use "ROOT.ML"; cd "..";
+
+(* concurrency within the ML runtime *)
 
-(*fundamental structures*)
+use "Concurrent/simple_thread.ML";
+use "Concurrent/synchronized.ML";
+use "Concurrent/mailbox.ML";
+use "Concurrent/task_queue.ML";
+use "Concurrent/future.ML";
+use "Concurrent/par_list.ML";
+if Multithreading.available then () else use "Concurrent/par_list_dummy.ML";
+
+
+(* fundamental structures *)
+
 use "name.ML";
 use "term.ML";
 use "term_ord.ML";
@@ -35,7 +81,9 @@
 use "type.ML";
 use "config.ML";
 
-(*inner syntax module*)
+
+(* inner syntax *)
+
 use "Syntax/ast.ML";
 use "Syntax/syn_ext.ML";
 use "Syntax/parser.ML";
@@ -47,7 +95,9 @@
 
 use "type_infer.ML";
 
-(*core of tactical proof system*)
+
+(* core of tactical proof system *)
+
 use "net.ML";
 use "item_net.ML";
 use "envir.ML";
@@ -78,24 +128,142 @@
 use "goal.ML";
 use "axclass.ML";
 
-(*main Isar stuff*)
-cd "Isar"; use "ROOT.ML"; cd "..";
+
+(* Isar -- Intelligible Semi-Automated Reasoning *)
+
+(*proof context*)
+use "Isar/object_logic.ML";
+use "Isar/rule_cases.ML";
+use "Isar/auto_bind.ML";
+use "Isar/local_syntax.ML";
+use "Isar/proof_context.ML";
+use "Isar/local_defs.ML";
+
+(*proof term operations*)
+use "Proof/reconstruct.ML";
+use "Proof/proof_syntax.ML";
+use "Proof/proof_rewrite_rules.ML";
+use "Proof/proofchecker.ML";
+
+(*outer syntax*)
+use "Isar/outer_lex.ML";
+use "Isar/outer_keyword.ML";
+use "Isar/outer_parse.ML";
+use "Isar/value_parse.ML";
+use "Isar/args.ML";
+
+(*ML support*)
+use "ML/ml_syntax.ML";
+use "ML/ml_env.ML";
+if ml_system = "polyml-experimental"
+then use "ML/ml_compiler_polyml-5.3.ML"
+else use "ML/ml_compiler.ML";
+use "ML/ml_context.ML";
+
+(*theory sources*)
+use "Thy/thy_header.ML";
+use "Thy/thy_load.ML";
+use "Thy/html.ML";
+use "Thy/latex.ML";
+use "Thy/present.ML";
+
+(*basic proof engine*)
+use "Isar/proof_display.ML";
+use "Isar/attrib.ML";
+use "ML/ml_antiquote.ML";
+use "Isar/context_rules.ML";
+use "Isar/skip_proof.ML";
+use "Isar/method.ML";
+use "Isar/proof.ML";
+use "ML/ml_thms.ML";
+use "Isar/element.ML";
+
+(*derived theory and proof elements*)
+use "Isar/calculation.ML";
+use "Isar/obtain.ML";
+
+(*local theories and targets*)
+use "Isar/local_theory.ML";
+use "Isar/overloading.ML";
+use "Isar/locale.ML";
+use "Isar/class_target.ML";
+use "Isar/theory_target.ML";
+use "Isar/expression.ML";
+use "Isar/class.ML";
+
+use "simplifier.ML";
+
+(*executable theory content*)
+use "Isar/code.ML";
+
+(*specifications*)
+use "Isar/spec_parse.ML";
+use "Isar/specification.ML";
+use "Isar/constdefs.ML";
+
+(*toplevel transactions*)
+use "Isar/proof_node.ML";
+use "Isar/toplevel.ML";
+
+(*theory syntax*)
+use "Thy/term_style.ML";
+use "Thy/thy_output.ML";
+use "Thy/thy_syntax.ML";
+use "old_goals.ML";
+use "Isar/outer_syntax.ML";
+use "Thy/thy_info.ML";
+use "Isar/isar_document.ML";
+
+(*theory and proof operations*)
+use "Isar/rule_insts.ML";
+use "Thy/thm_deps.ML";
+use "Isar/isar_cmd.ML";
+use "Isar/isar_syn.ML";
+
 use "subgoal.ML";
 
 use "Proof/extraction.ML";
 
-(*Isabelle/Isar system*)
+
+(* Isabelle/Isar system *)
+
 use "System/session.ML";
 use "System/isar.ML";
 use "System/isabelle_process.ML";
 
-(*additional tools*)
-cd "Tools"; use "ROOT.ML"; cd "..";
+
+(* miscellaneous tools and packages for Pure Isabelle *)
+
+use "Tools/named_thms.ML";
+
+use "Tools/xml_syntax.ML";
+
+use "Tools/find_theorems.ML";
+use "Tools/find_consts.ML";
 
 use "codegen.ML";
 
-(*configuration for Proof General*)
-cd "ProofGeneral"; use "ROOT.ML"; cd "..";
+
+(* configuration for Proof General *)
+
+use "ProofGeneral/pgip_types.ML";
+use "ProofGeneral/pgml.ML";
+use "ProofGeneral/pgip_markup.ML";
+use "ProofGeneral/pgip_input.ML";
+use "ProofGeneral/pgip_output.ML";
+use "ProofGeneral/pgip.ML";
+
+use "ProofGeneral/pgip_isabelle.ML";
+
+use "ProofGeneral/preferences.ML";
+
+use "ProofGeneral/pgip_parser.ML";
+
+use "ProofGeneral/pgip_tests.ML";
+
+use "ProofGeneral/proof_general_pgip.ML";
+use "ProofGeneral/proof_general_emacs.ML";
+
 
 use "pure_setup.ML";
 
--- a/src/Pure/Tools/ROOT.ML	Thu Jun 04 17:31:39 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-(* Miscellaneous tools and packages for Pure Isabelle *)
-
-use "named_thms.ML";
-
-use "xml_syntax.ML";
-
-use "find_theorems.ML";
-use "find_consts.ML";
-