ADTs and strictness

1993-10-05 Thread Simon L Peyton Jones
(This message assumes we head for the strictness-annotation-on-constructor-arg solution. I'll respond to Phil's comments in my next msg.) The problem with polymorphic strictness ~~~ John asks what the problem is with strict constructor args. As Lennart and

Re: ADTs and strictness

1993-10-05 Thread Gerald Ostheimer
So, as Lennart says, if we allow constructors to be strict in functions then we have to change the semantics to distinguish _|_ from (\x - _|_). I, for one, am deeply reluctant to do so; I certainly have no good handle on the consequences of doing so. Does anyone else? I thought this

Re: ADTs and strictness

1993-10-05 Thread wadler
Gerald Ostheimer notes that in Abramsky and Ong's lazy lambda calculus that (\x - bottom) differs from bottom. That's correct. But just because they call it `lazy' doesn't mean that it really is the essence of laziness. I prefer to use the more neutral name `lifted lambda calculus' for their

ADTs and strictness

1993-10-05 Thread Sergio Antoy
I have been following this discussion with interest and I'd like some clarification. Wadler writes: But just because they call it `lazy' doesn't mean that it really is the essence of laziness. What is really been called `lazy' and how is the `essence of laziness' defined? Also, forgive my