[m-dev.] for review: add extras/exceptions
Peter Schachte
pets at students.cs.mu.OZ.AU
Thu Jul 23 09:57:42 AEST 1998
On Wed, 22 Jul 1998, Tyson Dowd wrote:
> On 22-Jul-1998, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> > +% Mercury doesn't support impure higher-order pred terms, so if we want
> > +% to form a closure from unsafe_perform_io, as we need to do above,
> > +% then we must (falsely!) promise that it is pure.
> > +:- pragma promise_pure(very_unsafe_perform_io/2). % XXX this is a lie
> > +
>
> I can find no mention of this limitation of purity anywhere (reference
> manual, LIMITATIONS, purity.m). It would be good to be in all three.
> (How many wishes to do I get?).
Agreed. And as long as someone is updating these files, it would probably
be worth confessing that we don't allow impure or semipure functions,
either. I still believe that impure functions are not a good idea (you can
give them a semantics, but it's rather subtle and can be surprising in
"backwards" modes), but semipure functions should be straightforward and
would be very useful.
-Peter Schachte | One thing's for sure: if we keep doing what
mailto:pets at cs.mu.OZ.AU | we're doing, we're going to keep getting
http://www.cs.mu.oz.au/~pets/ | what we're getting.
PGP: finger pets at 128.250.37.3 | -- Stephen Covey, et al.
More information about the developers
mailing list