@@ -1,4 +1,5 @@
1{-# OPTIONS_GHC -Wall #-}
1{-# OPTIONS_GHC -Wall #-}
2+{-# LANGUAGE OverloadedStrings #-}
2module Nitpick.PatternMatches (patternMatches) where
3module Nitpick.PatternMatches (patternMatches) where
4{- The algorithm used here comes from "Warnings for Pattern Matching"
5{- The algorithm used here comes from "Warnings for Pattern Matching"
@@ -14,6 +15,8 @@ import qualified Data.List as List
14import qualified Data.Map as Map
15import qualified Data.Map as Map
15import qualified Data.Maybe as Maybe
16import qualified Data.Maybe as Maybe
16import qualified Data.Set as Set
17import qualified Data.Set as Set
18+import qualified Data.Text as Text
19+import Data.Text (Text)
18import qualified AST.Expression.Canonical as C
21import qualified AST.Expression.Canonical as C
19import qualified AST.Helpers as Help
22import qualified AST.Helpers as Help
@@ -379,7 +382,7 @@ isCompleteHelp ctors row =
381type ArityDict =
384type ArityDict =
382− Map.Map Var.Home (Map.Map String ArityInfo)
385+ Map.Map Var.Home (Map.Map Text ArityInfo)
385data ArityInfo =
388data ArityInfo =
@@ -416,21 +419,21 @@ builtinDict =
416 ++ map makeTupleInfo [0..8]
419 ++ map makeTupleInfo [0..8]
419−makeTupleInfo :: Int -> ( String, ArityInfo )
422+makeTupleInfo :: Int -> ( Text, ArityInfo )
420makeTupleInfo n =
423makeTupleInfo n =
423− "_Tuple" ++ show n
426+ Text.pack ("_Tuple" ++ show n)
425 ( name, ArityInfo 1 [ (Var.builtin name, n) ] )
428 ( name, ArityInfo 1 [ (Var.builtin name, n) ] )
428−toArityEntry :: ModuleName.Canonical -> Module.Unions -> Map.Map String ArityInfo
431+toArityEntry :: ModuleName.Canonical -> Module.Unions -> Map.Map Text ArityInfo
429toArityEntry name unions =
432toArityEntry name unions =
430 Map.fromList (concatMap (toArityEntryHelp name) (Map.elems unions))
433 Map.fromList (concatMap (toArityEntryHelp name) (Map.elems unions))
433−toArityEntryHelp :: ModuleName.Canonical -> Module.UnionInfo String -> [(String, ArityInfo)]
436+toArityEntryHelp :: ModuleName.Canonical -> Module.UnionInfo Text -> [(Text, ArityInfo)]
434toArityEntryHelp name (_tvars, ctors) =
437toArityEntryHelp name (_tvars, ctors) =
436 arityInfo =
439 arityInfo =
@@ -447,7 +450,7 @@ getArityInfo var@(Var.Canonical home name) arityDict =
448 Nothing ->
451 Nothing ->
449 if Help.isTuple name then
452 if Help.isTuple name then
450− ArityInfo 1 [ (var, read (drop 6 name)) ]
453+ ArityInfo 1 [ (var, read (drop 6 (Text.unpack name))) ]
453 "Since the Nitpick phase happens after canonicalization and type\
456 "Since the Nitpick phase happens after canonicalization and type\