您好,我有以下定义类型,并尝试评估函数作为示例:
let evn =[("z1",Int 0);("x",Int 1);("y",Int 2);("z",Int 3);("z1",Int 4)];;val evn : (string * Nano.value) list = [("z1", Int 0); ("x", Int 1); ("y", Int 2); ("z", Int
目前,我通过使用环境(IDE *值)列表和eval (evn * exp)实现了一个具有静态作用域的版本,并在语句中传递evn。of bool and env = (ide * value) listlet rec eval (evn,e) = match e with | Var x -> lookup (x,evn)
| BOp (a,b,c) -&