@@ -200,7 +200,7 @@ consumeAtomExprP consume = try functionAtomExprP <|>
200200 try (parens (constructedAtomExprP True)) <|>
201201 constructedAtomExprP consume <|>
202202 attributeAtomExprP <|>
203− nakedAtomExprP <|>
203+ try nakedAtomExprP <|>
204204 relationalAtomExprP
205205
206206attributeAtomExprP :: Parser (AtomExprBase a)
@@ -242,8 +242,12 @@ integerAtomP = IntegerAtom <$> integer
242242
243243boolAtomP :: Parser Atom
244244boolAtomP = do
245− val <- char 't' <|> char 'f'
246− return $ BoolAtom (val == 't')
245+ v <- identifier
246+ if v == "t" || v == "f" then
247+ pure $ BoolAtom (v == "t")
248+ else
249+ fail "invalid boolAtom"
250+
247251
248252relationAtomExprP :: RelationalMarkerExpr a => Parser (AtomExprBase a)
249253relationAtomExprP = RelationAtomExpr <$> makeRelationP