If all tuples in Haskell were unlifted then () would not be such a special case. But I would argue against unlifted tuples, because that would make tuples (or single constructor data types) different from other data types; adding a constructor to a type could totally wreck laziness of a program with unlifted tuples.
Also, unlifted tuples forces parallel evaluation for seq. On Sun, Jan 25, 2009 at 5:17 PM, Jonathan Cast <jonathancc...@fastmail.fm> wrote: > On Sun, 2009-01-25 at 09:04 -0800, Conal Elliott wrote: >> >> On Sun, Jan 25, 2009 at 7:11 AM, Jonathan Cast >> <jonathancc...@fastmail.fm> wrote: >> >> On Sun, 2009-01-25 at 10:46 +0100, Thomas Davie wrote: >> > On 25 Jan 2009, at 10:08, Daniel Fischer wrote: >> > >> > > Am Sonntag, 25. Januar 2009 00:55 schrieb Conal Elliott: >> > >>> It's obvious because () is a defined value, while bottom >> is not - >> > >>> per >> > >>> definitionem. >> > >> >> > >> I wonder if this argument is circular. >> > >> >> > >> I'm not aware of "defined" and "not defined" as more than >> informal >> > >> terms. >> > > >> > > They are informal. I could've written one is a terminating >> > > computation while >> > > the other is not. >> > >> > Is that a problem when trying to find the least defined >> element of a >> > set of terminating computations? >> >> >> Yes. If you've got a set of terminating computations, and it >> has >> multiple distinct elements, it generally doesn't *have* a >> least element. >> The P in CPO stands for Partial. >> >> jcc >> >> and this concern does not apply to () . > > And? () behaves in exactly the same fashion as every other Haskell data > type in existence, and in consequence we're having an extended, not > entirely coherent, discussion of how wonderful it would be if it was a > quite inconsistent special case instead? Why? > > jcc > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe