@@ -31,6 +31,7 @@ import Paths_Elm
31import SourceSyntax.PrettyPrint (pretty, variable)
31import SourceSyntax.PrettyPrint (pretty, variable)
32import Text.PrettyPrint as P
32import Text.PrettyPrint as P
33import qualified Type.Type as Type
33import qualified Type.Type as Type
34+import qualified Type.Alias as Alias
35data Flags =
36data Flags =
36 Flags { make :: Bool
37 Flags { make :: Bool
@@ -145,7 +146,7 @@ buildFile flags moduleNum numModules interfaces filePath =
145 True -> print . pretty $ program modul
146 True -> print . pretty $ program modul
146 return modul
147 return modul
148− if print_types flags then printTypes metaModule else return ()
149+ if print_types flags then printTypes interfaces metaModule else return ()
149 let interface = Canonical.interface name $ ModuleInterface {
150 let interface = Canonical.interface name $ ModuleInterface {
150 iTypes = types metaModule,
151 iTypes = types metaModule,
151 iAdts = datatypes metaModule,
152 iAdts = datatypes metaModule,
@@ -158,10 +159,11 @@ buildFile flags moduleNum numModules interfaces filePath =
158 writeFile (elmo flags filePath) (jsModule metaModule)
159 writeFile (elmo flags filePath) (jsModule metaModule)
159 return (name,interface)
160 return (name,interface)
161−printTypes metaModule = do
162+printTypes interfaces metaModule = do
162 putStrLn ""
163 putStrLn ""
164+ let rules = Alias.rules interfaces metaModule
163 forM_ (Map.toList $ types metaModule) $ \(n,t) -> do
165 forM_ (Map.toList $ types metaModule) $ \(n,t) -> do
164− print $ variable n <+> P.text ":" <+> pretty t
166+ print $ variable n <+> P.text ":" <+> pretty (Alias.realias rules t)
165 putStrLn ""
167 putStrLn ""
167getRuntime :: Flags -> IO FilePath
169getRuntime :: Flags -> IO FilePath