comp.lang.ada
 help / color / mirror / Atom feed
From: Adam Beneschan <adam@irvine.com>
Subject: Re: not null
Date: Wed, 4 Mar 2009 17:54:16 -0800 (PST)
Date: 2009-03-04T17:54:16-08:00	[thread overview]
Message-ID: <a9bbaecc-7bcf-4f98-bb58-7ec02827adb3@o2g2000prl.googlegroups.com> (raw)
In-Reply-To: gh8odo3c33ch$.13j4r5d434rg9.dlg@40tude.net

On Mar 4, 12:38 pm, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
wrote:

> Recursive types is not the single case where references are used. For smart
> pointers not null constraint is very useful.

Right, I didn't say a "not null" constraint isn't useful; I'm just
saying that it's also useful to have access objects that *can* be
null, if needed.  Actually, I'm not clear on whether anyone disagrees
with that.  This points to a curiosity in Hoare's abstract: first he
implies that inventing "null references" was a big mistake, and then
he says "declarations for non-null references" is the solution.  If
allowing null references is a mistake, then the solution is to
disallow them---not to allow the programmer to declare a reference
that may not be null, right?  I think maybe Hoare misstated the
problem.  The mistake wasn't inventing null references; the mistake
was not providing a way for the programmer to disallow selected
reference types or variables (objects) from being null.    This
misstatement may have led to some confusion on this thread.

                                 -- Adam



  reply	other threads:[~2009-03-05  1:54 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-04 14:44 not null Georg Bauhaus
2009-03-04 14:56 ` Hyman Rosen
2009-03-04 15:22   ` Georg Bauhaus
2009-03-04 16:16     ` Adam Beneschan
2009-03-05 14:24       ` Georg Bauhaus
2009-03-05 16:07         ` Adam Beneschan
2009-03-06  1:07       ` Hibou57 (Yannick Duchêne)
2009-03-04 16:09   ` Adam Beneschan
2009-03-04 20:38     ` Dmitry A. Kazakov
2009-03-05  1:54       ` Adam Beneschan [this message]
2009-03-05  8:42         ` Dmitry A. Kazakov
2009-03-05  1:32     ` Brian Drummond
2009-03-05  1:47       ` Adam Beneschan
2009-03-05 11:32         ` Brian Drummond
2009-03-05 15:06           ` Dmitry A. Kazakov
2009-03-05 13:57         ` Georg Bauhaus
2009-03-05 19:53       ` Jack Mitchell
2009-03-05  8:49     ` Jacob Sparre Andersen
2009-03-05 16:10       ` Adam Beneschan
2009-03-05 17:20         ` Jacob Sparre Andersen
2009-03-06  1:04     ` Hibou57 (Yannick Duchêne)
2009-03-06 12:01     ` Harald Korneliussen
2009-03-06 12:43       ` Jacob Sparre Andersen
2009-03-06 13:05         ` Harald Korneliussen
2009-03-06 15:21       ` Dmitry A. Kazakov
2009-03-06 16:59         ` Harald Korneliussen
2009-03-06 17:48           ` Dmitry A. Kazakov
2009-03-06 20:05             ` Georg Bauhaus
2009-03-06 21:31               ` Dmitry A. Kazakov
2009-03-04 16:19   ` Robert A Duff
2009-03-04 20:39 ` Colin Paul Gloster
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox