#lang plait
eval({let1 {x E1} E2},sc) =
eval(E2,extend(x,eval(E1,sc),sc))
eval({E1 E2},sc)
= eval(Ef,extend(x,eval(E2,sc),sc))
if eval(E1,sc) = {lam x Ef}
= error! otherwise
#lang plait
eval({let1 {x E1} E2},sc) =
eval(E2,extend(x,eval(E1,sc),sc))
eval({E1 E2},sc)
= eval(Ef,extend(x,eval(E2,sc),sc))
if eval(E1,sc) = {lam x Ef}
= error! otherwise