;;; Implementing environments as functions from names to values. (load "option.hfl") (load "list-utils.hfl") (def env-empty (fun (name) none)) (def (env-bind name val env) (fun (n) (if (sym= n name) val (env n)))) (def (env-bind-all names vals env) (foldr2 env-bind env names vals)) (def (env-lookup name env) (env name))