git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Don't output empty __superclasses
commitf34067189c6742029cc753e0c662ee223527821a authorGary Burgess <gary.burgess@gmail.com> dateSun 6 Jul 2014, 22:31 (12 years ago) parenteadf235
1 file changed+4−3
src/Language/PureScript/Sugar/TypeClasses.hs+4−3
src/Language/PureScript/Sugar/TypeClasses.hs+4−3
@@ -137,8 +137,9 @@ typeClassDictionaryDeclaration name args implies members =
137137 , let tySynApp = foldl TypeApp (TypeConstructor superclass) tyArgs
138138 , let fieldName = mkSuperclassDictionaryName superclass index
139139 ], REmpty))
140−
141− in TypeSynonymDeclaration name args (TypeApp tyObject $ rowFromList ((C.__superclasses, superclassesType) : map (first identToProperty . memberToNameAndType) members, REmpty))
140+ members' = map (first identToProperty . memberToNameAndType) members
141+ mtys = if null implies then members' else (C.__superclasses, superclassesType) : members'
142+ in TypeSynonymDeclaration name args (TypeApp tyObject $ rowFromList (mtys, REmpty))
142143
143144typeClassMemberToDictionaryAccessor :: ModuleName -> ProperName -> [String] -> Declaration -> Declaration
144145typeClassMemberToDictionaryAccessor mn name args (TypeDeclaration ident ty) =
@@ -187,7 +188,7 @@ typeInstanceDictionaryDeclaration name mn deps className tys decls =
187188 , let fieldName = mkSuperclassDictionaryName superclass index
188189 ]
189190
190− let memberNames' = (C.__superclasses, superclasses) : memberNames
191+ let memberNames' = if null implies then memberNames else (C.__superclasses, superclasses) : memberNames
191192 dictTy = foldl TypeApp (TypeConstructor className) tys
192193 constrainedTy = quantify (if null deps then function unit dictTy else ConstrainedType deps dictTy)
193194 dict = if null deps then Abs (Left (Ident "_")) (ObjectLiteral memberNames') else ObjectLiteral memberNames'