[Haskell-cafe] minor refactoring problem
Stefan Holdermans
stefan at vectorfabrics.com
Tue Nov 29 09:55:24 CET 2011
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
More information about the Haskell-Cafe
mailing list