[Haskell-beginners] Expected / Inferred mis-match and confused!
sean at objitsu.com
Thu Jun 9 20:01:49 CEST 2011
Thanks every, Daniel, the list at large... I have finally solved my
issue and moved on... for the record my function now looks like this:
forwardRoutes :: M.Map String [String]
-> M.Map String [String]
forwardRoutes map row =
let key = row !! 0 in
let val = row !! 1 in
case M.lookup key map of
Nothing -> M.insert key [val] map
Just routes -> M.insert key (nub (val:routes)) map
and does just what I want!
The thing I ha failed to see was using Prelude.lookup instead of
M.lookup and some errant ().
I know nub is 'potentially inefficient' but the source data set is
reasonably small and the script only has to run three to four times a
year so "So what!"
Just one thing: IF the error message had printed out the Prelude.lookup
in the error message, that would have been incredibly useful! Is that a
command line switch I haven't come across perhaps ?
More information about the Beginners