Martin,
> (The trick with `flip` is tempting, but again at the
> cost of having to peer rather too closely at the implementation of
> processFile when reading the code).
That "trick" is of course completely orthogonal. One could just as well write:
processFile :: (String -> [a]) -> (a -> (String, String)) -> Editor -> String
-> IO ()
processFile f g ed path = do
s <- readFile path
ps -> mapM (makePair . g) (f s)
es -> return $ V.fromList ps
writeIORef ed es
importFile = processFile lines (\x -> (x, ""))
loadFile = processFile parseFile id
Cheers,
Stefan
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe