-- Type-level environment. -- This code is inspired by -- http://okmij.org/ftp/Computation/staging/metafx.pdf which -- represents typed staged code in an unstaged language. -- Representing future stage binding using environment passing. ex1 = \() -> 1 -- <1> ex2 = \x -> x -- -- Splicing quoted code. <\x y -> ~ + y * y> -- The quotation lives in an environment with 2 variables. ex3 = \() -> \x y -> (\(x,y) -> x * x) (x,y) + y * y