fix import list

This commit is contained in:
Patrick Aldis 2026-03-06 18:11:43 +00:00
parent 3a05d154d9
commit 27eb944b07

View File

@ -1,5 +1,6 @@
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE MultilineStrings #-}
{- HLINT ignore "Use void" -}
module Datalog.Parser (
parseTerm,
@ -12,12 +13,11 @@ where
import Data.Text (Text)
import Data.Text qualified as T
import Data.Void (Void)
import Datalog.Syntax (Atom' (..), Program' (..), Rule' (..), Term' (..))
import Datalog.Syntax (Atom' (..), Program' (..), Rule' (..))
import Datalog.Syntax hiding (Atom, Program, Rule, Term)
import Text.Megaparsec
import Text.Megaparsec.Char
import Text.Megaparsec.Char.Lexer qualified as L
import Text.Pretty.Simple
type Parser = Parsec Void Text
@ -96,22 +96,3 @@ parseThingWithSub f parseSub = do
c <- parseSub
SourcePos _ el ec <- getSourcePos
pure $ f (SrcLoc (unPos sl) (unPos sc) (unPos el) (unPos ec)) c
test = do
let r = runParser parseProgram "???" prog
pPrint @IO r
prog =
"""
odd(X,Y) :- r(X,Y).
odd(X,Y) :- even(X,Z), r(Z,Y).
even(X,Y) :- odd(X,Z), r(Z,Y).
r(0,1).
r(1,2).
r(2,3).
r(3,4).
r(4,5).
r(X,Y) :- r(Y,X).
"""