souffle-dsl-0.1.0: tests/Test/Language/Souffle/DSL/FixturesCompiled.hs
{-# OPTIONS_GHC -optc-std=c++17 -D__EMBEDDED_SOUFFLE__ #-}
{-# LANGUAGE TypeApplications, TemplateHaskell #-}
module Test.Language.Souffle.DSL.FixturesCompiled () where
-- NOTE: this module can't be grouped together with "Fixtures"
-- due to TemplateHaskell staging restriction.
import Test.Language.Souffle.DSL.Fixtures
import Language.Souffle.DSL
$(embedProgram CompiledProgram $ do
Predicate edge <- predicateFor @Edge
Predicate reachable <- predicateFor @Reachable
a <- var "a"
b <- var "b"
c <- var "c"
reachable(a, b) |- edge(a, b)
reachable(a, b) |- do
edge(a, c)
reachable(c, b)
)