comp.lang.ada
 help / color / mirror / Atom feed
From: "Alexander E. Kopilovich" <aek@VB1162.spb.edu>
To: comp.lang.ada@ada-france.org
Subject: Re: "Must instantiate controlled types at library level." Why?
Date: Wed, 19 May 2004 05:20:55 +0400 (MSD)
Date: 2004-05-19T05:20:55+04:00	[thread overview]
Message-ID: <mailman.6.1084930076.334.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <o5fja0hqa7rep0r2lp5qsqe0dihj1acmc5@4ax.com>; from "Dmitry A. Kazakov" at Tue, 18 May 2004 09:48:41 +0200

Dmitry A. Kazakov wrote:

> >> Clearly it is
> >> desirable to have a minimal set of first-class things providing a
> >> richest possible set of second-class ones with minimal efforts.
> >
> >This is a language-oriented view, not an application-oriented view, and it
> >isn't (and can't be) shared by vast majority of C/C++ users.
>
> Everything depends on what is language and what is application. A
> component library is an application that directly use the language. A
> business application might view both the core language and the
> container library as the language it deals with.

Typical mathematical (algebraic or topological) relativity -
 (base, extension) -> larger object  ( <- sub-object )

> This ladder might be endless,

Again, a resolvent corresponds to that in some of those mathematical domains

> but at any height the principle holds.

Well, principle may be held locally - at each step - but in perspective of
several consequtive steps, the situation easily may become quite complex,
so that it can't be described adequately by same principle. Also, even locally
the principle may be held in some sense, but not so straightforward - for
example, what mean that some set of first-class things *provides* a richest
possible set of second-class one with *minimal* *efforts*? We have there 3
notions, which can be treated non-trivially. As a good example of possible
non-triviality I'd propose 2-categories, where even the notion of equality
gets uncommon (but perfectly rigorous) meaning. which is a generalization of
common notion of equality in non-trivial way.

> But to have a library you need the language first.

You may be surprised, but I don't think so. More precisely, I don't think 
that we must have a language in advance or restrict ourselves to a single
language. A library is not necessary an extension of a particular language -
this is just a viewpoint and an approach. Another viewpoint and another
approach is to build a library as a programming implementation of some
theory. To have a library with the latter viewpoint/approach we need not
the language first. We even may postpone decision about the languages that
we will use (yes, several different languages - why not?) for various parts
of our library until the design of the library will reach some level of
refinement. What we need first with this approach is solid theoretical ground
and clear and consistent requirements for implementation.

> And as the story of
> container libraries shows, the languages (both C++ and Ada) seem to be
> insufficient for this job.

The story of container libraries shows once again already known fact: Ada's
weakness for *general-purpose* libraries. I think that many Ada.* packages
suffer one way or another from this weakness.

I guess that from viewpoint of general-purpose libraries, Ada's packages are
somehow overloaded with various features and restrictions. What is good for
specific-purpose library may be not so good for general-purpose one. I'm not
calling here for reconsidering of the notion of package (and not because it
is impossible, but simply because current packages are good enough for
specific-purpose libraries), but I think that there can be another (i.e.,
additional) construct, more flexible and less concerned about effectiveness
(and even about readability - one may notice that general-purpose libraries
have much more chances to be supplied with additional materials then most of
specific-purpose libraries).




Alexander Kopilovich                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia




  reply	other threads:[~2004-05-19  1:20 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-11 23:04 "Must instantiate controlled types at library level." Why? Peter C. Chapin
2004-05-12  1:03 ` Jeffrey Carter
2004-05-12 10:47   ` Peter C. Chapin
2004-05-12 11:25     ` Ludovic Brenta
2004-05-12 14:41       ` Martin Krischik
2004-05-13  2:20       ` Peter C. Chapin
2004-05-12 11:55     ` Martin Krischik
2004-05-13  2:59       ` Peter C. Chapin
2004-05-13  7:10         ` Martin Krischik
2004-05-13 10:36           ` Peter C. Chapin
2004-05-13 11:18             ` Martin Krischik
2004-05-13 22:27               ` Peter C. Chapin
2004-05-13 22:54               ` Freejack
2004-05-14  7:13                 ` Martin Krischik
2004-05-14 13:50                   ` Xenos
2004-05-14 17:27                     ` Georg Bauhaus
2004-05-14 17:58                       ` Xenos
2004-05-14 18:49                     ` Martin Krischik
2004-05-14 19:40                       ` Xenos
2004-05-14 22:47                         ` Ludovic Brenta
2004-05-15  8:34                           ` Martin Krischik
2004-05-16  2:55                           ` Hyman Rosen
2004-05-16 13:48                             ` Ludovic Brenta
2004-05-17  2:30                               ` Hyman Rosen
2004-05-17  5:39                                 ` Martin Dowie
2004-05-17  7:48                                   ` Ludovic Brenta
2004-05-17 15:01                                     ` Hyman Rosen
2004-05-17 16:31                                       ` Georg Bauhaus
2004-05-17 17:40                                         ` Hyman Rosen
2004-05-17 19:17                                           ` Georg Bauhaus
2004-05-17  6:24                                 ` Martin Krischik
2004-05-17 19:48                                   ` James Kanze
2004-05-18  6:27                                     ` Martin Krischik
2004-05-17 12:33                                 ` Dmitry A. Kazakov
2004-05-17 13:46                                   ` Martin Krischik
2004-05-17 15:03                                     ` Dmitry A. Kazakov
2004-05-17 16:02                                   ` Alexander E. Kopilovich
2004-05-18  7:48                                     ` Dmitry A. Kazakov
2004-05-19  1:20                                       ` Alexander E. Kopilovich [this message]
2004-05-19  9:59                                         ` Dmitry A. Kazakov
2004-05-19 12:38                                           ` Hyman Rosen
2004-05-19 13:28                                             ` Dmitry A. Kazakov
2004-05-19 13:09                                           ` Georg Bauhaus
2004-05-19 13:44                                             ` Hyman Rosen
2004-05-19 14:17                                               ` Dmitry A. Kazakov
2004-05-19 14:15                                             ` Dmitry A. Kazakov
2004-05-21 11:39                                               ` Georg Bauhaus
2004-05-21 20:33                                                 ` Dmitry A. Kazakov
     [not found]                                                   ` <c8mkor$rlq$1@a1-hrz.uni-duisburg.de>
2004-05-23  1:28                                                     ` Hyman Rosen
2004-05-23  8:55                                                     ` Dmitry A. Kazakov
2004-05-24 11:38                                                       ` Georg Bauhaus
2004-05-24 13:57                                                         ` Dmitry A. Kazakov
2004-05-24 14:40                                                           ` Georg Bauhaus
2004-05-25  8:32                                                             ` Dmitry A. Kazakov
2004-05-25 15:47                                                               ` Georg Bauhaus
     [not found]                                   ` <URJ8Eg0vzF@VB1162.spb.edu>
2004-05-17 16:50                                     ` Marius Amado Alves
2004-05-18  8:27                                       ` Dmitry A. Kazakov
2004-05-15 17:20                     ` Pascal Obry
2004-05-13 19:33             ` Randy Brukardt
replies disabled

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