[Haskell-cafe] Re: Laws and partial values

Jonathan Cast jonathanccast at fastmail.fm
Sun Jan 25 12:17:54 EST 2009


On Sun, 2009-01-25 at 09:04 -0800, Conal Elliott wrote:
> 
> On Sun, Jan 25, 2009 at 7:11 AM, Jonathan Cast
> <jonathanccast at 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




More information about the Haskell-Cafe mailing list