[Haskell-cafe] Monoid wants a (++) equivalent
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! ;)
> 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
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe