app/Main.hs:3:1: warning: [-Wunused-imports]
The import of ‘Control.Monad.Primitive’ is redundant
except perhaps to import instances from ‘Control.Monad.Primitive’
To import instances alone, use: import Control.Monad.Primitive()
|
3 | import Control.Monad.Primitive
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/Main.hs:6:1: warning: [-Wunused-imports]
The import of ‘Data.List’ is redundant
except perhaps to import instances from ‘Data.List’
To import instances alone, use: import Data.List()
|
6 | import Data.List
| ^^^^^^^^^^^^^^^^
app/Main.hs:7:1: warning: [-Wunused-imports]
The import of ‘Data.Char’ is redundant
except perhaps to import instances from ‘Data.Char’
To import instances alone, use: import Data.Char()
|
7 | import Data.Char
| ^^^^^^^^^^^^^^^^
app/Main.hs:8:1: warning: [-Wunused-imports]
The import of ‘Data.Ord’ is redundant
except perhaps to import instances from ‘Data.Ord’
To import instances alone, use: import Data.Ord()
|
8 | import Data.Ord
| ^^^^^^^^^^^^^^^
app/Main.hs:10:1: warning: [-Wunused-imports]
The import of ‘Data.Bool’ is redundant
except perhaps to import instances from ‘Data.Bool’
To import instances alone, use: import Data.Bool()
|
10 | import Data.Bool
| ^^^^^^^^^^^^^^^^
app/Main.hs:11:1: warning: [-Wunused-imports]
The import of ‘Data.Vector.Unboxed.Base’ is redundant
except perhaps to import instances from ‘Data.Vector.Unboxed.Base’
To import instances alone, use: import Data.Vector.Unboxed.Base()
|
11 | import Data.Vector.Unboxed.Base
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/Main.hs:12:1: warning: [-Wunused-imports]
The qualified import of ‘Data.Vector.Unboxed’ is redundant
except perhaps to import instances from ‘Data.Vector.Unboxed’
To import instances alone, use: import Data.Vector.Unboxed()
|
12 | import qualified Data.Vector.Unboxed as VU
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/Main.hs:13:1: warning: [-Wunused-imports]
The qualified import of ‘Data.Vector.Unboxed.Mutable’ is redundant
except perhaps to import instances from ‘Data.Vector.Unboxed.Mutable’
To import instances alone, use: import Data.Vector.Unboxed.Mutable()
|
13 | import qualified Data.Vector.Unboxed.Mutable as VUM
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/Main.hs:14:1: warning: [-Wunused-imports]
The qualified import of ‘Data.Vector’ is redundant
except perhaps to import instances from ‘Data.Vector’
To import instances alone, use: import Data.Vector()
|
14 | import qualified Data.Vector as V
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/Main.hs:15:1: warning: [-Wunused-imports]
The qualified import of ‘Data.Vector.Mutable’ is redundant
except perhaps to import instances from ‘Data.Vector.Mutable’
To import instances alone, use: import Data.Vector.Mutable()
|
15 | import qualified Data.Vector.Mutable as VM
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/Main.hs:18:1: warning: [-Wunused-imports]
The qualified import of ‘Data.Sequence’ is redundant
except perhaps to import instances from ‘Data.Sequence’
To import instances alone, use: import Data.Sequence()
|
18 | import qualified Data.Sequence as Seq
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/Main.hs:19:1: warning: [-Wunused-imports]
The qualified import of ‘Data.Set’ is redundant
except perhaps to import instances from ‘Data.Set’
To import instances alone, use: import Data.Set()
|
19 | import qualified Data.Set as Set
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/Main.hs:20:1: warning: [-Wunused-imports]
The qualified import of ‘Data.IntMap’ is redundant
except perhaps to import instances from ‘Data.IntMap’
To import instances alone, use: import Data.IntMap()
|
20 | import qualified Data.IntMap as IM
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/Main.hs:21:1: warning: [-Wunused-imports]
The import of ‘Data.Graph.Inductive’ is redundant
except perhaps to import instances from ‘Data.Graph.Inductive’
To import instances alone, use: import Data.Graph.Inductive()
|
21 | import Data.Graph.Inductive
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
app/Main.hs:23:1: warning: [-Wmissing-signatures]
Top-level binding with no type signature:
readInt :: BS.ByteString -> Int
|
23 | readInt = fst . fromJust . BS.readInt
| ^^^^^^^
app/Main.hs:24:1: warning: [-Wmissing-signatures]
Top-level binding with no type signature:
readIntList :: BS.ByteString -> [Int]
|
24 | readIntList = map readInt . BS.words
| ^^^^^^^^^^^
app/Main.hs:24:1: warning: [-Wunused-top-binds]
Defined but not used: ‘readIntList’
|
24 | readIntList = map readInt . BS.words
| ^^^^^^^^^^^
app/Main.hs:25:1: warning: [-Wmissing-signatures]
Top-level binding with no type signature: getInt :: IO Int
|
25 | getInt = readInt <$> BS.getLine
| ^^^^^^
app/Main.hs:26:1: warning: [-Wmissing-signatures]
Top-level binding with no type signature: getIntList :: IO [Int]
|
26 | getIntList = readIntList <$> BS.getLine
| ^^^^^^^^^^
app/Main.hs:26:1: warning: [-Wunused-top-binds]
Defined but not used: ‘getIntList’
|
26 | getIntList = readIntList <$> BS.getLine
| ^^^^^^^^^^
app/Main.hs:28:1: warning: [-Wmissing-signatures]
Top-level binding with no type signature: main :: IO ()
|
28 | main = do
| ^^^^
app/Main.hs:32:19: warning: [-Wincomplete-patterns]
Pattern match(es) are non-exhaustive
In an equation for ‘f’:
Patterns of type ‘Char’ not matched:
p where p is not one of {'S', 'R', 'P'}
|
32 | where f 'R' = 'A'
| ^^^^^^^^^^^...
app/Main.hs:42:61: warning: [-Wtype-defaults]
• Defaulting the type variable ‘a0’ to type ‘Integer’ in the following constraints
(Eq a0) arising from a use of ‘==’ at app/Main.hs:42:61-62
(Num a0) arising from a use of ‘jan’ at app/Main.hs:42:42-44
• In the second argument of ‘(&&)’, namely
‘jan 'A' (abcs ! p) == 1’
In the expression: c == 'A' && jan 'A' (abcs ! p) == 1
In a stmt of a pattern guard for
an equation for ‘subproblems’:
c == 'A' && jan 'A' (abcs ! p) == 1
|
42 | subproblems (p, c) | c == 'A' && jan 'A' (abcs ! p) == 1 = [((p-1, 'B'), 1), ((p-1, 'C'), 1)]
| ^^
app/Main.hs:43:61: warning: [-Wtype-defaults]
• Defaulting the type variable ‘a0’ to type ‘Integer’ in the following constraints
(Eq a0) arising from a use of ‘==’ at app/Main.hs:43:61-62
(Num a0) arising from a use of ‘jan’ at app/Main.hs:43:42-44
• In the second argument of ‘(&&)’, namely
‘jan 'A' (abcs ! p) == 0’
In the expression: c == 'A' && jan 'A' (abcs ! p) == 0
In a stmt of a pattern guard for
an equation for ‘subproblems’:
c == 'A' && jan 'A' (abcs ! p) == 0
|
43 | | c == 'A' && jan 'A' (abcs ! p) == 0 = [((p-1, 'B'), 0), ((p-1, 'C'), 0)]
| ^^
app/Main.hs:44:61: warning: [-Wtype-defaults]
• Defaulting the type variable ‘a0’ to type ‘Integer’ in the following constraints
(Eq a0) arising from a use of ‘==’ at app/Main.hs:44:61-62
(Num a0) arising from a use of ‘jan’ at app/Main.hs:44:42-44
• In the second argument of ‘(&&)’, namely
‘jan 'B' (abcs ! p) == 1’
In the expression: c == 'B' && jan 'B' (abcs ! p) == 1
In a stmt of a pattern guard for
an equation for ‘subproblems’:
c == 'B' && jan 'B' (abcs ! p) == 1
|
44 | | c == 'B' && jan 'B' (abcs ! p) == 1 = [((p-1, 'C'), 1), ((p-1, 'A'), 1)]
| ^^
app/Main.hs:45:61: warning: [-Wtype-defaults]
• Defaulting the type variable ‘a0’ to type ‘Integer’ in the following constraints
(Eq a0) arising from a use of ‘==’ at app/Main.hs:45:61-62
(Num a0) arising from a use of ‘jan’ at app/Main.hs:45:42-44
• In the second argument of ‘(&&)’, namely
‘jan 'B' (abcs ! p) == 0’
In the expression: c == 'B' && jan 'B' (abcs ! p) == 0
In a stmt of a pattern guard for
an equation for ‘subproblems’:
c == 'B' && jan 'B' (abcs ! p) == 0
|
45 | | c == 'B' && jan 'B' (abcs ! p) == 0 = [((p-1, 'C'), 0), ((p-1, 'A'), 0)]
| ^^
app/Main.hs:46:61: warning: [-Wtype-defaults]
• Defaulting the type variable ‘a0’ to type ‘Integer’ in the following constraints
(Eq a0) arising from a use of ‘==’ at app/Main.hs:46:61-62
(Num a0) arising from a use of ‘jan’ at app/Main.hs:46:42-44
• In the second argument of ‘(&&)’, namely
‘jan 'C' (abcs ! p) == 1’
In the expression: c == 'C' && jan 'C' (abcs ! p) == 1
In a stmt of a pattern guard for
an equation for ‘subproblems’:
c == 'C' && jan 'C' (abcs ! p) == 1
|
46 | | c == 'C' && jan 'C' (abcs ! p) == 1 = [((p-1, 'A'), 1), ((p-1, 'B'), 1)]
| ^^
app/Main.hs:47:61: warning: [-Wtype-defaults]
• Defaulting the type variable ‘a0’ to type ‘Integer’ in the following constraints
(Eq a0) arising from a use of ‘==’ at app/Main.hs:47:61-62
(Num a0) arising from a use of ‘jan’ at app/Main.hs:47:42-44
• In the second argument of ‘(&&)’, namely
‘jan 'C' (abcs ! p) == 0’
In the expression: c == 'C' && jan 'C' (abcs ! p) == 0
In a stmt of a pattern guard for
an equation for ‘subproblems’:
c == 'C' && jan 'C' (abcs ! p) == 0
|
47 | | c == 'C' && jan 'C' (abcs ! p) == 0 = [((p-1, 'A'), 0), ((p-1, 'B'), 0)]
| ^^
app/Main.hs:75:45: warning: [-Wname-shadowing]
This binding for ‘sp’ shadows the existing binding
imported from ‘Data.Graph.Inductive’ at app/Main.hs:21:1-27
(and originally defined in ‘Data.Graph.Inductive.Query.SP’)
|
75 | ret <- foldM (\acc (sp, s) -> do
| ^^