
Hi, Am Donnerstag, den 08.09.2011, 09:21 +0200 schrieb Paul R:
Joachim> point taken, if you are already building on a transformer Joachim> stack, adding yet another layer is not a problem. I’m having Joachim> mainly pure code in mind.
I think we need an other word than "pure" here. Usually, we understand "pure" as "always producing the same result when given the same parameters". Here, "always" really means "always", and does not depend on the run-time context of the program. So obviously, a really pure function can't use side-effect run-time constants.
IIUC, what you want is "run-time qualified" functions, or functions that "In the scope of a run, always produce the same result when given the same parameters". Is that right ?
yes, although I understand “pure” as that, e.g. always within one run of the program. This is in line with some other “constants” as those in in GHC.Constants and System.Info in base. What breaks if we allow functions to be pure only within one run of the program? Greetings, Joachim -- Joachim "nomeata" Breitner mail@joachim-breitner.de | nomeata@debian.org | GPG: 0x4743206C xmpp: nomeata@joachim-breitner.de | http://www.joachim-breitner.de/