on master help sign in
Add AST.Type.iteratedDealias
commit3821d9adcfd9af6a35756d18bf8e1aca7a578f4d authorEvan Czaplicki <info@elm-lang.org> dateSun 18 Oct 2015, 01:08 (11 years ago) parent54dfb21
1 file changed+11−1
src/AST/Type.hs+11−1
src/AST/Type.hs+11−1
@@ -2,7 +2,7 @@ module AST.Type
22 ( Raw, Raw'(..)
33 , Canonical(..), Aliased(..)
44 , Port(..), getPortType
5− , deepDealias, dealias
5+ , deepDealias, iteratedDealias, dealias
66 , collectLambdas
77 , fieldMap
88 , tuple
@@ -114,6 +114,16 @@ deepDealias tipe =
114114 App (deepDealias f) (map deepDealias args)
115115
116116
117+iteratedDealias :: Canonical -> Canonical
118+iteratedDealias tipe =
119+ case tipe of
120+ Aliased _ args realType ->
121+ iteratedDealias (dealias args realType)
122+
123+ _ ->
124+ tipe
125+
126+
117127dealias :: [(String, Canonical)] -> Aliased Canonical -> Canonical
118128dealias args aliasType =
119129 case aliasType of