[Haskell-cafe] minor refactoring problem
Vo Minh Thu
noteed at gmail.com
Tue Nov 29 13:21:12 CET 2011
2011/11/29 Stefan Holdermans <stefan at vectorfabrics.com>:
> 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
With the TupleSections extension, you can write
(,"")
Cheers,
Thu
More information about the Haskell-Cafe
mailing list