We use as our source language Moggi's computational lambda calculus, which is an extension of Plotkin's call-by-value calculus.
c], of Moggi , which extends the call-by-value lambda calculus, [Lambda.
c], actually has computational content, and therefore might serve as an improvement over Plotkin's call-by-value lambda calculus [Lambda.
Plotkin  showed, among other things, that the call-by-value CPS translation was sound but not complete, in that it preserves but does not reflect equalities.
A baker's dozen of years later, Moggi  showed, among other things, that the call-by-value monad translation is both sound and complete, in that it preserves and reflects equalities.
Let us review the traditional translation from the call-by-value calculus into the monad calculus, and see why it fails to be a reflection.
while if L is not a value then the equivalence does not hold in the call-by-value calculus.
This provides an analogue of Plotkin's indifference property, which states that call-by-value and call-by-name evaluation yield the same result for terms in CPS.
which is not provable in the call-by-value calculus if L is not a value.
1995] were concerned with a similar problem: finding translations between call-by-value calculi and linear calculi that are both sound and complete.
v) rule to the call-by-value calculus, and the ([Eta].
ml] via the traditional call-by-value monad translation, so does [Lambda.