[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