[Haskell-cafe] Re: Laws and partial values
Derek Elkins
derek.a.elkins at gmail.com
Sun Jan 25 17:06:20 EST 2009
On Sun, 2009-01-25 at 07:11 -0800, Jonathan Cast 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.
Yes, "partial" as in "partial order" (v. total order or preorder) not as
in partiality. It's actually the "complete" part that indicates the
existence of a least element, pretty much by definition. A cpo is a
dcpo (directed complete partial order) with a least element, though
sometimes "cpo" is used for "dcpo" in which case a least element is not
guaranteed.
More information about the Haskell-Cafe
mailing list