On Mon, Jun 11, 2012 at 7:57 AM, Per Bothner
<per@x> wrote:
In Kawa:
Implicit forcing happens for:
...
I agree that making a promise with an immediate value could evaluate to that immediate instead of creating a promise. But in general I think that a promise have to be opaque until forced and that it is worth to have a disjoint type for promises and to be able to check if an object is a promise or not. IMHO for any other usage auto-forcing in primitives strongly sounds as being in the "it seems a good idea at that time" department: auto-forcing means that primitives have to check if something is a promise and forcing it in that case, adding this check add a cost and it has deep impact on the language semantics.