[m-dev.] EDCG: backwards compatability

Fergus Henderson fjh at cs.mu.OZ.AU
Wed Jan 26 00:25:35 AEDT 2000


On 25-Jan-2000, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> 
> > :- pred io__make_temp(string, string, string) +hidden(changed(io)).
> > :- mode io__make_temp(in, in, out) is det.
> >         % io__mktemp(Dir, Prefix, Name, IO0, IO) creates an empty
> 
> For a start, this is a documentation bug.
> 
> Beyond that, we can keep io__make_temp at total arity 3 and rename
> the total arity 5 version as io__make_temp_in_dir. This is an incompatibility,
> but it will affect very few people and it is trivial to fix.
> 
> We could also do the same with the io__tmpnam predicates, but since they
> was made obsolete 18 months ago, I don't see any reason why we shouldn't
> delete them instead.

Why not leave io__make_temp as a DCG, add `pragma obsolete' for the
total arity 5 version, and add io__make_temp_in_dir with total
arity 5?  Then we can change everything except io__make_temp to
use EDCGs.  Eventually, after a release or two, we can drop the
one declared `pragma obsolete' and make the other io__make_temp
use EDCGs too.

-- 
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 128.250.37.3        |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list