equal
deleted
inserted
replaced
197 and args_of_list (T :: Ts) i is = args_of T (i :: is) #> args_of_list Ts (i + 1) is |
197 and args_of_list (T :: Ts) i is = args_of T (i :: is) #> args_of_list Ts (i + 1) is |
198 | args_of_list [] _ _ = I; |
198 | args_of_list [] _ _ = I; |
199 |
199 |
200 fun subscript (Type (_, Ts)) (i :: is) = subscript (nth Ts i) is |
200 fun subscript (Type (_, Ts)) (i :: is) = subscript (nth Ts i) is |
201 | subscript T [] = T |
201 | subscript T [] = T |
202 | subscript T _ = raise Subscript; |
202 | subscript _ _ = raise Subscript; |
203 |
203 |
204 in |
204 in |
205 |
205 |
206 fun typargs_of T = map #2 (rev (args_of T [] [])); |
206 fun typargs_of T = map #2 (rev (args_of T [] [])); |
207 |
207 |