diff --git a/propa-tools.cabal b/propa-tools.cabal index 51d278b..4d4c553 100644 --- a/propa-tools.cabal +++ b/propa-tools.cabal @@ -22,6 +22,7 @@ library exposed-modules: Propa.Lambda.Display Propa.Lambda.Term + Propa.Prolog.Example Propa.Prolog.Types Propa.Prolog.Unify other-modules: diff --git a/src/Propa/Prolog/Example.hs b/src/Propa/Prolog/Example.hs new file mode 100644 index 0000000..91ded59 --- /dev/null +++ b/src/Propa/Prolog/Example.hs @@ -0,0 +1,19 @@ +{-# LANGUAGE OverloadedStrings #-} + +module Propa.Prolog.Example where + +import qualified Data.Text as T + +import Propa.Prolog.Types + +db :: Db T.Text +db = + [ Def "append" [Stat "nil" [], Var "Y", Var "Y"] [] + , Def "append" [Stat "cons" [Var "X", Var "XS"], Var "Y", Stat "cons" [Var "X", Var "Z"]] [Stat "append" [Var "XS", Var "Y", Var "Z"]] + ] + +l12 :: Term T.Text +l12 = Stat "cons" [Stat "1" [], Stat "cons" [Stat "2" [], Stat "nil" []]] + +l345 :: Term T.Text +l345 = Stat "cons" [Stat "3" [], Stat "cons" [Stat "4" [], Stat "cons" [Stat "5" [], Stat "nil" []]]]