[GHC] #10365: Implement Semigroup as a superclass of Monoid Proposal (Phase 1)
GHC
ghc-devs at haskell.org
Sat Oct 10 20:47:40 UTC 2015
#10365: Implement Semigroup as a superclass of Monoid Proposal (Phase 1)
-------------------------------------+-------------------------------------
Reporter: gidyn | Owner: quchen
Type: feature request | Status: patch
Priority: high | Milestone: 8.0.1
Component: libraries/base | Version: 7.10.1
Resolution: | Keywords: report-impact
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D1284
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by ekmett):
RyanGIScott:
The plan around any sort of eventual consolidation of `First` and `Last`
is definitely punted several years down the road.
Once `Maybe` has the `Semigroup`-based `Monoid` instance, `Maybe (First
a)` using the semigroup `First` has more or less the semantics of the
existing monoidal `First a`.
However, at this current moment such things have to be implemented in
terms of `Option`, which is considerably more painful!
After enough time has passed I can envision a situation where we might
eventually choose to deprecate the existing Monoid versions, but that is
far enough out that any proposal about it at this stage would be so much
hand-waving. If it takes us 3 years to get `Semigroup` in as a superclass
of `Monoid`, it'd likely take us another 3 years to get to where the new
`Semigroup` forms of those constructions have wide enough distribution to
even start considering deprecation of the originals.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10365#comment:25>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list