z3-4.0.0: examples/Examples.hs
module Main where
import qualified Example.Monad.Queens4
import qualified Example.Monad.Queens4All
import qualified Example.Monad.DataTypes
import qualified Example.Monad.FuncModel
import qualified Example.Monad.ToSMTLib
import qualified Example.Monad.Tuple
import System.Environment
examples =
[ ("4queens"
, Example.Monad.Queens4.run
)
, ("all4queens"
, Example.Monad.Queens4All.run
)
, ("datatypes"
, Example.Monad.DataTypes.run
)
, ("funcmodel"
, Example.Monad.FuncModel.run
)
, ("smtlib"
, Example.Monad.ToSMTLib.run
)
, ("tuple"
, Example.Monad.Tuple.run
)
]
runExample :: String -> IO ()
runExample x = case lookup x examples of
Just x -> x
Nothing -> error "Example not found"
listExamples :: IO ()
listExamples = mapM_ (putStrLn . fst) examples
main = do
args <- getArgs
if null args
then listExamples
else case args !! 0 of
x -> runExample x