singletons-2.5: tests/compile-and-dump/Singletons/Fixity.ghc86.template
Singletons/Fixity.hs:(0,0)-(0,0): Splicing declarations
singletons
[d| infix 4 ====
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 (====@#@$$$) (a0123456789876543210 :: a0123456789876543210) (a0123456789876543210 :: a0123456789876543210) =
(====) a0123456789876543210 a0123456789876543210
instance SuppressUnusedWarnings ((====@#@$$) a0123456789876543210) where
suppressUnusedWarnings = snd (((,) (:====@#@$$###)) ())
data (====@#@$$) (a0123456789876543210 :: a0123456789876543210) :: (~>) a0123456789876543210 a0123456789876543210
where
(:====@#@$$###) :: forall a0123456789876543210
a0123456789876543210
arg. SameKind (Apply ((====@#@$$) a0123456789876543210) arg) ((====@#@$$$) a0123456789876543210 arg) =>
(====@#@$$) a0123456789876543210 a0123456789876543210
type instance Apply ((====@#@$$) a0123456789876543210) a0123456789876543210 = (====) a0123456789876543210 a0123456789876543210
infix 4 ====@#@$$
instance SuppressUnusedWarnings (====@#@$) where
suppressUnusedWarnings = snd (((,) (:====@#@$###)) ())
data (====@#@$) :: forall a0123456789876543210.
(~>) a0123456789876543210 ((~>) a0123456789876543210 a0123456789876543210)
where
(:====@#@$###) :: forall a0123456789876543210
arg. SameKind (Apply (====@#@$) arg) ((====@#@$$) arg) =>
(====@#@$) a0123456789876543210
type instance Apply (====@#@$) a0123456789876543210 = (====@#@$$) a0123456789876543210
infix 4 ====@#@$
type family (====) (a :: a) (a :: a) :: a where
(====) a _ = a
type (<=>@#@$$$) (arg0123456789876543210 :: a0123456789876543210) (arg0123456789876543210 :: a0123456789876543210) =
(<=>) arg0123456789876543210 arg0123456789876543210
instance SuppressUnusedWarnings ((<=>@#@$$) arg0123456789876543210) where
suppressUnusedWarnings = snd (((,) (:<=>@#@$$###)) ())
data (<=>@#@$$) (arg0123456789876543210 :: a0123456789876543210) :: (~>) a0123456789876543210 Ordering
where
(:<=>@#@$$###) :: forall arg0123456789876543210
arg0123456789876543210
arg. SameKind (Apply ((<=>@#@$$) arg0123456789876543210) arg) ((<=>@#@$$$) arg0123456789876543210 arg) =>
(<=>@#@$$) arg0123456789876543210 arg0123456789876543210
type instance Apply ((<=>@#@$$) arg0123456789876543210) arg0123456789876543210 = (<=>) arg0123456789876543210 arg0123456789876543210
infix 4 <=>@#@$$
instance SuppressUnusedWarnings (<=>@#@$) where
suppressUnusedWarnings = snd (((,) (:<=>@#@$###)) ())
data (<=>@#@$) :: forall a0123456789876543210.
(~>) a0123456789876543210 ((~>) a0123456789876543210 Ordering)
where
(:<=>@#@$###) :: forall arg0123456789876543210
arg. SameKind (Apply (<=>@#@$) arg) ((<=>@#@$$) arg) =>
(<=>@#@$) arg0123456789876543210
type instance Apply (<=>@#@$) arg0123456789876543210 = (<=>@#@$$) arg0123456789876543210
infix 4 <=>@#@$
class PMyOrd (a :: GHC.Types.Type) where
type (<=>) (arg :: a) (arg :: a) :: Ordering
infix 4 %====
infix 4 %<=>
(%====) ::
forall a (t :: a) (t :: a).
Sing t -> Sing t -> Sing (Apply (Apply (====@#@$) t) t :: a)
(%====) (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))
class SMyOrd a where
(%<=>) ::
forall (t :: a) (t :: a).
Sing t -> Sing t -> Sing (Apply (Apply (<=>@#@$) t) t :: Ordering)
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))