singletons-2.4: tests/compile-and-dump/GradingClient/Main.ghc84.template
GradingClient/Main.hs:(0,0)-(0,0): Splicing declarations
singletons
[d| lastName, firstName, yearName, gradeName, majorName :: [AChar]
lastName = [CL, CA, CS, CT]
firstName = [CF, CI, CR, CS, CT]
yearName = [CY, CE, CA, CR]
gradeName = [CG, CR, CA, CD, CE]
majorName = [CM, CA, CJ, CO, CR]
gradingSchema :: Schema
gradingSchema
= Sch
[Attr lastName STRING, Attr firstName STRING, Attr yearName NAT,
Attr gradeName NAT, Attr majorName BOOL]
names :: Schema
names = Sch [Attr firstName STRING, Attr lastName STRING] |]
======>
lastName :: [AChar]
firstName :: [AChar]
yearName :: [AChar]
gradeName :: [AChar]
majorName :: [AChar]
lastName = [CL, CA, CS, CT]
firstName = [CF, CI, CR, CS, CT]
yearName = [CY, CE, CA, CR]
gradeName = [CG, CR, CA, CD, CE]
majorName = [CM, CA, CJ, CO, CR]
gradingSchema :: Schema
gradingSchema
= Sch
[(Attr lastName) STRING, (Attr firstName) STRING,
(Attr yearName) NAT, (Attr gradeName) NAT, (Attr majorName) BOOL]
names :: Schema
names = Sch [(Attr firstName) STRING, (Attr lastName) STRING]
type MajorNameSym0 = MajorName
type GradeNameSym0 = GradeName
type YearNameSym0 = YearName
type FirstNameSym0 = FirstName
type LastNameSym0 = LastName
type GradingSchemaSym0 = GradingSchema
type NamesSym0 = Names
type family MajorName :: [AChar] where
MajorName = Apply (Apply (:@#@$) CMSym0) (Apply (Apply (:@#@$) CASym0) (Apply (Apply (:@#@$) CJSym0) (Apply (Apply (:@#@$) COSym0) (Apply (Apply (:@#@$) CRSym0) '[]))))
type family GradeName :: [AChar] where
GradeName = Apply (Apply (:@#@$) CGSym0) (Apply (Apply (:@#@$) CRSym0) (Apply (Apply (:@#@$) CASym0) (Apply (Apply (:@#@$) CDSym0) (Apply (Apply (:@#@$) CESym0) '[]))))
type family YearName :: [AChar] where
YearName = Apply (Apply (:@#@$) CYSym0) (Apply (Apply (:@#@$) CESym0) (Apply (Apply (:@#@$) CASym0) (Apply (Apply (:@#@$) CRSym0) '[])))
type family FirstName :: [AChar] where
FirstName = Apply (Apply (:@#@$) CFSym0) (Apply (Apply (:@#@$) CISym0) (Apply (Apply (:@#@$) CRSym0) (Apply (Apply (:@#@$) CSSym0) (Apply (Apply (:@#@$) CTSym0) '[]))))
type family LastName :: [AChar] where
LastName = Apply (Apply (:@#@$) CLSym0) (Apply (Apply (:@#@$) CASym0) (Apply (Apply (:@#@$) CSSym0) (Apply (Apply (:@#@$) CTSym0) '[])))
type family GradingSchema :: Schema where
GradingSchema = Apply SchSym0 (Apply (Apply (:@#@$) (Apply (Apply AttrSym0 LastNameSym0) STRINGSym0)) (Apply (Apply (:@#@$) (Apply (Apply AttrSym0 FirstNameSym0) STRINGSym0)) (Apply (Apply (:@#@$) (Apply (Apply AttrSym0 YearNameSym0) NATSym0)) (Apply (Apply (:@#@$) (Apply (Apply AttrSym0 GradeNameSym0) NATSym0)) (Apply (Apply (:@#@$) (Apply (Apply AttrSym0 MajorNameSym0) BOOLSym0)) '[])))))
type family Names :: Schema where
Names = Apply SchSym0 (Apply (Apply (:@#@$) (Apply (Apply AttrSym0 FirstNameSym0) STRINGSym0)) (Apply (Apply (:@#@$) (Apply (Apply AttrSym0 LastNameSym0) STRINGSym0)) '[]))
sMajorName :: Sing (MajorNameSym0 :: [AChar])
sGradeName :: Sing (GradeNameSym0 :: [AChar])
sYearName :: Sing (YearNameSym0 :: [AChar])
sFirstName :: Sing (FirstNameSym0 :: [AChar])
sLastName :: Sing (LastNameSym0 :: [AChar])
sGradingSchema :: Sing (GradingSchemaSym0 :: Schema)
sNames :: Sing (NamesSym0 :: Schema)
sMajorName
= (applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCM))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCA))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCJ))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCO))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCR)) SNil))))
sGradeName
= (applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCG))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCR))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCA))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCD))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCE)) SNil))))
sYearName
= (applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCY))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCE))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCA))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCR)) SNil)))
sFirstName
= (applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCF))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCI))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCR))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCS))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCT)) SNil))))
sLastName
= (applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCL))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCA))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCS))
((applySing ((applySing ((singFun2 @(:@#@$)) SCons)) SCT)) SNil)))
sGradingSchema
= (applySing ((singFun1 @SchSym0) SSch))
((applySing
((applySing ((singFun2 @(:@#@$)) SCons))
((applySing ((applySing ((singFun2 @AttrSym0) SAttr)) sLastName))
SSTRING)))
((applySing
((applySing ((singFun2 @(:@#@$)) SCons))
((applySing ((applySing ((singFun2 @AttrSym0) SAttr)) sFirstName))
SSTRING)))
((applySing
((applySing ((singFun2 @(:@#@$)) SCons))
((applySing ((applySing ((singFun2 @AttrSym0) SAttr)) sYearName))
SNAT)))
((applySing
((applySing ((singFun2 @(:@#@$)) SCons))
((applySing ((applySing ((singFun2 @AttrSym0) SAttr)) sGradeName))
SNAT)))
((applySing
((applySing ((singFun2 @(:@#@$)) SCons))
((applySing ((applySing ((singFun2 @AttrSym0) SAttr)) sMajorName))
SBOOL)))
SNil)))))
sNames
= (applySing ((singFun1 @SchSym0) SSch))
((applySing
((applySing ((singFun2 @(:@#@$)) SCons))
((applySing ((applySing ((singFun2 @AttrSym0) SAttr)) sFirstName))
SSTRING)))
((applySing
((applySing ((singFun2 @(:@#@$)) SCons))
((applySing ((applySing ((singFun2 @AttrSym0) SAttr)) sLastName))
SSTRING)))
SNil))