singletons-0.10.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 = '[CL, CA, CS, CT]
type FirstName = '[CF, CI, CR, CS, CT]
type YearName = '[CY, CE, CA, CR]
type GradeName = '[CG, CR, CA, CD, CE]
type MajorName = '[CM, CA, CJ, CO, CR]
type GradingSchema =
Sch '[Attr LastName STRING,
Attr FirstName STRING,
Attr YearName NAT,
Attr GradeName NAT,
Attr MajorName BOOL]
type Names = Sch '[Attr FirstName STRING, Attr LastName STRING]
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))