say it with me girls, "good enough!"

this is so dogshit
This commit is contained in:
crumbtoo
2023-11-22 01:16:11 -07:00
parent 5fb348fbb6
commit 0d32ecd20e
4 changed files with 61 additions and 20 deletions

View File

@@ -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)