On Sat, 2009-01-24 at 03:08 -0700, Luke Palmer wrote:
On Sat, Jan 24, 2009 at 2:40 AM, Ryan Ingram ryani.s...@gmail.com
wrote:
On Fri, Jan 23, 2009 at 10:49 PM, Thomas Davie
tom.da...@gmail.com wrote:
Isn't the point of bottom that it's the least defined
On Fri, Jan 23, 2009 at 10:49 PM, Thomas Davie tom.da...@gmail.com 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
On 24 Jan 2009, at 10:40, Ryan Ingram wrote:
On Fri, Jan 23, 2009 at 10:49 PM, Thomas Davie tom.da...@gmail.com
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
On Sat, Jan 24, 2009 at 2:40 AM, Ryan Ingram ryani.s...@gmail.com wrote:
On Fri, Jan 23, 2009 at 10:49 PM, Thomas Davie tom.da...@gmail.com
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` ()
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 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:
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
On Sat, Jan 24, 2009 at 10:32 AM, rocon...@theorem.ca 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
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
On Fri, Jan 23, 2009 at 6:10 PM, rocon...@theorem.ca 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, ()
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
On 24 Jan 2009, at 02:33, Luke Palmer wrote:
On Fri, Jan 23, 2009 at 6:10 PM, rocon...@theorem.ca 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
12 matches
Mail list logo