[Haskell-cafe] Reader monad, implicit parameters, or something else altogether?

Henning Thielemann lemming at henning-thielemann.de
Mon Aug 18 11:16:12 EDT 2008


On Mon, 18 Aug 2008, Bjorn Buckwalter wrote:

> I would like to know if there is any consensus on what is the best way
> to make such a data structure accessible in pure functions. Passing it
> explicitly would be a mess. It seems that two options are to use
> either a Reader monad or implicit parameters. Using a Reader monad is
> straight forward enough though it requires writing/converting code
> in/to monadic style and adds some clutter to the formulae. It seems
> implicit parameters could be cleaner but I've seen them referred to as
> everything from evil to "just what you need" and rendering the Reader
> monad obsolete...

I expect that you will get the same range of opinions as you got from your 
search. As far as I know implicit parameters break referential 
transparency.
   http://www.haskell.org/haskellwiki/The_Monad.Reader/Issue2/FunWithLinearImplicitParameters
  So I prefer Reader monad. The burden of converting to monadic style pays 
off when you need to use the same code with different values for the 
"constants". (E.g. find out for which value of the Planck constant the 
universe collapses and for which it oscillates etc. :-)


More information about the Haskell-Cafe mailing list