On Sun, Jan 25, 2009 at 9:17 AM, Jonathan Cast <[email protected]>wrote:
> On Sun, 2009-01-25 at 09:04 -0800, Conal Elliott wrote: > > > > On Sun, Jan 25, 2009 at 7:11 AM, Jonathan Cast > > <[email protected]> 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 Hi Jonathan, The discussion so far had mostly been about whether *necessarily* () /= _|_, i.e., whether a choice of () == _|_ contradicts domain theory. I think you're now switching to a different question (contributing to the "not entirely coherent" aspect of the discussion): which semantics is *preferable* for what reasons (merits). On that question, I'm inclined to agree with you, because I like consistency. - Conal
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
