
20 Aug
2008
20 Aug
'08
8:49 a.m.
On Mon, 18 Aug 2008, ajb@spamcop.net wrote:
G'day all.
Quoting Bjorn Buckwalter
: 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.