@@ -17,7 +17,7 @@ data Pattern
17 | Anything
17 | Anything
18 | Literal L.Literal
18 | Literal L.Literal
19 | AnythingBut (Set.Set L.Literal)
19 | AnythingBut (Set.Set L.Literal)
20− deriving (Show, Eq)
20+ deriving (Eq)
23fromCanonicalPattern :: P.CanonicalPattern -> Pattern
23fromCanonicalPattern :: P.CanonicalPattern -> Pattern
@@ -83,7 +83,20 @@ toString needsParens pattern =
83 L.toString literal
83 L.toString literal
85 AnythingBut literalSet ->
85 AnythingBut literalSet ->
86− List.intercalate " " ("<values besides:" : map L.toString (Set.toList literalSet) ++ [">"])
86+ case map L.toString (Set.toList literalSet) of
88+ error "should not have an AnythingBut with no literals"
91+ "<values besides " ++ x ++ ">"
94+ "<values besides " ++ x ++ " and " ++ y ++ ">"
98+ ++ List.intercalate ", " (init literals)
99+ ++ ", and " ++ last literals ++ ">"
89addParensIf :: Bool -> String -> String
102addParensIf :: Bool -> String -> String