equal
deleted
inserted
replaced
263 | _ => raise TERM (funerr, [f $ u])) |
263 | _ => raise TERM (funerr, [f $ u])) |
264 | _ => raise TERM (funerr, [f $ u])) |
264 | _ => raise TERM (funerr, [f $ u])) |
265 | fast Ts (Const (_, T)) = T |
265 | fast Ts (Const (_, T)) = T |
266 | fast Ts (Free (_, T)) = T |
266 | fast Ts (Free (_, T)) = T |
267 | fast Ts (Bound i) = |
267 | fast Ts (Bound i) = |
268 (List.nth (Ts, i) |
268 (nth Ts i |
269 handle Subscript => raise TERM ("fastype: Bound", [Bound i])) |
269 handle Subscript => raise TERM ("fastype: Bound", [Bound i])) |
270 | fast Ts (Var (_, T)) = T |
270 | fast Ts (Var (_, T)) = T |
271 | fast Ts (Abs (_, T, u)) = T --> fast (T :: Ts) u |
271 | fast Ts (Abs (_, T, u)) = T --> fast (T :: Ts) u |
272 in fast end; |
272 in fast end; |
273 |
273 |