Yes, we could

From: ghc-devs [mailto:[email protected]] On Behalf Of David Feuer
Sent: 18 August 2014 22:42
To: ghc-devs
Subject: The definition of cseProgram


Currently, it's defined like this:

cseProgram :: CoreProgram -> CoreProgram
cseProgram binds = cseBinds emptyCSEnv binds

cseBinds :: CSEnv -> [CoreBind] -> [CoreBind]
cseBinds _ [] = []
cseBinds env (b:bs) = (b':bs')
                    where
                      (env1, b') = cseBind env b
                      bs' = cseBinds env1 bs

Couldn't we replace all that with the following? (Thanks to Cale for suggesting 
mapAccumL—I was using scanl because I knew it, but it was not a great fit.)

cseProgram = snd . mapAccumL cseBind emptyCSEnv

David Feuer
_______________________________________________
ghc-devs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to