Translator

Lambda calculus:

Klambda:

Explanation

Klambda is a compact language for representing untyped higher-order functions. It only differs in two ways from the standard lambda calculus language:

Issues of "alpha-equivalence" (variable renaming) and "capture-avoiding" (preventing variable name collisions during substitution) don't exist in klambda; identical structures always have identical representations regardless of where they appear, and you can safely copy/move subexpressions around without messing things up.

I think these properties (conciseness and context-insensitivity/representation uniqueness) make klambda appealing, even though it's not very human-readable.