equal
deleted
inserted
replaced
289 |
289 |
290 (** evaluation **) |
290 (** evaluation **) |
291 |
291 |
292 (* term evaluation *) |
292 (* term evaluation *) |
293 |
293 |
294 fun eval_term ctxt gr deps ((vs, ty), t) = |
294 fun eval_term ctxt gr deps ((vs, ty) : typscheme, t) = |
295 let |
295 let |
296 val frees = Code_Thingol.fold_unbound_varnames (insert (op =)) t [] |
296 val frees = Code_Thingol.fold_unbound_varnames (insert (op =)) t [] |
297 val frees' = map (fn v => Free (v, [])) frees; |
297 val frees' = map (fn v => Free (v, [])) frees; |
298 val dict_frees = maps (fn (v, sort) => map_index (curry DFree v o fst) sort) vs; |
298 val dict_frees = maps (fn (v, sort) => map_index (curry DFree v o fst) sort) vs; |
299 in |
299 in |