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

Henning Thielemann lemming at henning-thielemann.de
Wed Aug 20 04:49:16 EDT 2008


On Mon, 18 Aug 2008, ajb at spamcop.net wrote:

> G'day all.
>
> Quoting Bjorn Buckwalter <bjorn.buckwalter at gmail.com>:
>
>> I'd store the constants in a data structure along the lines of:
>> 
>>> data AstroData a = AstroData
>>>  { mu_Earth    :: GravitationalParameter a
>>>  , leapSeconds :: LeapSecondTable
>>>  }
>> 
>> 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.
>
> In this situation, there isn't necessarily any shame in using a
> top-level unsafePerformIO as long as it's well-hidden:
>
>   module AstroData (AstroData(..), globalAstroData) where
>
>   data AstroData = AstroData Int

But here my argument about playing around with the Planck constant becomes 
relevant.


More information about the Haskell-Cafe mailing list