singletons-2.7: tests/compile-and-dump/GradingClient/Main.golden
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 NamesSym0 = Names :: Schema
type GradingSchemaSym0 = GradingSchema :: Schema
type MajorNameSym0 = MajorName :: [AChar]
type GradeNameSym0 = GradeName :: [AChar]
type YearNameSym0 = YearName :: [AChar]
type FirstNameSym0 = FirstName :: [AChar]
type LastNameSym0 = LastName :: [AChar]
type Names :: Schema
type family Names where
Names = Apply SchSym0 (Apply (Apply (:@#@$) (Apply (Apply AttrSym0 FirstNameSym0) STRINGSym0)) (Apply (Apply (:@#@$) (Apply (Apply AttrSym0 LastNameSym0) STRINGSym0)) NilSym0))
type GradingSchema :: Schema
type family GradingSchema 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)) NilSym0)))))
type MajorName :: [AChar]
type family MajorName where
MajorName = Apply (Apply (:@#@$) CMSym0) (Apply (Apply (:@#@$) CASym0) (Apply (Apply (:@#@$) CJSym0) (Apply (Apply (:@#@$) COSym0) (Apply (Apply (:@#@$) CRSym0) NilSym0))))
type GradeName :: [AChar]
type family GradeName where
GradeName = Apply (Apply (:@#@$) CGSym0) (Apply (Apply (:@#@$) CRSym0) (Apply (Apply (:@#@$) CASym0) (Apply (Apply (:@#@$) CDSym0) (Apply (Apply (:@#@$) CESym0) NilSym0))))
type YearName :: [AChar]
type family YearName where
YearName = Apply (Apply (:@#@$) CYSym0) (Apply (Apply (:@#@$) CESym0) (Apply (Apply (:@#@$) CASym0) (Apply (Apply (:@#@$) CRSym0) NilSym0)))
type FirstName :: [AChar]
type family FirstName where
FirstName = Apply (Apply (:@#@$) CFSym0) (Apply (Apply (:@#@$) CISym0) (Apply (Apply (:@#@$) CRSym0) (Apply (Apply (:@#@$) CSSym0) (Apply (Apply (:@#@$) CTSym0) NilSym0))))
type LastName :: [AChar]
type family LastName where
LastName = Apply (Apply (:@#@$) CLSym0) (Apply (Apply (:@#@$) CASym0) (Apply (Apply (:@#@$) CSSym0) (Apply (Apply (:@#@$) CTSym0) NilSym0)))
sNames :: Sing (NamesSym0 :: Schema)
sGradingSchema :: Sing (GradingSchemaSym0 :: Schema)
sMajorName :: Sing (MajorNameSym0 :: [AChar])
sGradeName :: Sing (GradeNameSym0 :: [AChar])
sYearName :: Sing (YearNameSym0 :: [AChar])
sFirstName :: Sing (FirstNameSym0 :: [AChar])
sLastName :: Sing (LastNameSym0 :: [AChar])
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))
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)))))
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)))