comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Ada-Singleton-Why does it work like this?
Date: Thu, 26 Mar 2009 15:00:52 -0700 (PDT)
Date: 2009-03-26T15:00:52-07:00	[thread overview]
Message-ID: <ea16a985-170f-44be-9e25-322f7da0ca2e@h28g2000yqd.googlegroups.com> (raw)
In-Reply-To: 18883tufqaunz.gf51zy6m6gna$.dlg@40tude.net

On 26 Mar, 15:28, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
wrote:

> > Can you defend the idea that creation does not belong to the type?
>
> I think I can. Creation cannot be expressed in terms of values of the type.
[...]

Makes sense.
What about... constructors? I mean the real ones.

In other mainstream languages (you know, those with curly braces ;-) )
and let's say in Ada 2015 as well, constructors are defined
*syntactically* within the type. If we consider the object creation as
something that does not belong to the type, then can we say that
having constructors in a type definition is just a convenient
distortion and not a clear expression of the *semantic* reality, where
constructor should be defined as the entity that is external to the
type?

Something like:

class X
{
public:
    void doThis();
    void doThat();
private:
    // ...
};

// imaginary constructor of type X
X()
{
    // make up the state of new object
}

What is "inside" or "outside" might have no sense in Ada, but in Ada
terms the problem can be expressed as whether constructors should be
primitive operations of the given type.

Just thinking aloud.

--
Maciej Sobczak * www.msobczak.com * www.inspirel.com

Database Access Library for Ada: www.inspirel.com/soci-ada



  reply	other threads:[~2009-03-26 22:00 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-24 19:01 Ada-Singleton-Why does it work like this? patrick.gunia
2009-03-24 19:10 ` Pascal Obry
2009-03-24 20:47 ` Jeffrey R. Carter
2009-03-25  0:10   ` Martin
2009-03-25  0:41     ` Jeffrey R. Carter
2009-03-25  9:30     ` Dmitry A. Kazakov
2009-03-26  8:55       ` Martin
2009-03-26  9:28         ` Dmitry A. Kazakov
2009-03-26 13:39           ` Maciej Sobczak
2009-03-26 14:07             ` Georg Bauhaus
2009-03-26 14:33               ` Dmitry A. Kazakov
2009-03-26 15:22                 ` Georg Bauhaus
2009-03-26 16:31                   ` Dmitry A. Kazakov
2009-03-26 14:28             ` Dmitry A. Kazakov
2009-03-26 22:00               ` Maciej Sobczak [this message]
2009-03-27 10:02                 ` Dmitry A. Kazakov
2009-03-25 22:29   ` sjw
2009-03-24 20:52 ` Ludovic Brenta
2009-03-25  9:59   ` patrick.gunia
2009-03-25 10:29     ` Jean-Pierre Rosen
2009-03-25 11:26     ` Georg Bauhaus
2009-03-25 11:49       ` patrick.gunia
2009-03-29  7:29     ` Jacob Sparre Andersen
2009-03-24 21:21 ` Dmitry A. Kazakov
2009-03-25 10:07   ` patrick.gunia
2009-03-25 10:57     ` patrick.gunia
2009-03-25 11:40       ` Georg Bauhaus
2009-03-25 11:46       ` Ludovic Brenta
2009-03-25 11:55         ` patrick.gunia
2009-03-25 14:10         ` patrick.gunia
2009-03-25 14:40           ` Ludovic Brenta
2009-03-25 15:16             ` Adam Beneschan
2009-03-25 15:19             ` patrick.gunia
2009-03-25 16:52               ` Georg Bauhaus
2009-03-25 11:10     ` Dmitry A. Kazakov
2009-03-25 11:37       ` patrick.gunia
2009-03-25 12:07         ` Ludovic Brenta
2009-03-25 15:00         ` Robert A Duff
2009-03-25 11:17     ` Jean-Pierre Rosen
2009-03-26  9:04       ` Martin
2009-03-25 11:38     ` Ludovic Brenta
replies disabled

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