On Sun, Jan 25, 2009 at 8:00 AM, Jonathan Cast wrote:
> On Sat, 2009-01-24 at 03:08 -0700, Luke Palmer wrote:
> > On Sat, Jan 24, 2009 at 2:40 AM, Ryan Ingram
> > wrote:
> > But _|_ is not ().
> >
> > Correction: _|_ is not always ().
>
> For example: in Haskell.
>
> Prelude> () `seq` Tru
On Sat, 2009-01-24 at 03:08 -0700, Luke Palmer wrote:
> On Sat, Jan 24, 2009 at 2:40 AM, Ryan Ingram
> wrote:
> On Fri, Jan 23, 2009 at 10:49 PM, Thomas Davie
> wrote:
> > Isn't the point of bottom that it's the least defined
> value. Someone above
> > mad
On Sat, Jan 24, 2009 at 10:32 AM, wrote:
> On Fri, 23 Jan 2009, Luke Palmer wrote:
>
> For example, it is possible to prove that foldr mappend mempty (x:xs) =
>> foldr1 mappend (x:xs). Which means that anywhere in the source where we
>> see
>> the former, we can "clean it up" to the latter. Ho
On Sun, 25 Jan 2009, Lauri Alanko wrote:
On Fri, Jan 23, 2009 at 08:10:38PM -0500, rocon...@theorem.ca wrote:
I'd like to argue that laws, such as monoid laws, do not apply to partial
values. But I haven't thought my position through yet.
Before you do, you may want to read "Fast and Loose R
On Fri, Jan 23, 2009 at 08:10:38PM -0500, rocon...@theorem.ca wrote:
> I'd like to argue that laws, such as monoid laws, do not apply to partial
> values. But I haven't thought my position through yet.
Before you do, you may want to read "Fast and Loose Reasoning is
Morally Correct":
http://cit
On Fri, 23 Jan 2009, Luke Palmer wrote:
For example, it is possible to prove that foldr mappend mempty (x:xs) =
foldr1 mappend (x:xs). Which means that anywhere in the source where we see
the former, we can "clean it up" to the latter. However, if monad laws
don't apply to partial values, then
On Sat, Jan 24, 2009 at 2:40 AM, Ryan Ingram wrote:
> On Fri, Jan 23, 2009 at 10:49 PM, Thomas Davie
> wrote:
> > Isn't the point of bottom that it's the least defined value. Someone
> above
> > made the assertion that for left identity to hold, _|_ `mappend` () must
> be
> > _|_. But, as ther
On 24 Jan 2009, at 10:40, Ryan Ingram wrote:
On Fri, Jan 23, 2009 at 10:49 PM, Thomas Davie
wrote:
Isn't the point of bottom that it's the least defined value.
Someone above
made the assertion that for left identity to hold, _|_ `mappend` ()
must be
_|_. But, as there is only one value
On Fri, Jan 23, 2009 at 10:49 PM, Thomas Davie wrote:
> Isn't the point of bottom that it's the least defined value. Someone above
> made the assertion that for left identity to hold, _|_ `mappend` () must be
> _|_. But, as there is only one value in the Unit type, all values we have
> no inform
On 24 Jan 2009, at 02:33, Luke Palmer wrote:
On Fri, Jan 23, 2009 at 6:10 PM, wrote:
On Fri, 23 Jan 2009, Derek Elkins wrote:
mempty `mappend` undefined = undefined (left identity monoid law)
The above definition doesn't meet this, similarly for the right
identity
monoid law. That only lea
Thanks for letting me reflect on this.
I assume that my final program (my final value) is always a total value.
Anything else is an error. Therefore, if we required relaxed monoid laws
of the form
x `mappend` mzero <= x
then we could safely substitute (x `mappend` mzero) by x without changi
On Fri, Jan 23, 2009 at 6:10 PM, wrote:
> On Fri, 23 Jan 2009, Derek Elkins wrote:
>
> mempty `mappend` undefined = undefined (left identity monoid law)
>> The above definition doesn't meet this, similarly for the right identity
>> monoid law. That only leaves one definition, () `mappend` () =
On Fri, 23 Jan 2009, Derek Elkins wrote:
mempty `mappend` undefined = undefined (left identity monoid law)
The above definition doesn't meet this, similarly for the right identity
monoid law. That only leaves one definition, () `mappend` () = () which
does indeed satisfy the monoid laws.
So th
13 matches
Mail list logo