comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Dynamic type system for Ada
Date: Tue, 24 Jan 2017 14:44:55 +0100
Date: 2017-01-24T14:44:55+01:00	[thread overview]
Message-ID: <o67lon$tgo$1@gioia.aioe.org> (raw)
In-Reply-To: o67jre$pfu$1@gioia.aioe.org

On 24/01/2017 14:12, Victor Porton wrote:
> I thought on combining powers of static (like Ada) and dynamic (like Python)
> languages. In two seconds I understood that this can be done by creating a
> special "Dynamic" type in a static language.

There is no such thing as a dynamic type system. A dynamic type is a 
value of some static type, e.g. "any" or "type type" etc. The hierarchy 
must end somewhere and that is always a static type.

> Due to pure curiosity, I ask: Has anybody developed a dynamic type system
> for Ada?

AFAIK there were no proposals to add a type type to Ada. There exist 
some rudimentary means, like generic constructor, but nothing beyond that.

Then before going to type types there is a lot of space in the 1st order 
types for improvements that could eliminate a need in going 2nd order. 
Presently Ada lacks:

1. Ad-hoc supertypes
2. Interface inheritance
3. Full multiple dispatch
4. Array, record, access, integer, float, discrete, enumeration types 
interfaces to inherit from
5. Introspection

E.g. for weakly coupled systems like distributed ones, the 2nd order 
types is not that important. You would not propagate primitive 
operations over the network anyway. Some sort of introspection is 
usually enough. In most cases 2nd order types is an overkill.

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


  reply	other threads:[~2017-01-24 13:44 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-24 13:12 Dynamic type system for Ada Victor Porton
2017-01-24 13:44 ` Dmitry A. Kazakov [this message]
2017-01-24 13:58   ` Victor Porton
2017-01-24 14:26     ` Dmitry A. Kazakov
2017-01-24 18:07     ` Jeffrey R. Carter
2017-01-24 21:21     ` Randy Brukardt
2017-01-24 22:01       ` J-P. Rosen
2017-01-25  8:23       ` Dmitry A. Kazakov
2017-01-25 21:55         ` Randy Brukardt
2017-01-25  8:38       ` Georg Bauhaus
2017-01-25  5:41 ` Paul Rubin
2017-01-27 19:20   ` Victor Porton
2017-01-28  1:16     ` Dennis Lee Bieber
2017-01-28  9:37       ` Jeffrey R. Carter
2017-01-26 17:53 ` Vincent
replies disabled

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