Skip to content
  • Austin Seipp's avatar
    Add some instances for Monoid/Applicative (#8797) · 1a9abe7a
    Austin Seipp authored
    
    
    As noted in the ticket, there's no particular reason why there aren't
    Generic, Typeable, and Data instances for the types in the
    Monoid/Applicative modules.
    
    Furthermore, Product and Sum should also have Num instances as well as
    Edward noted.
    
    Aside from that, this patch also changes the dependency chain slightly -
    it moves the Monoid Proxy instance into Data.Monoid and out of
    Data.Proxy.
    
    Why? Cycles (of course). Monoid depends on Typeable. Typeable uses
    Proxy. Proxy uses Monoid. Boom. Luckily, Proxy only depends on Monoid
    outside of the GHC namespace, so the fix is easy and clean.
    
    Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
    1a9abe7a