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)