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