singletons-1.0: tests/compile-and-dump/GradingClient/Main.ghc76.template
GradingClient/Main.hs:0:0: Splicing declarations
singletons
[d| lastName, majorName, gradeName, yearName, firstName :: [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] |]
======>
GradingClient/Main.hs:(0,0)-(0,0)
lastName :: [AChar]
majorName :: [AChar]
gradeName :: [AChar]
yearName :: [AChar]
firstName :: [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 LastName = '[CLSym0, CASym0, CSSym0, CTSym0]
type LastNameSym0 = LastName
type FirstName = '[CFSym0, CISym0, CRSym0, CSSym0, CTSym0]
type FirstNameSym0 = FirstName
type YearName = '[CYSym0, CESym0, CASym0, CRSym0]
type YearNameSym0 = YearName
type GradeName = '[CGSym0, CRSym0, CASym0, CDSym0, CESym0]
type GradeNameSym0 = GradeName
type MajorName = '[CMSym0, CASym0, CJSym0, COSym0, CRSym0]
type MajorNameSym0 = MajorName
type GradingSchema =
Apply SchSym0 '[Apply (Apply AttrSym0 LastNameSym0) STRINGSym0,
Apply (Apply AttrSym0 FirstNameSym0) STRINGSym0,
Apply (Apply AttrSym0 YearNameSym0) NATSym0,
Apply (Apply AttrSym0 GradeNameSym0) NATSym0,
Apply (Apply AttrSym0 MajorNameSym0) BOOLSym0]
type GradingSchemaSym0 = GradingSchema
type Names =
Apply SchSym0 '[Apply (Apply AttrSym0 FirstNameSym0) STRINGSym0,
Apply (Apply AttrSym0 LastNameSym0) STRINGSym0]
type NamesSym0 = Names
sLastName :: Sing LastName
sMajorName :: Sing MajorName
sGradeName :: Sing GradeName
sYearName :: Sing YearName
sFirstName :: Sing FirstName
sLastName = SCons SCL (SCons SCA (SCons SCS (SCons SCT SNil)))
sFirstName
= SCons SCF (SCons SCI (SCons SCR (SCons SCS (SCons SCT SNil))))
sYearName = SCons SCY (SCons SCE (SCons SCA (SCons SCR SNil)))
sGradeName
= SCons SCG (SCons SCR (SCons SCA (SCons SCD (SCons SCE SNil))))
sMajorName
= SCons SCM (SCons SCA (SCons SCJ (SCons SCO (SCons SCR SNil))))
sGradingSchema :: Sing GradingSchema
sGradingSchema
= SSch
(SCons
(SAttr sLastName SSTRING)
(SCons
(SAttr sFirstName SSTRING)
(SCons
(SAttr sYearName SNAT)
(SCons
(SAttr sGradeName SNAT) (SCons (SAttr sMajorName SBOOL) SNil)))))
sNames :: Sing Names
sNames
= SSch
(SCons
(SAttr sFirstName SSTRING) (SCons (SAttr sLastName SSTRING) SNil))