packages feed

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

Singletons/Fixity.hs:(0,0)-(0,0): Splicing declarations
    singletons
      [d| infix 4 ====
          
          (====) :: a -> a -> a
          a ==== _ = a
          
          class MyOrd a where
            (<=>) :: a -> a -> Ordering
            infix 4 <=> |]
  ======>
    class MyOrd a where
      (<=>) :: a -> a -> Ordering
      infix 4 <=>
    (====) :: a -> a -> a
    (====) a _ = a
    infix 4 ====
    type (====@#@$) :: (~>) a ((~>) a a)
    data (====@#@$) :: (~>) a ((~>) a a)
      where
        (:====@#@$###) :: SameKind (Apply (====@#@$) arg) ((====@#@$$) arg) =>
                          (====@#@$) a0123456789876543210
    type instance Apply @a @((~>) a a) (====@#@$) a0123456789876543210 = (====@#@$$) a0123456789876543210
    instance SuppressUnusedWarnings (====@#@$) where
      suppressUnusedWarnings = snd ((,) (:====@#@$###) ())
    infix 4 type ====@#@$
    type (====@#@$$) :: a -> (~>) a a
    data (====@#@$$) (a0123456789876543210 :: a) :: (~>) a a
      where
        (:====@#@$$###) :: SameKind (Apply ((====@#@$$) a0123456789876543210) arg) ((====@#@$$$) a0123456789876543210 arg) =>
                           (====@#@$$) a0123456789876543210 a0123456789876543210
    type instance Apply @a @a ((====@#@$$) a0123456789876543210) a0123456789876543210 = (====) a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings ((====@#@$$) a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) (:====@#@$$###) ())
    infix 4 type ====@#@$$
    type (====@#@$$$) :: a -> a -> a
    type family (====@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: a where
      (====@#@$$$) a0123456789876543210 a0123456789876543210 = (====) a0123456789876543210 a0123456789876543210
    infix 4 type ====@#@$$$
    type (====) :: a -> a -> a
    type family (====) @a (a :: a) (a :: a) :: a where
      (====) a _ = a
    type (<=>@#@$) :: forall a. (~>) a ((~>) a Ordering)
    data (<=>@#@$) :: (~>) a ((~>) a Ordering)
      where
        (:<=>@#@$###) :: SameKind (Apply (<=>@#@$) arg) ((<=>@#@$$) arg) =>
                         (<=>@#@$) a0123456789876543210
    type instance Apply @a @((~>) a Ordering) (<=>@#@$) a0123456789876543210 = (<=>@#@$$) a0123456789876543210
    instance SuppressUnusedWarnings (<=>@#@$) where
      suppressUnusedWarnings = snd ((,) (:<=>@#@$###) ())
    infix 4 type <=>@#@$
    type (<=>@#@$$) :: forall a. a -> (~>) a Ordering
    data (<=>@#@$$) (a0123456789876543210 :: a) :: (~>) a Ordering
      where
        (:<=>@#@$$###) :: SameKind (Apply ((<=>@#@$$) a0123456789876543210) arg) ((<=>@#@$$$) a0123456789876543210 arg) =>
                          (<=>@#@$$) a0123456789876543210 a0123456789876543210
    type instance Apply @a @Ordering ((<=>@#@$$) a0123456789876543210) a0123456789876543210 = (<=>) a0123456789876543210 a0123456789876543210
    instance SuppressUnusedWarnings ((<=>@#@$$) a0123456789876543210) where
      suppressUnusedWarnings = snd ((,) (:<=>@#@$$###) ())
    infix 4 type <=>@#@$$
    type (<=>@#@$$$) :: forall a. a -> a -> Ordering
    type family (<=>@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ordering where
      (<=>@#@$$$) a0123456789876543210 a0123456789876543210 = (<=>) a0123456789876543210 a0123456789876543210
    infix 4 type <=>@#@$$$
    class PMyOrd a where
      type family (<=>) (arg :: a) (arg :: a) :: Ordering
    infix 4 data %====
    (%====) ::
      (forall (t :: a) (t :: a).
       Sing t -> Sing t -> Sing ((====) t t :: a) :: Type)
    (%====) (sA :: Sing a) _ = sA
    instance SingI ((====@#@$) :: (~>) a ((~>) a a)) where
      sing = singFun2 @(====@#@$) (%====)
    instance SingI d => SingI ((====@#@$$) (d :: a) :: (~>) a a) where
      sing = singFun1 @((====@#@$$) (d :: a)) ((%====) (sing @d))
    instance SingI1 ((====@#@$$) :: a -> (~>) a a) where
      liftSing (s :: Sing (d :: a))
        = singFun1 @((====@#@$$) (d :: a)) ((%====) s)
    class SMyOrd a where
      (%<=>) ::
        (forall (t :: a) (t :: a).
         Sing t -> Sing t -> Sing ((<=>) t t :: Ordering) :: Type)
      infix 4 data %<=>
    instance SMyOrd a =>
             SingI ((<=>@#@$) :: (~>) a ((~>) a Ordering)) where
      sing = singFun2 @(<=>@#@$) (%<=>)
    instance (SMyOrd a, SingI d) =>
             SingI ((<=>@#@$$) (d :: a) :: (~>) a Ordering) where
      sing = singFun1 @((<=>@#@$$) (d :: a)) ((%<=>) (sing @d))
    instance SMyOrd a =>
             SingI1 ((<=>@#@$$) :: a -> (~>) a Ordering) where
      liftSing (s :: Sing (d :: a))
        = singFun1 @((<=>@#@$$) (d :: a)) ((%<=>) s)