1 * WN: eliminate "handle _ => ..." (essential for PIDE interaction):
2 - either use \<^try>CARTOUCHE / \<^can>CARTOUCHE antiquotation
3 - or more basic try/can combinators;
4 - or more direct ML of intention;
6 * reconsider use of Thy_Info.get_theory: only works with batch-build, not within PIDE session;
7 + consider in Build_Thydata: Thy_Hierarchy.insert_errpatIDs
8 + consider in Biegelinie.thy: KEStore_Elems.add_thes,
10 * MW: ML antiqutation @{rule_thm NAME} to produce (Rule.Thm ("NAME", ThmC.numerals_to_Free "NAME"));
12 * MW: more concise "setup KEStore_Elems.add_rlss" etc.;
14 * MW: check uses of Unsynchronized.ref vs. Synchronized.var;
16 * MW: proper formal name space for rule set, model patterns, methods;
19 * MW: clarify/eliminate Isabelle/Scala add-ons (presently unused)
21 diff -r /home/makarius/isabelle/repos-Isabelle2021/src/Pure/build-jars ./src/Pure/build-jars
23 > src/Tools/isac/BridgeJEdit/isac.scala
25 diff -r /home/makarius/isabelle/repos-Isabelle2021/src/Pure/Tools/scala_project.scala ./src/Pure/Tools/scala_project.scala
27 > "src/Tools/isac/etc" -> Path.explode("isabelle.isac"),
30 * WN: more direct logical foundations wrt. Isabelle/HOL, eliminate many axiomatizations
31 - quite often "axiomatization ..." can be turned into "lemma ... by auto"
33 - sometimes this requires to use more specific types / type classes;
34 - sometimes this requires to use proper definitional mechanisms (e.g. 'primrec', 'fun');
35 - a few "hard" cases will remain, to be reconsidered eventually (e.g. differentiation);
36 - abbreviation real_powr :: "real \<Rightarrow> real \<Rightarrow> real" (infixr "\<up>" 80)
37 where "x \<up> a \<equiv> x powr a"
39 * WN: eliminate ThmC.numerals_to_Free, use existing Isabelle/HOL representation
40 - clarify role of type "real" vs. "float" (see theory "HOL-Library.Float");
42 * WN: investigate errors further which popped up in rewriting when replacing ^^^ by \<up> in ac7426ab0491.
43 The errors occur with examples in test/../poly.sml, which do not work properly in isabisac20 either.
45 * WN: cleanup remaining ^^^ in comments (but sometimes it is just ASCII art);
47 * WN: simplify const names like "is'_expanded": no need to imitate the escape of mixfix syntax;
49 * WN: proper statement for rcancel_den ("not" is a free variable!?!!):
50 rcancel_den: "not(a=0) ==> a * (b / a) = b" and
52 * WN: "fun pr_ord" is not required if used with @{make_string}, @{print}, @{print tracing};
54 * WN: use File.read / File.write instead of low-level TextIO operations (not portable);
55 * WN: use Path.T (e.g. via Path.explode) for portability;
56 * WN: refrain from using global /tmp directory
57 (e.g. see Isabelle_System.create_tmp_path / with_tmp_file / with_tmp_dir);