say it with me girls, "good enough!"
this is so dogshit
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
module Core.TH
|
||||
( coreExpr
|
||||
, coreProg
|
||||
, core
|
||||
)
|
||||
where
|
||||
@@ -21,6 +22,14 @@ core = QuasiQuoter
|
||||
, quoteDec = error "core quasiquotes may only be used in expressions"
|
||||
}
|
||||
|
||||
coreProg :: QuasiQuoter
|
||||
coreProg = QuasiQuoter
|
||||
{ quoteExp = qCoreProg
|
||||
, quotePat = error "core quasiquotes may only be used in expressions"
|
||||
, quoteType = error "core quasiquotes may only be used in expressions"
|
||||
, quoteDec = error "core quasiquotes may only be used in expressions"
|
||||
}
|
||||
|
||||
coreExpr :: QuasiQuoter
|
||||
coreExpr = QuasiQuoter
|
||||
{ quoteExp = qCoreExpr
|
||||
@@ -43,3 +52,10 @@ qCoreExpr s = case parseExpr s of
|
||||
where
|
||||
parseExpr = evalRLPC RLPCOptions . (lexCore >=> parseCoreExpr)
|
||||
|
||||
qCoreProg :: String -> Q Exp
|
||||
qCoreProg s = case parseProg s of
|
||||
Left e -> error (show e)
|
||||
Right (m,ts) -> lift m
|
||||
where
|
||||
parseProg = evalRLPC RLPCOptions . (lexCore >=> parseCoreProg)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user