Stefan pushed to branch master at Stefan / Typer
Commits: 90f98f10 by Stefan Monnier at 2018-09-17T19:29:27Z * src/eval.ml: Add trivial comment
- - - - -
1 changed file:
- src/eval.ml
Changes:
===================================== src/eval.ml ===================================== @@ -310,13 +310,13 @@ let rec _eval lxp (ctx : Env.runtime_env) (trace : eval_debug_info): (value_type
(* Nodes *) (* ---------------- *) - | Let(_, decls, inst) -> - let nctx = _eval_decls decls ctx trace in + | Let(_, decls, inst) + -> let nctx = _eval_decls decls ctx trace in eval inst nctx
(* Function call *) - | Call (f, args) -> - eval_call (elexp_location f) f trace + | Call (f, args) + -> eval_call (elexp_location f) f trace (_eval f ctx trace) (List.map (fun e -> _eval e ctx trace) args)
@@ -332,6 +332,10 @@ let rec _eval lxp (ctx : Env.runtime_env) (trace : eval_debug_info): (value_type * or somehow recover a lexp-ctx from the runtime-ctx (maybe * with extra info that `Type` could carry), * or find another trick. + * + * We could replace erasable arguments (like t above) with a Metavar, + * but the other issue of converting Values back to Lexps remains! + * * Hence, the `e` carried by `Vtype` is just indicative and not * something we can use. *) | Type e -> Vtype e
View it on GitLab: https://gitlab.com/monnier/typer/commit/90f98f1062c2db34c6815fbb8885ec364be3...