From: "Hibou57 (Yannick Duchêne)" <yannick_duchene@yahoo.fr>
Subject: Re: not null
Date: Thu, 5 Mar 2009 17:04:18 -0800 (PST)
Date: 2009-03-05T17:04:18-08:00 [thread overview]
Message-ID: <9f9a38dd-15a5-4395-a86d-c4c5e386a1bc@33g2000yqm.googlegroups.com> (raw)
In-Reply-To: 761a4fb8-de91-43b3-b420-55dbc06a61e7@k9g2000prh.googlegroups.com
On 4 mar, 17:09, Adam Beneschan <a...@irvine.com> wrote:
> I'm having difficulty understanding the point. You have to have the
> idea of the lack of a reference. How else would you implement a
> linked list abstraction? The first element has a reference to the
> second, and the second has a reference to the third, but the last one
> won't have a reference to anything. This lack of a reference has to
> be represented somehow, right? Suppose that access values in Ada were
> not allowed to have null values, and (for a linked list) you needed
> the concept of a value that may or may not refer to another object.
> You could write this as a variant record:
> -- Adam
I use to think about it a long time ago and was thinking that the best
null or nil reference to an object would be a reference to a null or
nil object (a special singleton object). I do not mean an object which
will stand for all null references, rather an object for each type.
An other view : a null reference is a kind of boolean (it used this
way and cannot be used another way).... and with hindsight, this may
perhaps look funny. This boolean is a kind of constraint on a kind of
record with a discriminent (conceptually).
Just to talk about lists, this may be a circular list, with a flag on
the last element telling it is has a special meaning.
next prev parent reply other threads:[~2009-03-06 1:04 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
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) [this message]
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