@@ -5,6 +5,7 @@ import System.Exit (exitFailure)
6import qualified Data.Map as Map
6import qualified Data.Map as Map
7import qualified Data.List as List
7import qualified Data.List as List
8+import qualified SourceSyntax.Type as T
8import qualified SourceSyntax.Module as M
9import qualified SourceSyntax.Module as M
9import qualified SourceSyntax.PrettyPrint as Pretty
10import qualified SourceSyntax.PrettyPrint as Pretty
10import qualified Type.Alias as Alias
11import qualified Type.Alias as Alias
@@ -18,6 +19,11 @@ interfaceTypes :: Map.Map String M.ModuleInterface -> M.ModuleInterface -> IO ()
18interfaceTypes interfaces iface =
19interfaceTypes interfaces iface =
19 types interfaces (M.iTypes iface) (M.iAliases iface) (M.iImports iface)
20 types interfaces (M.iTypes iface) (M.iAliases iface) (M.iImports iface)
22+types :: Map.Map k M.ModuleInterface
23+ -> Map.Map String T.Type
25+ -> [(String, M.ImportMethod)]
21types interfaces types' aliases imports =
27types interfaces types' aliases imports =
22 do putStrLn ""
28 do putStrLn ""
23 mapM_ printType (Map.toList types')
29 mapM_ printType (Map.toList types')
@@ -35,4 +41,6 @@ errors errs =
35 mapM_ print (List.intersperse (P.text " ") errs)
41 mapM_ print (List.intersperse (P.text " ") errs)
37failure :: String -> IO a
43failure :: String -> IO a
38−failure msg = hPutStrLn stderr msg >> exitFailure
45+ do hPutStrLn stderr msg