Hello there,
While compiling some source code of mine, containing
the following lines (line numbers included):
321
322 > minCycleLength :: Vertex -> (MarcMap Vertex (MarcMap Vertex v)) -> Maybe Int
323 > minCycleLength v g
324 > = mcl ws g''
325 > where ws = mapDom (rdMap g v)
326 > g' = mapMap (\wrs -> mapMap (\_ -> Nothing) wrs) g
327 > g'' = foldr (\w g' -> wrMap (rdMap g' w) v (Just (w,1))) g' ws
328 > mcl [] _
329 > = Nothing
330 >
Line 329 was the last line of the definition of minCycleLength (under construction).
The following error message was returned by ghc-3.01
Search.lhs:327:
Occurs check: cannot construct the infinite type:
a1Lv = MarcMap a1Lt a1Lv
Expected: MarcMap a1Lz (MarcMap a1Lz a1Lv)
Inferred: MarcMap a1Lz a1Lv
In the first argument of `MarcMap.rdMap', namely `g'
In the first argument of `MarcMap.wrMap', namely
`(MarcMap.rdMap g w)'
It seems as if the quote symbol in the fragment
(rdMap g' w)
in line 327 has been omitted somehow. The two nearest occurences of
the regular expression "rdMap[ ]+g[ ]+w" are more than 100 lines before
and 30 lines after line 327.
If needed, I can provide the source-code from which this was generated.
Regards,
Marc