minor cleanup

This commit is contained in:
William Ball 2024-12-08 21:57:17 -08:00
parent 95a4d822b6
commit d15b53da1e

View file

@ -42,10 +42,8 @@ keywords = ["forall", "let", "in", "end", "fun", "def", "axiom", "section", "var
pIdentifier :: Parser Text pIdentifier :: Parser Text
pIdentifier = try $ label "identifier" $ lexeme $ do pIdentifier = try $ label "identifier" $ lexeme $ do
firstChar <- letterChar <|> char '_' ident <- T.pack <$> ((:) <$> (letterChar <|> char '_') <*> many (alphaNumChar <|> char '_'))
rest <- many $ alphaNumChar <|> char '_' guard $ ident `notElem` keywords
let ident = T.pack (firstChar : rest)
guard (ident `notElem` keywords)
pure ident pure ident
pVar :: Parser IRExpr pVar :: Parser IRExpr
@ -154,9 +152,7 @@ pAppTerm = lexeme $ choice [pLAbs, pPAbs, pLet, pApp]
pIRExpr :: Parser IRExpr pIRExpr :: Parser IRExpr
pIRExpr = lexeme $ do pIRExpr = lexeme $ do
e <- pAppTerm e <- pAppTerm
option e $ do option e $ (symbol "->" <|> symbol "") >> Pi "" e Nothing <$> pIRExpr
_ <- symbol "->" <|> symbol ""
Pi "" e Nothing <$> pIRExpr
pAscription :: Parser IRExpr pAscription :: Parser IRExpr
pAscription = lexeme $ try $ symbol ":" >> label "type" pIRExpr pAscription = lexeme $ try $ symbol ":" >> label "type" pIRExpr