From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Dereferencing and style guides
Date: Fri, 11 Oct 2013 08:52:59 -0400
Date: 2013-10-11T08:52:59-04:00 [thread overview]
Message-ID: <wcc8uy0t1ec.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: CE7D704E.38619%yaldnif.w@blueyonder.co.uk
Bill Findlay <yaldnif.w@blueyonder.co.uk> writes:
> Can I make the contrary case?
Certainly.
> Given that we know that P is a pointer, P.f or P(i) can only reasonably be
> interpreted as dereferencing P and selecting a component from the result; so
> I do not see that P^.f or P^(i) improves comprehensibility to any
> significant degree.
>
> Given that we do not know that P is a pointer, P.f or P(i) is essentially
> the same cognitive burden as R.f or A(i); from the uniform referent point of
> view this is an advantage. It fails to be, only if the dereference fails,
> and we know that that should not happen in Ada 8-). Even if it does, the
> extra effort of perceiving the semantics correctly is trivial.
By "dereference fails", I assume you're talking about null pointers.
I wasn't so worried about that -- I'm more worried about
aliasing. I'm thinking "X^.Y := ..." is a helpful reminder that
some other pointers might also point to X^.
So I'm not convinced. But I guess your point of view is more
popular than mine. Consider languages like Java, for ex,
where (almost) everything is a pointer, greatly (IMHO) exacerbating
the aliasing problem.
A pure functional language would be different: there, the semantics
of "a thing" and "a pointer to a thing" are indistinguishable,
so there's no reason to have explicit dereference operators.
- Bob
next prev parent reply other threads:[~2013-10-11 12:52 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-30 6:35 Dereferencing and style guides Natasha Kerensikova
2013-09-30 7:13 ` Dmitry A. Kazakov
2013-09-30 12:51 ` Robert A Duff
2013-09-30 16:49 ` Georg Bauhaus
2013-09-30 18:18 ` Jeffrey Carter
2013-10-03 19:20 ` Robert A Duff
2013-10-04 13:22 ` Georg Bauhaus
2013-10-04 13:25 ` Georg Bauhaus
2013-10-07 16:10 ` Eryndlia Mavourneen
2013-10-08 0:48 ` Robert A Duff
2013-10-10 7:35 ` Stefan.Lucks
2013-10-10 14:48 ` Adam Beneschan
2013-10-10 22:49 ` Robert A Duff
2013-10-11 8:07 ` Bill Findlay
2013-10-11 12:52 ` Robert A Duff [this message]
2013-10-11 13:02 ` G.B.
2013-10-11 13:19 ` Bill Findlay
2013-10-19 2:40 ` Randy Brukardt
2013-10-19 2:46 ` Randy Brukardt
2013-10-19 2:36 ` Randy Brukardt
2013-09-30 13:53 ` Eryndlia Mavourneen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox