[m-dev.] assertions (was: Assocative predicates)

Fergus Henderson fjh at cs.mu.OZ.AU
Thu Apr 23 15:20:28 AEST 1998

On 23-Apr-1998, Andrew Bromage <bromage at cs.mu.OZ.AU> wrote:
> G'day all.
> Fergus Henderson wrote:
> > One way of working around this would be to use a "not_reached" mode
> > 
> > 	% na stands for "not applicable"
> > 	:- mode na == not_reached -> not_reached.
> > 
> > 	:- mode associative_function(na) is erroneous.
> UGH!  NO NO NO!  We are NOT letting programmers use not_reached insts!
> They're bad enough to deal with when the compiler generates them, let
> alone letting the user get a handle on them.
> Did I put that strongly enough?

Well, loudly enough ;-), yes, but I'm not convinced.
The compiler already does allow users to get their hands on not_reached insts,
and I'd be opposed to the removal of this feature.

Since the compiler generates `not_reached' insts, we already need to
handle them, so letting the user get a handle on them doesn't pose any
major additional difficulties.  (Yes, there may be are some issues
about converting `not_reached' insts into `unreachable' instmaps, but
these should minor, IMHO.)

Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at        |     -- the last words of T. S. Garp.

More information about the developers mailing list