Proposal: Add Semigroup and Monoid instances for (:~:)

David Feuer david.feuer at gmail.com
Thu Jan 14 14:08:45 UTC 2016


(:~:) is from Data.Type.Equality.

data a :~: b where
  Refl :: a :~: a
On Jan 14, 2016 8:56 AM, "Andreas Abel" <andreas.abel at ifi.lmu.de> wrote:

> What does this smiley :~: stand for?
>
> On 13.01.2016 06:58, David Feuer wrote:
>
>> These are not likely to be *useful*, but they fall easily into the
>> general bucket of "exactly one sensible instance exists".
>>
>> instance Semigroup (a :~: b) where
>>    r <> _ = r
>>
>> instance a ~ b => Monoid (a :~: b) where
>>    mempty = Refl
>>    mappend r _ = r
>> _______________________________________________
>> Libraries mailing list
>> Libraries at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>>
>>
>
> --
> Andreas Abel  <><      Du bist der geliebte Mensch.
>
> Department of Computer Science and Engineering
> Chalmers and Gothenburg University, Sweden
>
> andreas.abel at gu.se
> http://www2.tcs.ifi.lmu.de/~abel/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20160114/c211767b/attachment.html>


More information about the Libraries mailing list