equal
deleted
inserted
replaced
94 | ap_split T T3 u = u; |
94 | ap_split T T3 u = u; |
95 |
95 |
96 (*Makes a nested tuple from a list, following the product type structure*) |
96 (*Makes a nested tuple from a list, following the product type structure*) |
97 fun mk_tuple pair (Type("*", [T1,T2])) tms = |
97 fun mk_tuple pair (Type("*", [T1,T2])) tms = |
98 pair $ (mk_tuple pair T1 tms) |
98 pair $ (mk_tuple pair T1 tms) |
99 $ (mk_tuple pair T2 (drop (length (factors T1), tms))) |
99 $ (mk_tuple pair T2 (Library.drop (length (factors T1), tms))) |
100 | mk_tuple pair T (t::_) = t; |
100 | mk_tuple pair T (t::_) = t; |
101 |
101 |
102 (*Attempts to remove occurrences of split, and pair-valued parameters*) |
102 (*Attempts to remove occurrences of split, and pair-valued parameters*) |
103 val remove_split = rewrite_rule [Pr.split_eq]; |
103 val remove_split = rewrite_rule [Pr.split_eq]; |
104 |
104 |