packages feed

singletons-base-3.5: tests/compile-and-dump/Singletons/T187.golden

Singletons/T187.hs:(0,0)-(0,0): Splicing declarations
    singletons
      [d| data Empty
          
          deriving instance Ord Empty
          deriving instance Eq Empty |]
  ======>
    data Empty
    deriving instance Eq Empty
    deriving instance Ord Empty
    type TFHelper_0123456789876543210 :: Empty -> Empty -> Bool
    type family TFHelper_0123456789876543210 (a :: Empty) (a :: Empty) :: Bool where
      TFHelper_0123456789876543210 _ _ = TrueSym0
    instance PEq Empty where
      type (==) a a = TFHelper_0123456789876543210 a a
    type Compare_0123456789876543210 :: Empty -> Empty -> Ordering
    type family Compare_0123456789876543210 (a :: Empty) (a :: Empty) :: Ordering where
      Compare_0123456789876543210 _ _ = EQSym0
    instance POrd Empty where
      type Compare a a = Compare_0123456789876543210 a a
    data SEmpty :: Empty -> Type
    type instance Sing @Empty = SEmpty
    instance SingKind Empty where
      type Demote Empty = Empty
      fromSing x = (\case) x
      toSing x = SomeSing ((\case) x)
    instance SEq Empty where
      (%==) _ _ = STrue
    instance SOrd Empty where
      sCompare _ _ = SEQ
    instance SDecide Empty where
      (%~) x _ = Proved ((\case) x)
    instance Eq (SEmpty (z :: Empty)) where
      (==) _ _ = True
    instance GHC.Internal.Data.Type.Equality.TestEquality (SEmpty :: Empty
                                                                     -> Type) where
      GHC.Internal.Data.Type.Equality.testEquality
        = Data.Singletons.Decide.decideEquality
    instance GHC.Internal.Data.Type.Coercion.TestCoercion (SEmpty :: Empty
                                                                     -> Type) where
      GHC.Internal.Data.Type.Coercion.testCoercion
        = Data.Singletons.Decide.decideCoercion
    instance Ord (SEmpty (z :: Empty)) where
      compare _ _ = EQ