bgamari - 2019-07-28 Imagine that I show you a fragment of a Haskell program: and pose the question: “what are the variables in this program?” You would likely respond x and y. Now I ask you: what is the difference between those two variables? One answer is that x is bound by the fragment whereas y comes from the fragment’s surrounding context. Variables like y are known as free variables. When co