comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: basic basic ada question
Date: Fri, 20 Oct 2006 14:19:56 +0200
Date: 2006-10-20T14:19:56+02:00	[thread overview]
Message-ID: <juo78mb97s29.1qs2aa30bmmqk.dlg@40tude.net> (raw)
In-Reply-To: ehab4b$lr1$1@cernne03.cern.ch

On Fri, 20 Oct 2006 13:15:23 +0200, Maciej Sobczak wrote:

> Dmitry A. Kazakov wrote:
> 
>>>> There is no syntax
>>>> difference between arrays and functions of single argument. Looking at
>>>> Argument (I) you cannot tell if Argument is an array or not.
>>> Nor you can tell if it's a type conversion.
>> 
>>> Ada consistently promotes explicit syntax for readability reasons, you 
>>> know. ;-)
>> 
>> Exactly! Because wether Argument (I) is a function call, array indexing,
>> conversion, that is an implementation detail for the reader.
> 
> Interesting, but I prefer to see it completely the other way round.
> The function call, array indexing and conversion are concepts that 
> convey some meaning to the reader (for example, with array indexing one 
> can assume the lookup semantics, whereas for function call it's value 
> computation) and thus should look different. On the implementation 
> detail level, however, whether it's direct indexing or maybe overloaded 
> function is not important. Thus (C++):
> 
> a = b(c); // value computation
> a = b[c]; // lookup
> a = static_cast<b>(c); // translation to domain b
> 
> I don't care how they are implemented, but I care about their meaning.
> 
> I agree that this is very subjective.

See, because you could not formalize either "lookup" or "computation"
semantics. [Well, "translation" is nothing but just an explicit
sub/supertype constructor.]

There is nothing but behavior and the behavior is determined by the
subprogram named "()" or "[]" and the types of the parameters: a,b,c (the
result and the dedicated argument included).

[ Assignment should be a primitive operation, of course ]

>> That is
>> not language business.
> 
> Well, language has to allow you to implement these operations.

Sure. Indexing operation (BTW, aggregates, ".", X'Attribute, "in", ".all"
too) should be primitive. The problem is that one cannot to it right
without 1) MD, 2) a proper construction model, 3) a more elaborated
subroutine extension mechanics than just inherit vs. replace.

It is a great chunk, and I saw no language where 1-3 were reasonably
solved.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2006-10-20 12:19 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-19 14:30 basic basic ada question markww
2006-10-19 14:47 ` Georg Bauhaus
2006-10-19 15:10   ` markww
2006-10-21 10:29     ` Stephen Leake
2006-10-19 15:11 ` Dmitry A. Kazakov
2006-10-19 15:45   ` markww
2006-10-19 16:29     ` Gautier
2006-10-19 17:16     ` Dmitry A. Kazakov
2006-10-19 20:07     ` Jeffrey R. Carter
2006-10-19 22:20       ` Robert A Duff
2006-10-20  5:10         ` Jeffrey R. Carter
2006-10-20  7:13           ` Maciej Sobczak
2006-10-20 20:39             ` Jeffrey R. Carter
2006-10-20  7:25       ` Maciej Sobczak
2006-10-20 20:54         ` Jeffrey R. Carter
2006-10-19 21:30 ` James Alan Farrell
2006-10-19 23:03   ` Robert A Duff
2006-10-20  4:54   ` Jeffrey R. Carter
2006-10-20  7:53   ` Dmitry A. Kazakov
2006-10-20  8:17     ` Maciej Sobczak
2006-10-20  9:08       ` Dmitry A. Kazakov
2006-10-20 11:15         ` Maciej Sobczak
2006-10-20 12:19           ` Dmitry A. Kazakov [this message]
2006-10-20 12:38             ` Maciej Sobczak
2006-10-20 13:26               ` Dmitry A. Kazakov
2006-10-20 15:29             ` Robert A Duff
2006-10-20 17:37               ` Dmitry A. Kazakov
2006-10-20 20:59                 ` Robert A Duff
2006-10-21 13:39                   ` Dmitry A. Kazakov
2006-10-21 17:53                     ` Robert A Duff
2006-10-22  8:45                       ` Dmitry A. Kazakov
2006-10-23  7:45                     ` Maciej Sobczak
2006-10-23  9:21                       ` Dmitry A. Kazakov
2006-10-23 14:30                         ` Maciej Sobczak
2006-10-23 15:08                           ` Dmitry A. Kazakov
2006-10-23 15:49                             ` Robert A Duff
2006-10-24  7:34                               ` Dmitry A. Kazakov
2006-10-20 19:04           ` Simon Wright
2006-10-20 15:27         ` Robert A Duff
2006-10-20 17:37           ` Dmitry A. Kazakov
2006-10-20 21:00     ` Jeffrey R. Carter
2006-10-21  8:19       ` Dmitry A. Kazakov
2006-10-21 17:32         ` Robert A Duff
2006-10-22  8:45           ` Dmitry A. Kazakov
2006-10-30 11:46             ` Martin Krischik
replies disabled

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