[GHC] #9328: MINIMAL pragma should supprt negation
GHC
ghc-devs at haskell.org
Fri Jul 18 08:26:38 UTC 2014
#9328: MINIMAL pragma should supprt negation
-------------------------------------+-------------------------------------
Reporter: augustss | Owner:
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.3
Keywords: | Differential Revisions:
Operating System: Unknown/Multiple | Architecture:
Type of failure: None/Unknown | Unknown/Multiple
Test Case: | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
-------------------------------------+-------------------------------------
Consider this class declaration
{{{
class Conv a where
to :: Integer -> a
from :: a -> Integer
default to :: (Generic a) => Integer -> a
to i = ...
default from :: (Generic a) => a -> Integer
from a = ...
}}}
The class provides default methods for the two methods using generics. An
instance declaration for this type is likely to want to use the default
for both methods or for none. So I'd like a MINIMAL pragma that can
express this. E.g.
{{{
{-# MINIMAL (to, from) | (!to, !from) #-}
}}}
I've used ! for negation (following the lead set by the MINIMAL pragma
using a non-Haskell OR operator), so this says: either implement 'to' and
'from' or don't implement neither 'to' nor 'from'.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9328>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list