class (Show s, Eq s) => HString s
-instance HString HNil
+instance HString Nil
instance ( Show c
, Show s
, Eq s
, IntegerT c
)
- => HString (HCons c s)
+ => HString (Cons c s)
hString :: QuasiQuoter
hString = QuasiQuoter quoteStrExp quoteStrPat
]
quoteStrPat :: String -> PatQ
-quoteStrPat [] = varP (mkName "HNil")
-quoteStrPat (c:cs) = conP (mkName "HCons")
+quoteStrPat [] = varP (mkName "Nil")
+quoteStrPat (c:cs) = conP (mkName "Cons")
[ sigP wildP (decLiteralT $ toInteger $ fromEnum c)
, quoteStrPat cs
]