3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskiDescription : Print list of all logics
3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskiCopyright : (c) Till Mossakowski, and OvGU Magdeburg 2017
3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskiLicense : GPLv2 or higher, see LICENSE.txt
3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskiMaintainer : till@iks.cs.ovgu.de
3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskiStability : provisional
3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskiPortability : non-portable (various -fglasgow-exts extensions)
3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskiPrint list of all logics with some useful information.
31bc219bae758272d0f064281b8ce7740a4553e9Till MossakowskiprintLogics :: IO ()
31bc219bae758272d0f064281b8ce7740a4553e9Till MossakowskiprintLogics = do
3bff7aaa07a352bd10cc96781a2a5334beef9868Till Mossakowski putStrLn "*** List of logics in Hets ***"
31bc219bae758272d0f064281b8ce7740a4553e9Till Mossakowski mapM_ printLogicsWithStability [Stable, Testing, Experimental, Unstable]
3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskihasStability :: Stability -> AnyLogic -> Bool
3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskihasStability s (Logic l) = stability l == s
31bc219bae758272d0f064281b8ce7740a4553e9Till MossakowskiprintLogicsWithStability :: Stability -> IO ()
31bc219bae758272d0f064281b8ce7740a4553e9Till MossakowskiprintLogicsWithStability s = do
3bff7aaa07a352bd10cc96781a2a5334beef9868Till Mossakowski putStrLn $ "Stability: "++show s
3bff7aaa07a352bd10cc96781a2a5334beef9868Till Mossakowski mapM_ printLogic $ filter (hasStability s) logicList
3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskiprintLogic :: AnyLogic -> IO ()
3bff7aaa07a352bd10cc96781a2a5334beef9868Till MossakowskiprintLogic (Logic l) = do
65853214a355ddc2fc7e4f1edc5ee8d05947b84aTill Mossakowski putStrLn $ " "++show l++": "++short_description l
3bff7aaa07a352bd10cc96781a2a5334beef9868Till Mossakowski let ps = provers l
3bff7aaa07a352bd10cc96781a2a5334beef9868Till Mossakowski unless (null ps) $ do
3bff7aaa07a352bd10cc96781a2a5334beef9868Till Mossakowski putStr " provers: "
cb59d130670156fb8899feca481cc6df0f0b73b5Till Mossakowski putStrLn $ intercalate ", " $ map proverName ps