🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #2067

Re: Errors in postings

#2067
From: Dan Bernstein
Date: Wed, 14 Nov 1990 00:19
59 lines
3215 bytes
In article <2622@exodus.Eng.Sun.COM> chased@rbbb.Eng.Sun.COM () writes:
> brnstnd@kramden.acf.nyu.edu writes:
> > I quote an article of mine from April:
> > : Hmmm, this doesn't sound right. After all, if A and B could be aliased,
> > : and B and C could be aliased, then A and C could be aliased. (This is
> > : why the natural keyword is ``alias,'' not ``noalias.'')
> > I have always held the same position. You can see exactly the same
> > position in many of my articles, and in my complaint that the Convex
> > anti-aliasing mechanism makes the opposite assumption.
> But, this is not correct.

What is not correct? We were talking about Jim's misquotes.

> Consider the example:

You have a different interpretation of ``could be.'' You're saying that
in one particular program, A and B happen to be aliased some of the
time, and B and C happen to be aliased some of the time, but A and C are
not aliased.

I'm saying that in the universe under the assumptions that A and B can
be aliased and that B and C can be aliased, it's certainly true that A
and C can be aliased, though they might not be in a particular example.
In contrast, under the assumptions that A and B are never aliased and
that B and C are never aliased, it's *not* true that A and C are never
aliased, though it may happen that they are not aliased in a particular
example.

In case that paragraph was confusing: f(X,Y) = X and Y can be aliased.
g(X,Y) = X and Y cannot be aliased.

  ``Under the assumptions that f(A,B) and f(B,C), it's certainly true
  f(A,C), though A and C might not be aliased in a particular example.

  In contrast, under the assumptions that g(A,B) and g(B,C), it's not
  true g(A,C), though it may happen that A and C are not aliased in a
  particular example.''

Why isn't this symmetric? Because g(X,Y) is ``never f(X,Y)'', but
f(X,Y) is not ``never g(X,Y).'' The ``can''s and ``never''s are
important here.

Can-can algebra aside, alias (``these variables are sometimes aliased'')
feels like a more natural qualifier than noalias (``these variables are
never aliased''). Why? Because the quantifier in alias transcends a
specific use of a function or library and talks about how it's *meant*
to be used. In contrast, the quantifier in noalias talks about the world
as it might happen to be at one moment.

To go a bit further and introduce the missing elements: Think about the
qualifiers antialias (``these variables may be unaliased'') and
noantialias (``these variables *must* be aliased''). If I had to choose
between these two instead of alias-noalias, I'd choose the former. Why?
Because the ``may'' makes it feel more natural.

I don't know if I can give a logical explanation for an emotional issue,
but I hope this helps you understand my point.

---Dan
Technical Details
Message-ID: <6143:Nov1400:19:4990@kramden.acf.nyu.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!midway!ncar!elroy.jpl.nasa.gov!usc!wuarchive!udel!haven!adm!cmcl2!kramden.acf.nyu.edu!brnstnd
References: <2622@exodus.Eng.Sun.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!midway!ncar!elroy.jpl.nasa.gov!usc!wuarchive!udel!haven!adm!cmcl2!kramden.acf.nyu.edu!brnstnd
From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein)
Newsgroups: comp.lang.misc
Subject: Re: Errors in postings
Message-ID: <6143:Nov1400:19:4990@kramden.acf.nyu.edu>
Date: 14 Nov 90 00:19:49 GMT
References: <2622@exodus.Eng.Sun.COM>
Organization: IR
Lines: 59