Reflections on Haskell and Rust
academy.fpblock.comRegarding the shadowing example, you probably wouldn't write
config <- loadConfig
config' <- validateConfig config
config'' <- mergeDefaults config'
in Haskell but rather config <- mergeDefaults =<< validateConfig =<< loadConfigI would just shadow (it works)
config <- loadConfig config <- validateConfig config config <- mergeDefaults config