diff --git a/datalog/src/Datalog/Syntax.hs b/datalog/src/Datalog/Syntax.hs index 9cfb858..5f3bab5 100644 --- a/datalog/src/Datalog/Syntax.hs +++ b/datalog/src/Datalog/Syntax.hs @@ -41,8 +41,8 @@ type Rule = Rule' () data Rule' a = Rule a (Atom' a) [Atom' a] deriving (Eq, Ord, Show) {-# COMPLETE (:-) #-} -pattern (:-) :: Atom' () -> [Atom' ()] -> Rule' () -pattern a :- b = Rule () a b +pattern (:-) :: Atom' a -> [Atom' a] -> Rule' a +pattern a :- b <- Rule _ a b type Program = Program' () data Program' a = Program a [Rule' a] @@ -63,7 +63,7 @@ instance HasConstants (Atom' a) where constants (Atom _ _ ts) = constants ts instance HasConstants (Rule' a) where - constants (Rule _ h b) = Set.union (constants h) (constants b) + constants (h :- b) = Set.union (constants h) (constants b) instance HasConstants (Program' a) where constants (Program _ rs) = constants rs