on master help sign in
Add String as an appendable type
dce5e3eEvan Czaplicki
compiler/Type/Unify.hs+4−2
@@ -129,8 +129,10 @@ actuallyUnify span variable1 variable2 = do
129 (Is Comparable, _, _, _) -> unifyComparableStructure variable1 variable2
129 (Is Comparable, _, _, _) -> unifyComparableStructure variable1 variable2
130 (_, Is Comparable, _, _) -> unifyComparableStructure variable2 variable1
130 (_, Is Comparable, _, _) -> unifyComparableStructure variable2 variable1
131
131
132+ (Is Appendable, _, _, Just ctor)
132− (Is Appendable, _, _, Just "Text.Text") -> flexAndUnify variable1
133+ | ctor `elem` ["Text.Text","String"] -> flexAndUnify variable1
134+ (_, Is Appendable, Just ctor, _)
133− (_, Is Appendable, Just "Text.Text", _) -> flexAndUnify variable2
135+ | ctor `elem` ["Text.Text","String"] -> flexAndUnify variable2
134 (Is Appendable, _, _, _) -> unifyAppendable variable1 variable2
136 (Is Appendable, _, _, _) -> unifyAppendable variable1 variable2
135 (_, Is Appendable, _, _) -> unifyAppendable variable2 variable1
137 (_, Is Appendable, _, _) -> unifyAppendable variable2 variable1
136
138