Preprocessing library pred-trie-0.4.0...
[1 of 2] Compiling Data.Trie.Pred.Step ( src/Data/Trie/Pred/Step.hs, dist/build/
Data/Trie/Pred/Step.o )
src/Data/Trie/Pred/Step.hs:49:10: Warning:
No explicit implementation for
‘insert’
In the instance declaration for ‘Trie NonEmpty s (PredStep c)’
src/Data/Trie/Pred/Step.hs:73:10: Warning:
No explicit implementation for
‘insert’
In the instance declaration for ‘Trie NonEmpty s (PredSteps c)’
[2 of 2] Compiling Data.Trie.Pred ( src/Data/Trie/Pred.hs, dist/build/Data/Tri
e/Pred.o )
src/Data/Trie/Pred.hs:110:7:
Couldn't match expected type ‘HT.HashMapChildren t s t1’
with actual type ‘(Maybe t2, Maybe (PredTrie s t2))’
Relevant bindings include
xs :: HM.HashMap s (HT.HashMapChildren t s t1)
(bound at src/Data/Trie/Pred.hs:109:27)
goLit :: HT.HashMapStep t s t1 -> Maybe (NonEmpty s, t2, [s])
(bound at src/Data/Trie/Pred.hs:109:5)
goPred :: forall t.
PredStep PredTrie s t -> Maybe (NonEmpty s, t, [s])
(bound at src/Data/Trie/Pred.hs:118:5)
ps :: [PredStep PredTrie s a]
(bound at src/Data/Trie/Pred.hs:106:41)
ls :: HT.HashMapStep PredTrie s a
(bound at src/Data/Trie/Pred.hs:106:27)
ts :: [s] (bound at src/Data/Trie/Pred.hs:106:13)
(Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant
-binds)
In the pattern: (mx, mxs)
In a stmt of a 'do' block: (mx, mxs) <- HM.lookup t xs
In the expression:
do { (mx, mxs) <- HM.lookup t xs;
let mFoundHere = ...;
if null ts then
mFoundHere
else
getFirst
$ First
(do { (pre, y, suff) <- matchPT (NE.fromList ts) =<< mxs;
return (t :| NE.toList pre, y, suff) })
<> First mFoundHere }
src/Data/Trie/Pred.hs:135:7:
Couldn't match expected type ‘HT.HashMapChildren t s t1’
with actual type ‘(Maybe t2, Maybe (PredTrie s t2))’
Relevant bindings include
xs :: HM.HashMap s (HT.HashMapChildren t s t1)
(bound at src/Data/Trie/Pred.hs:134:27)
goLit :: HT.HashMapStep t s t1 -> Maybe [(NonEmpty s, t2, [s])]
(bound at src/Data/Trie/Pred.hs:134:5)
goPred :: forall t.
PredStep PredTrie s t -> Maybe [(NonEmpty s, t, [s])]
(bound at src/Data/Trie/Pred.hs:144:5)
ps :: [PredStep PredTrie s a]
(bound at src/Data/Trie/Pred.hs:131:43)
ls :: HT.HashMapStep PredTrie s a
(bound at src/Data/Trie/Pred.hs:131:29)
ts :: [s] (bound at src/Data/Trie/Pred.hs:131:15)
(Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)
In the pattern: (mx, mxs)
In a stmt of a 'do' block: (mx, mxs) <- HM.lookup t xs
In the expression:
do { (mx, mxs) <- HM.lookup t xs;
let mFoundHere = ...
prependAncestry (pre, x, suff) = ...;
if null ts then
mFoundHere
else
do { foundHere <- mFoundHere;
.... } }