-- Rules {{{
-- | Grab the head (term!) and aggregation operator from a line that
- -- we hope is a rule.
+ -- we hope is a rule.
rulepfx :: DeltaParsing f => f ([Spanned Term] -> Spanned Term -> Rule)
rulepfx = Rule <$> term
- <* spaces
- <*> ((bsf $ some $ satisfy $ not . isSpace) <?> "Aggregator") -- XXX probably a better way to do this.. probably want aggregators have suffix =
- <* spaces
+ <* whiteSpace
- <*> (bsf $ ident dynaOperStyle <?> "Aggregator")
++ -- XXX probably a better way to do this.. probably want aggregators have suffix =
++ <*> ((bsf $ some $ satisfy $ not . isSpace) <?> "Aggregator")
++ <* whiteSpace
rule :: DeltaParsing m => m Rule
rule = choice [
, Fact <$> term
]
where
- hrss = highlight ReservedOperator . spanned . symbol
+ hrss = highlight ReservedOperator . spanned . symbol
drule :: DeltaParsing m => m (Spanned Rule)
-drule = spanned rule
+drule = unDL (spanned rule)
------------------------------------------------------------------------}}}
-- Lines {{{