[Haskell-cafe] Monoid wants a (++) equivalent

Robert Greayer robgreayer at gmail.com
Wed Jul 1 11:11:47 EDT 2009


I'm sure there's some important historical reason... but why isn't '&'
used in something more prominent than the fgl package?  I understand
why it's not used for bitwise AND in Data.Bits (I assume because the
corresponding bitwise '|' operator isn't available), but all the other
single-character operators** (in the ASCII range) are used in some
core library (if not the Prelude itself).  But not '&'.  Why?  It
makes sense (to me) as a Monoid 'append'.

** - according to Hoogle

On Wed, Jul 1, 2009 at 10:46 AM, Edward Kmett<ekmett at gmail.com> wrote:
> I'm rather fond of the (<>) suggestion, but would be happy with anything
> better than mappend! ;)
>
> -Ed
>
> On Wed, Jul 1, 2009 at 8:56 AM, Brent Yorgey <byorgey at seas.upenn.edu> wrote:
>>
>> On Wed, Jul 01, 2009 at 12:00:50AM -0400, ajb at spamcop.net wrote:
>> > G'day all.
>>
>> >
>> > On Tue, Jun 30, 2009 at 08:02:48PM -0400, Daniel Peebles wrote:
>> >
>> >> But we don't want to imply it's commutative either. Having something
>> >> "bidirectional" like <> or <+> feels more commutative than associative
>> >> to me.
>> >
>> > Quoting John Meacham <john at repetae.net>:
>> >
>> >> Not really, think of '++', which doesn't commute but is visually
>> >> symmetric, or Data.Sequence.<>, or the common use of <> to mean
>> >> concatination in pretty printers.
>> >
>> > Other good examples are && and ||.
>>
>> ..wha?  But those ARE commutative.  Unless you mean with respect to
>> strictness?
>>
>> -Brent
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>


More information about the Haskell-Cafe mailing list