On Wed, Jun 27, 2018 at 8:26 PM, N.M. Maclaren <n...@cam.ac.uk> wrote:
> On Jun 27 2018, Janus Weil wrote: > >> What is so complicated about putting a statement into the Fortran >> standard that says: "Ok, if this function has side effects, we >> definitely must evaluate it, otherwise we lose the side effects. They >> might be important." ??? >> > > Because that would mean a complete redesign of Fortran's semantic model > of execution. If the semantic model is unclear on whether a function with potential side-effects might or might not be evaluated, then IMNSHO the semantic model is shit, and should be fixed or replaced. > It would also NOT be what a lot of people want. Huh? Who wants that? And why?? > Inter > alia, you would have to define what a side-effect is - and my point > about IEEE 754 is very relevant here. > AFAIU most languages that take purity seriously, including in particular Haskell, explicitly consider the IEEE exceptions outside the purity model. Similarly, evaluating a pure expression might cause you to run out of memory and the program is killed, which is most definitely a side-effect but not one that is taken into account in the Haskell concept of purity. I could certainly live with such compromises on purity, and I don't think those examples are a good excuse to do nothing. -- Janne Blomqvist