@@ -73,19 +73,16 @@ extractProgram :: Module.Interfaces -> ModuleName.Canonical -> Maybe Program
73extractProgram interfaces name =
73extractProgram interfaces name =
74 do iface <- Map.lookup name interfaces
74 do iface <- Map.lookup name interfaces
75 mainType <- Map.lookup "main" (Module.iTypes iface)
75 mainType <- Map.lookup "main" (Module.iTypes iface)
76− case mainType of
78+ case T.deepDealias mainType of
77− T.App _program [_flags, _model, msg] ->
79+ T.App _program [_flags, _model, msg] -> Just msg
78− let
80+ T.App _node [msg] -> Just msg
79− (msgType, msgDeps) =
81+ _ -> Nothing
80− Writer.runWriter (extractHelp msg)
83+ let (msgType, msgDeps) = Writer.runWriter (extractHelp message)
83− extractTransitive interfaces mempty msgDeps
84+ let (aliases, unions) = extractTransitive interfaces mempty msgDeps
85− Just $ Program msgType aliases unions
85+ Just $ Program msgType aliases unions
91type Alias =
88type Alias =