
#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 -------------------------------------+------------------------------------- Comment (by RyanGlScott): Replying to [comment:23 hvr]:
Somewhat related, #10930 wants GHC to at least emit a compiler warning in that case
Ah, that's good to know. Perhaps we could add a similar warning for `[] :: NonEmpty` (when using `-XOverloadedLists`) in one of the phases of this proposal. While we're on this topic, I have another questions about things to come from the SMP (`Semigroup`–`Monoid` Proposal). Adding `Data.List.NonEmpty` brings in the `First`, `Last`, and `Option` data types, which are (intentionally) quite similar in behavior to `First` and `Last` (from `Data.Monoid`) and `Maybe`. Are there plans to consolidate (or strategically deprecate) some of these data types at some phase of the SMP? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10365#comment:24 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler