src/Tools/isac/Frontend/interface.sml
changeset 59262 0ddb3f300cce
parent 59261 61a1bcd51e0e
child 59263 0fde9446eda2
     1.1 --- a/src/Tools/isac/Frontend/interface.sml	Tue Nov 22 10:42:21 2016 +0100
     1.2 +++ b/src/Tools/isac/Frontend/interface.sml	Thu Nov 24 14:33:42 2016 +0100
     1.3 @@ -31,7 +31,7 @@
     1.4      val Iterator : calcID -> XML.tree
     1.5      val IteratorTEST : calcID -> iterID
     1.6      val modelProblem : calcID -> XML.tree
     1.7 -    val modifyCalcHead : calcID -> icalhd -> XML.tree
     1.8 +    val modifyCalcHead : calcID -> Inform.icalhd -> XML.tree
     1.9      val moveActiveCalcHead : calcID -> XML.tree
    1.10      val moveActiveDown : calcID -> XML.tree
    1.11      val moveActiveFormula : calcID -> pos' -> XML.tree
    1.12 @@ -70,13 +70,13 @@
    1.13     encode "^" ---> "^^^"; see Knowledge/Atools.thy;
    1.14     called for each cterm', icalhd, fmz in this interface;
    1.15     + see "fun en/decode" in xmlsrc/mathml.sml *)
    1.16 -fun encode_imodel (imodel:imodel) =
    1.17 -  let fun enc (Given ifos) = Given (map encode ifos)
    1.18 -	| enc (Find ifos) = Find (map encode ifos)
    1.19 -	| enc (Relate ifos) = Relate (map encode ifos)
    1.20 -  in map enc imodel:imodel end;
    1.21 -fun encode_icalhd ((pos', headl, imodel, pos_, spec):icalhd) =
    1.22 -  (pos', encode headl, encode_imodel imodel, pos_, spec):icalhd;
    1.23 +fun encode_imodel (imodel : Inform.imodel) =
    1.24 +  let fun enc (Inform.Given ifos) = Inform.Given (map encode ifos)
    1.25 +	| enc (Inform.Find ifos) = Inform.Find (map encode ifos)
    1.26 +	| enc (Inform.Relate ifos) = Inform.Relate (map encode ifos)
    1.27 +  in map enc imodel:Inform.imodel end;
    1.28 +fun encode_icalhd ((pos', headl, imodel, pos_, spec) : Inform.icalhd) =
    1.29 +  (pos', encode headl, encode_imodel imodel, pos_, spec) : Inform.icalhd;
    1.30  fun encode_fmz ((ifos, spec) : fmz) = (map encode ifos, spec) : fmz;
    1.31  
    1.32  
    1.33 @@ -162,7 +162,7 @@
    1.34    	  let
    1.35    	    val _= upd_tacis cI tacis
    1.36    	    val (tac, _, _) = last_elem tacis
    1.37 -  	  in fetchproposedtacticOK2xml cI tac (fetchErrorpatterns tac) end
    1.38 +  	  in fetchproposedtacticOK2xml cI tac (Inform.fetchErrorpatterns tac) end
    1.39  	| ("helpless", _) => fetchproposedtacticERROR2xml cI "helpless"
    1.40  	| ("no-fmz-spec", _) => fetchproposedtacticERROR2xml cI "no-fmz-spec"
    1.41  	| ("end-of-calculation", _) =>
    1.42 @@ -281,10 +281,10 @@
    1.43    end)
    1.44      handle _ => sysERROR2xml cI "error in kernel 8";
    1.45  
    1.46 -fun modifyCalcHead cI (ichd as ((p,_),_,_,_,_):icalhd) =
    1.47 +fun modifyCalcHead cI (ichd as ((p,_),_,_,_,_) : Inform.icalhd) =
    1.48    (let 
    1.49      val ((pt,_),_) = get_calc cI
    1.50 -    val (pt, chd as (_,p_,_,_,_,_)) = input_icalhd pt ichd
    1.51 +    val (pt, chd as (_,p_,_,_,_,_)) = Inform.input_icalhd pt ichd
    1.52    in (upd_calc cI ((pt, (p,p_)), []); modifycalcheadOK2xml cI chd) end)
    1.53      handle _ => sysERROR2xml cI "error in kernel 9";
    1.54  
    1.55 @@ -439,7 +439,7 @@
    1.56    in
    1.57      case Math_Engine.step pos cs of
    1.58  	    ("ok", cs') =>
    1.59 -	      (case inform cs' (encode ifo) of
    1.60 +	      (case Inform.inform cs' (encode ifo) of
    1.61  	        ("ok", (_(*use in DG !!!*), c, ptp as (_, p))) =>
    1.62  	          (upd_calc cI (ptp, []); upd_ipos cI 1 p;
    1.63  	          appendformulaOK2xml cI pos (if null c then pos else last_elem c) p)
    1.64 @@ -459,7 +459,7 @@
    1.65      val ((pt, _), _) = get_calc cI
    1.66      val p = get_pos cI 1
    1.67    in
    1.68 -    case inform (([], [], (pt, p)): calcstate') (encode ifo) of
    1.69 +    case Inform.inform (([], [], (pt, p)): calcstate') (encode ifo) of
    1.70  	    ("ok", (_(*tacs used for DG ?*), c, ptp' as (_, p'))) =>
    1.71  	      let
    1.72  	        val unc = if null (fst p) then p else move_up [] pt p
    1.73 @@ -653,7 +653,7 @@
    1.74    let
    1.75      val ((pt, _), _) = get_calc cI
    1.76  		val pos = get_pos cI 1;
    1.77 -		val fillpats = find_fillpatterns (pt, pos) errpatID
    1.78 +		val fillpats = Inform.find_fillpatterns (pt, pos) errpatID
    1.79    in findFillpatterns2xml cI (map #1 fillpats) end
    1.80  
    1.81  (* given a fillpatID propose a fillform to the learner on the worksheet;
    1.82 @@ -666,7 +666,7 @@
    1.83    let
    1.84      val ((pt, _), _) = get_calc cI
    1.85  		val pos = get_pos cI 1
    1.86 -    val fillforms = find_fillpatterns (pt, pos) errpatID
    1.87 +    val fillforms = Inform.find_fillpatterns (pt, pos) errpatID
    1.88    in
    1.89      case filter ((curry op = fillpatID) o
    1.90          (#1: (fillpatID * term * thm * (subs option) -> fillpatID))) fillforms of
    1.91 @@ -690,7 +690,7 @@
    1.92      val ((pt, _), _) = get_calc cI
    1.93      val pos = get_pos cI 1;
    1.94    in
    1.95 -    case is_exactly_equal (pt, pos) ifo of
    1.96 +    case Inform.is_exactly_equal (pt, pos) ifo of
    1.97        ("ok", tac) =>
    1.98          let
    1.99          in (* cp from applyTactic *)