[Haskell-cafe] Finally tagless - stuck with implementation of "lam"

Robert Atkey bob.atkey at ed.ac.uk
Wed Oct 7 15:37:29 EDT 2009

On Mon, 2009-10-05 at 22:42 +0100, Robert Atkey wrote:

> There is a difference in the syntax between CBN and CBV that is not
> always obvious from the usual paper presentations. There is a split
> between pieces of syntax that are "values" and those that are
> "computations". Values do not have side-effects, while computations may.
> In this presentation, I have chosen that the only values are variables,
> while everything else is a computation.

I should correct this: it is possible to give the CBV semantics to the
original syntax definition (with the single parameter in the type
class), you just have to move the "return" of the monad into the "lam"
case. I implied in the paragraph above that the split between values and
computations was required for CBV case; this is not true.


The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

More information about the Haskell-Cafe mailing list