Functional Programming, Haskell, Computer Science, Lambda Calculus, Algorithms.
now complete. Here is the whole thing:  term = λx. term -- function | (term term) -- application | x -- variable | x = term -- definition | term & term -- superposition Lambda application: ((λx. body) arg) ~> body x <~ arg Superposed application: ((f0 & f1) x) ~> f0 K & f1 K <~ K = x Lambda copy: