File: DerivingStrategies.hs

package info (click to toggle)
haskell-src-exts 1.23.1-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 25,852 kB
  • sloc: haskell: 13,707; makefile: 12
file content (18 lines) | stat: -rw-r--r-- 445 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE StandaloneDeriving #-}
module DerivingStrategies where

class C a
class D a

newtype Foo a = MkFoo a
  deriving ()
  deriving stock (Eq, Ord)
  deriving newtype Show
  deriving anyclass C

deriving stock instance Read a => Read (Foo a)
deriving newtype instance Num a => Num (Foo a)
deriving anyclass instance D (Foo a)