src/Tools/isac/calcelems.sml
changeset 55453 549001f2401d
parent 55451 1395832f4f53
child 55456 467ccd9ef7d6
     1.1 --- a/src/Tools/isac/calcelems.sml	Thu Jun 19 08:12:08 2014 +0200
     1.2 +++ b/src/Tools/isac/calcelems.sml	Thu Jun 19 08:15:50 2014 +0200
     1.3 @@ -879,23 +879,22 @@
     1.4  		      "consider setting 'check_guhs_unique := false'")
     1.5      else ();
     1.6  
     1.7 -fun insrt _ pbt [k] [] = [Ptyp (k, [pbt],[])]
     1.8 -  | insrt d pbt [k] ((Ptyp (k', [p], ps))::pys) =
     1.9 -((*tracing("### insert 1: ks = "^(strs2str [k])^"    k'= "^k');*)
    1.10 -     if k=k'
    1.11 -     then ((Ptyp (k', [pbt], ps))::pys)
    1.12 -     else (*ev.newly added pbt is free _only_ with 'last_elem pblID'*)
    1.13 -	 ((Ptyp (k', [p], ps))::(insrt d pbt [k] pys))
    1.14 -)			 
    1.15 +fun insrt _ pbt [k] [] = [Ptyp (k, [pbt], [])]
    1.16 +  | insrt d pbt [k] ((Ptyp (k', [p], ps)) :: pys) =
    1.17 +      ((*writeln ("### insert 1: ks = " ^ strs2str [k] ^ "    k'= " ^ k');*)
    1.18 +      if k = k'
    1.19 +      then ((Ptyp (k', [pbt], ps)) :: pys)
    1.20 +      else  ((Ptyp (k', [p], ps)) :: (insrt d pbt [k] pys))
    1.21 +      )			 
    1.22    | insrt d pbt (k::ks) ((Ptyp (k', [p], ps))::pys) =
    1.23 -((*tracing("### insert 2: ks = "^(strs2str (k::ks))^"    k'= "^k');*)
    1.24 -     if k=k'
    1.25 -     then ((Ptyp (k', [p], insrt d pbt ks ps))::pys)
    1.26 -     else 
    1.27 -	 if length pys = 0
    1.28 -	 then error ("insert: not found "^(strs2str (d:pblID)))
    1.29 -	 else ((Ptyp (k', [p], ps))::(insrt d pbt (k::ks) pys))
    1.30 -);
    1.31 +      ((*writeln ("### insert 2: ks = "^(strs2str (k::ks))^"    k'= "^k');*)
    1.32 +      if k = k'
    1.33 +      then ((Ptyp (k', [p], insrt d pbt ks ps)) :: pys)
    1.34 +      else 
    1.35 +        if length pys = 0
    1.36 +        then error ("insert: not found " ^ (strs2str (d : pblID)))
    1.37 +        else ((Ptyp (k', [p], ps)) :: (insrt d pbt (k :: ks) pys))
    1.38 +      );
    1.39  
    1.40  fun update_ptyps ID _ _ [] =
    1.41      error ("update_ptyps: " ^ strs2str' ID ^ " does not exist")