src/Pure/term.ML
changeset 49674 dbadb4d03cbc
parent 48263 94a7dc2276e4
child 50242 56b9c792a98b
equal deleted inserted replaced
49673:2a088cff1e7b 49674:dbadb4d03cbc
   465         val (u', Ts'') = replace_types u Ts';
   465         val (u', Ts'') = replace_types u Ts';
   466       in (t' $ u', Ts'') end;
   466       in (t' $ u', Ts'') end;
   467 
   467 
   468 fun burrow_types f ts =
   468 fun burrow_types f ts =
   469   let
   469   let
   470     val Ts = rev (fold (fold_types cons) ts []);
   470     val Ts = rev ((fold o fold_types) cons ts []);
   471     val Ts' = f Ts;
   471     val Ts' = f Ts;
   472     val (ts', []) = fold_map replace_types ts Ts';
   472     val (ts', []) = fold_map replace_types ts Ts';
   473   in ts' end;
   473   in ts' end;
   474 
   474 
   475 (*collect variables*)
   475 (*collect variables*)