[Haskell-beginners] trouble using the foldl ....
Sunil S Nandihalli
sunil.nandihalli at gmail.com
Thu Aug 11 12:53:16 CEST 2011
Hello everybody,
When I compile a file containing ...
plotAsString::(Integral a)=>[(a,a)]->a->String
plotAsString locs ans = let xs = map fst locs
ys = map snd locs
locsmap = M.fromList (zip locs [0..])
bufsize=10
min' = ((\x -> x-bufsize) . minimum)
max' = ((\x -> x+bufsize) . maximum)
(bmin@(x0,y0),bmax@(x1,y1)) = ((min' xs,min'
ys),(max' xs,max' ys))
plotString = foldl (\curStr newRowId -> (foldl
(\ccStr newColId -> (ccStr++(case (M.member (newRowId,newColId) locsmap) of
(Just v) -> ("." ++ (show v) ++ ".")
(Nothing) -> " ")))
curStr [y0..y1])) "" [x0..x1]
in plotString
I get the following error..
main.hs:34:107:
Couldn't match expected type `Bool' with actual type `Maybe t0'
In the pattern: Just v
In a case alternative: (Just v) -> ("." ++ (show v) ++ ".")
In the second argument of `(++)', namely
`(case (M.member (newRowId, newColId) locsmap) of {
(Just v) -> ("." ++ (show v) ++ ".")
(Nothing) -> " " })'
can somebody help?
Thanks,
Sunil.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20110811/c902d219/attachment.htm>
More information about the Beginners
mailing list