On Sun, Jan 25, 2009 at 9:17 AM, Jonathan Cast <jonathanccast@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
> <jonathanccast@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

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