
Hi there, I've got a problem creating a map. I have a list of dataset names and adding those dataset names into a map works fine like this: <----------------------------snip--------------------------------> module Main where import Data.List import qualified Data.Map as M insertRec :: M.Map String String -> String -> M.Map String String insertRec m e = let f = M.lookup e m in if f == Nothing then M.insert e "bla" m else m createMap :: [String] -> M.Map String String createMap lst = let m = M.empty in foldl' insertRec m lst main :: IO () main = do let xmlfiles = [ "a.xml","f.xml"] let ht = createMap xmlfiles print ht <----------------------------snap--------------------------------> However, actually I want to parse the xml files and adding content into the map. For this I have a function getXmlContent :: FilePath -> IO (String,String) and would like to do something like this: <----------------------------snip--------------------------------> insertRec m e = do c <- getXmlContent e let k = fst c let v = snd c M.insert k v m <----------------------------snap--------------------------------> Unfortunately, this doesn't work because of IO. I have no glue how to get this done. Any help appreciated. -- Thanks, Manfred