comp.lang.ada
 help / color / mirror / Atom feed
* A bunch of questions that come after "Hello world"
@ 2002-11-13 20:44 Wojtek Narczynski
  2002-11-13 20:57 ` Robert A Duff
                   ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Wojtek Narczynski @ 2002-11-13 20:44 UTC (permalink / raw)


Hello,

I am trying to write some Ada code after three years of Java work. I
have some questions, likely stupid.

1. Collections. I understand that Ada doesn't define collection
packages as a part of the standard. Pity, but maybe there is some
"rationale for that. Okay, what is the most commonly used library?
Booch components?

2. Could somebody confirm that I cannot define a procedure / function
as a member of a "record", but I sure can as a member of "protected"?
Hmm.

3. Can I define new 'Attributes or only redefine (some) existing ones?

Thanks for your time!



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-13 20:44 A bunch of questions that come after "Hello world" Wojtek Narczynski
@ 2002-11-13 20:57 ` Robert A Duff
  2002-11-14 10:18   ` Wojtek Narczynski
  2002-11-13 22:06 ` Martin Dowie
  2002-11-13 22:31 ` Stephen Leake
  2 siblings, 1 reply; 20+ messages in thread
From: Robert A Duff @ 2002-11-13 20:57 UTC (permalink / raw)


wojtek@power.com.pl (Wojtek Narczynski) writes:

> 2. Could somebody confirm that I cannot define a procedure / function
> as a member of a "record", but I sure can as a member of "protected"?
> Hmm.

You can define a record component of an access-to-subprogram type.
But what you probably want is a dispatching subprogram of a tagged type.

> 3. Can I define new 'Attributes or only redefine (some) existing ones?

No, you can't define your own.

- Bob



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-13 20:44 A bunch of questions that come after "Hello world" Wojtek Narczynski
  2002-11-13 20:57 ` Robert A Duff
@ 2002-11-13 22:06 ` Martin Dowie
  2002-11-14 17:48   ` Pascal Obry
  2002-11-13 22:31 ` Stephen Leake
  2 siblings, 1 reply; 20+ messages in thread
From: Martin Dowie @ 2002-11-13 22:06 UTC (permalink / raw)


"Wojtek Narczynski" <wojtek@power.com.pl> wrote in message
news:5ad0dd8a.0211131244.42603699@posting.google.com...
> Hello,

Hello!

> 1. Collections. I understand that Ada doesn't define collection
> packages as a part of the standard. Pity, but maybe there is some
> "rationale for that. Okay, what is the most commonly used library?
> Booch components?

You should take a look at "Charles":
http://home.earthlink.net/~matthewjheaney/charles/index.html





^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-13 20:44 A bunch of questions that come after "Hello world" Wojtek Narczynski
  2002-11-13 20:57 ` Robert A Duff
  2002-11-13 22:06 ` Martin Dowie
@ 2002-11-13 22:31 ` Stephen Leake
  2 siblings, 0 replies; 20+ messages in thread
From: Stephen Leake @ 2002-11-13 22:31 UTC (permalink / raw)


wojtek@power.com.pl (Wojtek Narczynski) writes:

> Hello,
> 
> I am trying to write some Ada code after three years of Java work. I
> have some questions, likely stupid.
> 
> 1. Collections. I understand that Ada doesn't define collection
> packages as a part of the standard. Pity, but maybe there is some
> "rationale for that. 

Yes. Do a search on Google of comp.lang.ada, and you'll find lots of
it :).

> Okay, what is the most commonly used library? Booch components?

I have no idea about "most commonly used"; how would we know?
www.adapower.com has a list of such libraries. Obviously, I recommend
mine, at http://users.erols.com/leakstan/Stephe/Ada/sal.html. I don't
require logins to download it, so I don't know who's using it.

-- 
-- Stephe



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-13 20:57 ` Robert A Duff
@ 2002-11-14 10:18   ` Wojtek Narczynski
  2002-11-14 11:21     ` David C. Hoos, Sr.
                       ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Wojtek Narczynski @ 2002-11-14 10:18 UTC (permalink / raw)


Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message news:<wcck7jhfar3.fsf@shell01.TheWorld.com>...
> wojtek@power.com.pl (Wojtek Narczynski) writes:
> 
> > 2. Could somebody confirm that I cannot define a procedure / function
> > as a member of a "record", but I sure can as a member of "protected"?
> 
> You can define a record component of an access-to-subprogram type.
> But what you probably want is a dispatching subprogram of a tagged type.
> 

The code below illustrates my dillema.

package Test is

    -- why not: 'type Door is protected'?
    -- Is this because protected_type_declaration 
    -- is supposed to resemble task_type_declaration?

    protected type Door is
    
        procedure Open;
        procedure Close;
        function Can_Go_Thru return Boolean;
    
    private
    
        State: Boolean := False;
    
    end Door;

    
    type Door_Nogo is record 
    
        -- can't put function / procedure here?
        -- procedure Open;
        -- procedure Close;
        -- function Can_Go_Thru return Boolean;
    
        Status: Boolean := False;

    end record;

end Test;

I have two more questions:
1. Is there something like super in Java?
2. Can I overload () operator? I guess no.

Thanks for pointing me at collection class libraries, although I am a
bit overwhelmed by the wealth.

Regards,
Wojtek



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-14 10:18   ` Wojtek Narczynski
@ 2002-11-14 11:21     ` David C. Hoos, Sr.
  2002-11-14 19:51     ` tmoran
  2002-11-14 21:51     ` Robert A Duff
  2 siblings, 0 replies; 20+ messages in thread
From: David C. Hoos, Sr. @ 2002-11-14 11:21 UTC (permalink / raw)


----- Original Message -----
From: "Wojtek Narczynski" <wojtek@power.com.pl>
Newsgroups: comp.lang.ada
To: <comp.lang.ada@ada.eu.org>
Sent: November 14, 2002 4:18 AM
Subject: Re: A bunch of questions that come after "Hello world"


> Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message
news:<wcck7jhfar3.fsf@shell01.TheWorld.com>...
> > wojtek@power.com.pl (Wojtek Narczynski) writes:
> >
> > > 2. Could somebody confirm that I cannot define a procedure / function
> > > as a member of a "record", but I sure can as a member of "protected"?
> >
I Guess the best way to answer your question is to
show you the Ada way to do what you want, viz.:

-- File: doors.ads
package Doors is
   type Door is private;
   procedure Open (This : in out Door);
   procedure Close (This : in out Door);
   function Is_Open (This : Door) return Boolean;
private
   type Door is record
      Open : Boolean := False;
   end record;
end Doors;

-- File: doors.adb
package body Doors is

   -----------
   -- Close --
   -----------

   procedure Close (This : in out Door) is
   begin
      This.Open := False;
   end Close;

   -------------
   -- Is_Open --
   -------------

   function Is_Open (This : Door) return Boolean is
   begin
      return This.Open;
   end Is_Open;

   ----------
   -- Open --
   ----------

   procedure Open (This : in out Door) is
   begin
      This.Open := True;
   end Open;

end Doors;

-- File: test_doors.adb
with Ada.Text_IO;
with Doors;
procedure Test_Doors
is
   Front_Door : Doors.Door;
begin
   Ada.Text_IO.Put_Line
     ("Initial state of a Doors.Door object is open? " &
      Boolean'Image (Doors.Is_Open (Front_Door)));
   Ada.Text_IO.Put_Line ("Opening Front_Door..");
   Doors.Open (Front_Door);
   Ada.Text_IO.Put_Line
     ("Front_Door is open? " &
      Boolean'Image (Doors.Is_Open (Front_Door)));
   Ada.Text_IO.Put_Line ("Closing Front_Door..");
   Doors.Close (Front_Door);
   Ada.Text_IO.Put_Line
     ("Front_Door is open? " &
      Boolean'Image (Doors.Is_Open (Front_Door)));
end Test_Doors;

<snip>

> I have two more questions:
> 1. Is there something like super in Java?

No.

> 2. Can I overload () operator? I guess no.

There is no "()" operator in Ada.  In Ada, when a
sub program requires no parameters, you just don't
write thge "()."

<snip>





^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-13 22:06 ` Martin Dowie
@ 2002-11-14 17:48   ` Pascal Obry
  2002-11-14 18:53     ` David C. Hoos
  2002-11-14 22:36     ` Martin Dowie
  0 siblings, 2 replies; 20+ messages in thread
From: Pascal Obry @ 2002-11-14 17:48 UTC (permalink / raw)



"Martin Dowie" <martin.dowie@no.sp.am.btopenworld.com> writes:

> "Wojtek Narczynski" <wojtek@power.com.pl> wrote in message
> news:5ad0dd8a.0211131244.42603699@posting.google.com...
> > Hello,
> 
> Hello!
> 
> > 1. Collections. I understand that Ada doesn't define collection
> > packages as a part of the standard. Pity, but maybe there is some
> > "rationale for that. Okay, what is the most commonly used library?
> > Booch components?
> 
> You should take a look at "Charles":

Well the API is not documented !

Is there some doc around ?

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-14 17:48   ` Pascal Obry
@ 2002-11-14 18:53     ` David C. Hoos
  2002-11-14 22:36     ` Martin Dowie
  1 sibling, 0 replies; 20+ messages in thread
From: David C. Hoos @ 2002-11-14 18:53 UTC (permalink / raw)



----- Original Message -----
From: "Pascal Obry" <p.obry@wanadoo.fr>
Newsgroups: comp.lang.ada
To: <comp.lang.ada@ada.eu.org>
Sent: Thursday, November 14, 2002 11:48 AM
Subject: Re: A bunch of questions that come after "Hello world"


>
> "Martin Dowie" <martin.dowie@no.sp.am.btopenworld.com> writes:
>
> > "Wojtek Narczynski" <wojtek@power.com.pl> wrote in message
> > news:5ad0dd8a.0211131244.42603699@posting.google.com...
> > > Hello,
> >
> > Hello!
> >
> > > 1. Collections. I understand that Ada doesn't define collection
> > > packages as a part of the standard. Pity, but maybe there is some
> > > "rationale for that. Okay, what is the most commonly used library?
> > > Booch components?
> >
> > You should take a look at "Charles":
>
> Well the API is not documented !
>
> Is there some doc around ?
>
There is documentation for the Charles.Vectors.Unbounded package, which
gives the general flavor of the whole API.  The link is here:
http://home.earthlink.net/~matthewjheaney/charles/charles-vectors-unbounded.
html





^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-14 10:18   ` Wojtek Narczynski
  2002-11-14 11:21     ` David C. Hoos, Sr.
@ 2002-11-14 19:51     ` tmoran
  2002-11-14 21:51     ` Robert A Duff
  2 siblings, 0 replies; 20+ messages in thread
From: tmoran @ 2002-11-14 19:51 UTC (permalink / raw)


>   protected type Door is
>   ...
>   end Door;
>   type Door_Nogo is record
>       -- can't put function / procedure here?
  But you can:

  type Door_Nogo is record
    Action : Door;
  end record;

  Front_Door,
  Back_Door : Door_Nogo;
begin
  Front_Door.Action.Open;
  ...



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-14 10:18   ` Wojtek Narczynski
  2002-11-14 11:21     ` David C. Hoos, Sr.
  2002-11-14 19:51     ` tmoran
@ 2002-11-14 21:51     ` Robert A Duff
  2002-11-15 17:50       ` Wojtek Narczynski
  2 siblings, 1 reply; 20+ messages in thread
From: Robert A Duff @ 2002-11-14 21:51 UTC (permalink / raw)


wojtek@power.com.pl (Wojtek Narczynski) writes:

> Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message news:<wcck7jhfar3.fsf@shell01.TheWorld.com>...
> > wojtek@power.com.pl (Wojtek Narczynski) writes:
> > 
> > > 2. Could somebody confirm that I cannot define a procedure / function
> > > as a member of a "record", but I sure can as a member of "protected"?
> > 
> > You can define a record component of an access-to-subprogram type.
> > But what you probably want is a dispatching subprogram of a tagged type.
> > 
> 
> The code below illustrates my dillema.
> 
> package Test is
> 
>     -- why not: 'type Door is protected'?
>     -- Is this because protected_type_declaration 
>     -- is supposed to resemble task_type_declaration?

Yes.  So why not "type T is task..." instead of "task type T is..."?
No good reason -- the syntax ought to be more consistent.

>     protected type Door is
>     
>         procedure Open;
>         procedure Close;
>         function Can_Go_Thru return Boolean;
>     
>     private
>     
>         State: Boolean := False;
>     
>     end Door;
> 
>     
>     type Door_Nogo is record 
>     
>         -- can't put function / procedure here?
>         -- procedure Open;
>         -- procedure Close;
>         -- function Can_Go_Thru return Boolean;

As I said in my previous post, if you are used to doing this in C++ or
Java or whatever, what you want to do in Ada is declare dispatching
operations.  They are declared *outside* the type.  And the "self"
parameter is not passed by magic -- you just pass an ordinary
parameter.  So the syntax is different from what you're used to,
but the semantics is pretty much the same.

I think you really need to look at a tutorial or textbook on this.

>         Status: Boolean := False;
> 
>     end record;

> end Test;
> 
> I have two more questions:
> 1. Is there something like super in Java?

Yes.  You use a type conversion to convert the parameter on which you're
dispatching to its parent type.  This is the "self" parameter that some
other languages pass implicitly -- in Ada, it is passed explicitly, and
you call it by whatever name you like (not necessarily Self).

> 2. Can I overload () operator? I guess no.

No.

- Bob



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-14 17:48   ` Pascal Obry
  2002-11-14 18:53     ` David C. Hoos
@ 2002-11-14 22:36     ` Martin Dowie
  2002-11-15  1:25       ` Jeffrey Carter
  1 sibling, 1 reply; 20+ messages in thread
From: Martin Dowie @ 2002-11-14 22:36 UTC (permalink / raw)


"Pascal Obry" <p.obry@wanadoo.fr> wrote in message
news:uy97wxct3.fsf@wanadoo.fr...
> > You should take a look at "Charles":
>
> Well the API is not documented !
>
> Is there some doc around ?

Not huge amounts :-)

There is a nice doc giving an overview and rationale behind it at:

http://home.earthlink.net/~matthewjheaney/charles/charles.html





^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-14 22:36     ` Martin Dowie
@ 2002-11-15  1:25       ` Jeffrey Carter
  0 siblings, 0 replies; 20+ messages in thread
From: Jeffrey Carter @ 2002-11-15  1:25 UTC (permalink / raw)


Martin Dowie wrote:
> "Pascal Obry" <p.obry@wanadoo.fr> wrote in message
> news:uy97wxct3.fsf@wanadoo.fr...
> 
>>>You should take a look at "Charles":
>>
>>Well the API is not documented !
>>
>>Is there some doc around ?
> 
> 
> Not huge amounts :-)

So the OP might prefer the PragmAda Reusable Components:

http://home.earthlink.net/~jrcarter010/pragmarc.htm

The OP will probably need to be a little more familiar with Ada than his 
questions indicate to understand their documentation.

-- 
Jeff Carter
"Gentlemen, you can't fight in here. This is the War Room!"
Dr. Strangelove




^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-14 21:51     ` Robert A Duff
@ 2002-11-15 17:50       ` Wojtek Narczynski
  2002-11-15 23:07         ` Robert A Duff
  0 siblings, 1 reply; 20+ messages in thread
From: Wojtek Narczynski @ 2002-11-15 17:50 UTC (permalink / raw)


Robert,

> As I said in my previous post, if you are used to doing this in C++ or
> Java or whatever, what you want to do in Ada is declare dispatching
> operations.  They are declared *outside* the type.  And the "self"
> parameter is not passed by magic -- you just pass an ordinary
> parameter.  So the syntax is different from what you're used to,
> but the semantics is pretty much the same.
> 
> I think you really need to look at a tutorial or textbook on this.

I have read the book "Rendezvous with Ada 95".

I't just that protected type, task type and record type are all
composite types, and you can put a function or procedure inside a
protected or task type, but you cannot do this inside a record. So you
sometimes declare them outside and sometimes inside. Don't you find it
it's weird? Thought that maybe I am missing something. Dynamic
dispatch on multiple attributes is the reason I got interested in Ada,
but still putting a function inside a record would be good, such a
calculated record member.

Well, I guess I will have to live what is already there :-)

Thanks & Regards,
Wojtek



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-15 17:50       ` Wojtek Narczynski
@ 2002-11-15 23:07         ` Robert A Duff
  2002-11-18 10:24           ` Wojtek Narczynski
  0 siblings, 1 reply; 20+ messages in thread
From: Robert A Duff @ 2002-11-15 23:07 UTC (permalink / raw)


wojtek@power.com.pl (Wojtek Narczynski) writes:

> I't just that protected type, task type and record type are all
> composite types, and you can put a function or procedure inside a
> protected or task type, but you cannot do this inside a record. So you
> sometimes declare them outside and sometimes inside. Don't you find it
> it's weird?

Yes.  If I were designing the whole language from scratch, I would put
them all *outside*, including the protected type case.  (I would also
eliminate task entries, so the issue would not arise there.)

Part of the reason for these things is history.  Ada tasks were
originally just tasks -- there were no task types.  Similar to the way
packages are not "objects" -- there are no "package types".  This was
around 1980 or so.  Task types were added before the 1983 standard.
Protected types (added in Ada 95) were somewhat modeled after tasks,
and so inherited some of the oddities.

>...Thought that maybe I am missing something. Dynamic
> dispatch on multiple attributes is the reason I got interested in Ada,
> but still putting a function inside a record would be good, such a
> calculated record member.

Ada does not support multi-dispatch.  If you have two controlling
operands, they both have to have the same tag.

- Bob



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-15 23:07         ` Robert A Duff
@ 2002-11-18 10:24           ` Wojtek Narczynski
  2002-11-18 11:54             ` Dmitry A. Kazakov
  0 siblings, 1 reply; 20+ messages in thread
From: Wojtek Narczynski @ 2002-11-18 10:24 UTC (permalink / raw)


Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message news:<wcc7kfe8ma7.fsf@shell01.TheWorld.com>...

> Part of the reason for these things is history.  Ada tasks were
> originally just tasks -- there were no task types.  Similar to the way
> packages are not "objects" -- there are no "package types".  This was
> around 1980 or so.  Task types were added before the 1983 standard.
> Protected types (added in Ada 95) were somewhat modeled after tasks,
> and so inherited some of the oddities.

Thanks for the explanation. I will have to keep the evolutionary
nature of Ada syntax in mind.

> Ada does not support multi-dispatch.  If you have two controlling
> operands, they both have to have the same tag.

What do you mean?

procedure( X: Type1'Class; Y: Type2'Class);

Compiles for me.

Thanks,
Wojtek



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
@ 2002-11-18 10:32 Grein, Christoph
  0 siblings, 0 replies; 20+ messages in thread
From: Grein, Christoph @ 2002-11-18 10:32 UTC (permalink / raw)


> > Ada does not support multi-dispatch.  If you have two controlling
> > operands, they both have to have the same tag.
> 
> What do you mean?
> 
> procedure( X: Type1'Class; Y: Type2'Class);

The above does not dispatch.
h.

procedure P (X: Type1; Y: Type2);

where both Type1 and Type2 are tagged is illegal.

procedure P (X, Y: TypeX);

P (X, Y);

This call dispatches when X or Y is a class-wide object. Then X and Y must have 

have the same tag.



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-18 10:24           ` Wojtek Narczynski
@ 2002-11-18 11:54             ` Dmitry A. Kazakov
  2002-11-18 16:24               ` Wojtek Narczynski
  0 siblings, 1 reply; 20+ messages in thread
From: Dmitry A. Kazakov @ 2002-11-18 11:54 UTC (permalink / raw)


On 18 Nov 2002 02:24:46 -0800, wojtek@power.com.pl (Wojtek Narczynski)
wrote:

>Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message news:<wcc7kfe8ma7.fsf@shell01.TheWorld.com>...
>
>> Part of the reason for these things is history.  Ada tasks were
>> originally just tasks -- there were no task types.  Similar to the way
>> packages are not "objects" -- there are no "package types".  This was
>> around 1980 or so.  Task types were added before the 1983 standard.
>> Protected types (added in Ada 95) were somewhat modeled after tasks,
>> and so inherited some of the oddities.
>
>Thanks for the explanation. I will have to keep the evolutionary
>nature of Ada syntax in mind.
>
>> Ada does not support multi-dispatch.  If you have two controlling
>> operands, they both have to have the same tag.
>
>What do you mean?
>
>procedure( X: Type1'Class; Y: Type2'Class);
>
>Compiles for me.

It is not the case. The case would be:

procedure Foo (X: Type1; Y: Type2);

Which will not compile. [An operation cannot be dispatching for two
different types.]  Your example does not dispatch, it is a class-wide
operation which is same for Type1, Type2 and all types derived from
them.

There is a more special case:

procedure Foo (X: Type1; Y: Type1);

This compiles and as long as the tags of X and Y are same works. If
they are not, Constraint_Error will propagate. One could call it
multiple dispatch, but then it is a very limited one.

---
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-18 11:54             ` Dmitry A. Kazakov
@ 2002-11-18 16:24               ` Wojtek Narczynski
  2002-11-18 21:19                 ` Robert A Duff
  2002-11-19  8:48                 ` Dmitry A. Kazakov
  0 siblings, 2 replies; 20+ messages in thread
From: Wojtek Narczynski @ 2002-11-18 16:24 UTC (permalink / raw)


Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<e2ihtu454lfirb4cp53b5fv9eb6vikffua@4ax.com>...

> (...)
> Which will not compile. [An operation cannot be dispatching for two
> different types.]  Your example does not dispatch, it is a class-wide
> operation which is same for Type1, Type2 and all types derived from
> them.
> (...)

Thanks Dimitry. I've read the reference manul on this subject. I
couldn't have been more wrong.

Ada is hard.

Regards,
Wojtek



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-18 16:24               ` Wojtek Narczynski
@ 2002-11-18 21:19                 ` Robert A Duff
  2002-11-19  8:48                 ` Dmitry A. Kazakov
  1 sibling, 0 replies; 20+ messages in thread
From: Robert A Duff @ 2002-11-18 21:19 UTC (permalink / raw)


wojtek@power.com.pl (Wojtek Narczynski) writes:

> Thanks Dimitry. I've read the reference manul on this subject. I
> couldn't have been more wrong.
> 
> Ada is hard.

It's easier if you read a textbook before digging into the Reference
Manual.

- Bob



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: A bunch of questions that come after "Hello world"
  2002-11-18 16:24               ` Wojtek Narczynski
  2002-11-18 21:19                 ` Robert A Duff
@ 2002-11-19  8:48                 ` Dmitry A. Kazakov
  1 sibling, 0 replies; 20+ messages in thread
From: Dmitry A. Kazakov @ 2002-11-19  8:48 UTC (permalink / raw)


On 18 Nov 2002 08:24:56 -0800, wojtek@power.com.pl (Wojtek Narczynski)
wrote:

>Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<e2ihtu454lfirb4cp53b5fv9eb6vikffua@4ax.com>...
>
>> (...)
>> Which will not compile. [An operation cannot be dispatching for two
>> different types.]  Your example does not dispatch, it is a class-wide
>> operation which is same for Type1, Type2 and all types derived from
>> them.
>> (...)
>
>Thanks Dimitry. I've read the reference manul on this subject. I
>couldn't have been more wrong.
>
>Ada is hard.

Yes and no. IMO, Ada's idea of clear distinction between T and T'Class
is the best recent achievement in OO.

---
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2002-11-19  8:48 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-11-13 20:44 A bunch of questions that come after "Hello world" Wojtek Narczynski
2002-11-13 20:57 ` Robert A Duff
2002-11-14 10:18   ` Wojtek Narczynski
2002-11-14 11:21     ` David C. Hoos, Sr.
2002-11-14 19:51     ` tmoran
2002-11-14 21:51     ` Robert A Duff
2002-11-15 17:50       ` Wojtek Narczynski
2002-11-15 23:07         ` Robert A Duff
2002-11-18 10:24           ` Wojtek Narczynski
2002-11-18 11:54             ` Dmitry A. Kazakov
2002-11-18 16:24               ` Wojtek Narczynski
2002-11-18 21:19                 ` Robert A Duff
2002-11-19  8:48                 ` Dmitry A. Kazakov
2002-11-13 22:06 ` Martin Dowie
2002-11-14 17:48   ` Pascal Obry
2002-11-14 18:53     ` David C. Hoos
2002-11-14 22:36     ` Martin Dowie
2002-11-15  1:25       ` Jeffrey Carter
2002-11-13 22:31 ` Stephen Leake
  -- strict thread matches above, loose matches on Subject: below --
2002-11-18 10:32 Grein, Christoph

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