Skip to content

Derive superclasses automatically if possible

So I don't forget, this is like #10607 (closed) along another axis.

Instead of writing

newtype IO_ a = IO_ (IO a)
  deriving newtype (Functor, Applicative, Monad, MonadIO)

allow writing

newtype IO_ a = IO_ (IO a)
  deriving newtype MonadIO

with the same meaning, are there any technical restrictions to this? This gets annoying in large hierarchies where you need Eq, Ord, Num, Fractional, Floating, Real and RealFrac just to derive

newtype F32 = F32 Float
  deriving newtype RealFloat
Trac metadata
Trac field Value
Version 8.0.1
Type FeatureRequest
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information