singletons-1.0: tests/compile-and-dump/Singletons/LambdasComprehensive.ghc76.template
Promote/LambdasComprehensive.hs:0:0: Splicing declarations
promote
[d| foo :: [Nat]
foo
= map (\ x -> either_ pred Succ x) [Left Zero, Right (Succ Zero)]
bar :: [Nat]
bar = map (either_ pred Succ) [Left Zero, Right (Succ Zero)] |]
======>
Promote/LambdasComprehensive.hs:(0,0)-(0,0)
foo :: [Nat]
foo
= map (\ x -> either_ pred Succ x) [Left Zero, Right (Succ Zero)]
bar :: [Nat]
bar = map (either_ pred Succ) [Left Zero, Right (Succ Zero)]
type Foo =
Apply (Apply MapSym0 Lambda_0123456789Sym0) '[Apply LeftSym0 ZeroSym0,
Apply RightSym0 (Apply SuccSym0 ZeroSym0)]
type FooSym0 = Foo
type family Lambda_0123456789 (t :: k) :: r
type instance Lambda_0123456789 x =
Apply (Apply (Apply Either_Sym0 PredSym0) SuccSym0) x
data Lambda_0123456789Sym0 (k :: TyFun k r)
type instance Apply Lambda_0123456789Sym0 a = Lambda_0123456789 a
type Bar =
Apply (Apply MapSym0 (Apply (Apply Either_Sym0 PredSym0) SuccSym0)) '[Apply LeftSym0 ZeroSym0,
Apply RightSym0 (Apply SuccSym0 ZeroSym0)]
type BarSym0 = Bar