src/Tools/nbe.ML
changeset 28296 9efd7d4fa2f2
parent 28290 4cc2b6046258
child 28337 93964076e7b8
equal deleted inserted replaced
28295:3fb78d2068b0 28296:9efd7d4fa2f2
   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