From: dmitry@elros.cbb-automation.de (Dmitry Kazakov)
Subject: Re: Static typing (Was Re: Better support for garbage collection)
Date: Mon, 02 Apr 2001 11:29:36 GMT
Date: 2001-04-02T11:29:36+00:00 [thread overview]
Message-ID: <3ac85c82.13458000@news.cis.dfn.de> (raw)
In-Reply-To: mailman.985985194.14071.comp.lang.ada@ada.eu.org
On Fri, 30 Mar 2001 12:44:57 -0800, "Robert C. Leif, Ph.D."
<rleif@rleif.com> wrote:
>From: Bob Leif
>To: Dmitry Kazakov et al.
>Are you proposing that Universal_Integer, Universal_Float,
>Universal_Character, etc. become visible types that can be explicitly used
>in type conversions including where an object of a type like integer can be
>converted to being of type Universal_Integer. Would it include subprograms
>like:
>function "+" (Left : Integer'Base; Right : Universal_Integer) return
>Integer'Base;
>
>This would be very useful, since it would facilitate the use of private
>numeric types. I have yet to be able to cleanly use a private type
>Data_16_Type and directly add a literal to it.
>I would like:
>function To_Data_16_Type(The_Universal_Integer: Universal_Integer) return
>Data_16_Type;
>
>In essence these Universal_Types could now be used to explicitly specify the
>classes of integers, floats, and characters. I can see the danger of
>permitting programming with weakened types. However, these types could be
>included in a separate package Standard.Universal and be subject to the
>Pragma Restrictions or equivalent.
Yes and no. In my opinion instances of universal types may not exist
at run time. A universal_integer has an arbitrary length, its actual
representation is upon the compiler. So one may not have an object of
this type. In the end an instance of a universal type should be always
converted to some "legal" type. Yet with user-defined conversions one
will have an ability to explicitly add literals to a private type:
function <syntax-sugar> (Value : Integer) return Data_16_Type;
Then the following conversion path is applied:
123 (of universal_integer)->123 (of Integer)-> 123 (of Data_16_Type)
Further this issue is obviuosly relevant to another thread (where the
compile time routines are discussed). If such beasts were allowed then
one might have exactly what you mentioned:
function <syntax-sugar> (Value : Universal_Integer)
return Data_16_Type;
??pragma <ensure-that-this-is-a-compile-time-function>;??
As for danger, it is immense, yet in modern times (take a look at
comp.object) strong-static-manifested typing is considered as an
evil?! (:-()
Regards,
Dmitry Kazakov
next prev parent reply other threads:[~2001-04-02 11:29 UTC|newest]
Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-03-13 18:37 Better support for garbage collection Nick Roberts
2001-03-14 8:16 ` Florian Weimer
2001-03-14 18:52 ` Robert A Duff
2001-03-14 19:40 ` Florian Weimer
2001-03-15 13:18 ` Nick Roberts
2001-03-14 19:29 ` Robert A Duff
2001-03-14 20:59 ` Brian Rogoff
2001-03-16 16:42 ` Robert A Duff
2001-03-17 6:13 ` Lao Xiao Hai
2001-03-24 4:08 ` Brian Rogoff
2001-03-15 4:35 ` Nick Roberts
2001-03-15 21:37 ` Randy Brukardt
2001-03-15 22:36 ` Stephen Leake
2001-03-16 16:26 ` Robert A Duff
2001-03-16 16:59 ` Brian Rogoff
2001-03-16 17:31 ` Robert A Duff
2001-03-16 18:29 ` Brian Rogoff
2001-03-17 2:30 ` Nick Roberts
2001-03-17 21:59 ` Robert A Duff
2001-03-17 22:57 ` Static typing (Was Re: Better support for garbage collection) Brian Rogoff
2001-03-17 23:45 ` Robert A Duff
2001-03-18 0:58 ` Brian Rogoff
2001-03-19 15:24 ` Robert A Duff
2001-03-20 4:21 ` Brian Rogoff
2001-03-21 1:32 ` Ken Garlington
2001-03-21 13:28 ` Robert A Duff
2001-03-22 2:08 ` Ken Garlington
2001-03-22 16:40 ` Robert A Duff
2001-03-25 16:21 ` Ken Garlington
2001-03-25 16:56 ` Ken Garlington
2001-03-25 22:31 ` Robert A Duff
2001-03-27 0:24 ` Ken Garlington
2001-03-28 23:15 ` Robert A Duff
2001-03-29 5:02 ` Ken Garlington
2001-03-29 6:13 ` David Starner
2001-03-29 10:10 ` AG
2001-03-29 14:28 ` Ken Garlington
2001-03-29 23:46 ` Robert A Duff
2001-03-30 3:41 ` Ken Garlington
2001-03-30 21:21 ` Robert A Duff
2001-03-31 19:30 ` Ken Garlington
2001-04-02 15:27 ` Robert A Duff
2001-04-02 23:29 ` Ken Garlington
2001-03-30 21:29 ` Robert A Duff
2001-03-30 9:16 ` Dmitry Kazakov
2001-03-30 9:51 ` Florian Weimer
2001-04-02 8:54 ` Dmitry Kazakov
2001-03-30 16:13 ` Ken Garlington
2001-04-02 11:00 ` Dmitry Kazakov
2001-03-30 20:44 ` Robert C. Leif, Ph.D.
2001-04-02 11:29 ` Dmitry Kazakov [this message]
2001-04-02 13:15 ` Robert A Duff
2001-04-03 8:57 ` Dmitry Kazakov
2001-03-27 2:39 ` Andrew Berg
2001-03-27 3:33 ` Ken Garlington
2001-03-27 14:23 ` Robert A Duff
2001-03-27 23:36 ` Ken Garlington
2001-03-29 23:50 ` Robert A Duff
2001-03-19 18:24 ` Better support for garbage collection Tucker Taft
[not found] ` <87bsr46kxv.fsf@deneb.enyo.de>
2001-03-15 14:18 ` Robert A Duff
2001-03-15 16:36 ` Florian Weimer
2001-03-14 22:05 ` Laurent Guerby
2001-03-16 16:47 ` Robert A Duff
2001-03-16 19:46 ` Laurent Guerby
2001-03-16 20:10 ` Robert A Duff
2001-03-17 13:14 ` Support for per allocation pool selection (was: Better support for garbage collection) Laurent Guerby
2001-03-17 17:06 ` Robert A Duff
2001-03-17 19:19 ` Florian Weimer
2001-03-17 21:10 ` Robert A Duff
2001-03-15 17:56 ` Better support for garbage collection Ray Blaak
2001-03-21 16:15 ` Implementing C/C++ style #include bhazzard
2001-03-21 16:45 ` Marin David Condic
2001-03-22 15:13 ` Ira D. Baxter
2001-03-22 15:23 ` Marin David Condic
2001-03-25 15:45 ` Anton Gibbs
2001-03-26 14:24 ` Ted Dennison
2001-03-26 15:00 ` Marin David Condic
2001-03-26 14:49 ` Marin David Condic
2001-03-26 18:19 ` Stephen Leake
2001-03-26 18:44 ` Pascal Obry
2001-03-26 21:44 ` Robert A Duff
2001-03-27 3:02 ` Andrew Berg
2001-03-27 3:27 ` Phaedrus
2001-03-27 17:41 ` Pascal Obry
2001-03-26 19:18 ` Ted Dennison
2001-03-27 18:51 ` Anton Gibbs
2001-03-26 19:35 ` Marin David Condic
2001-03-26 23:04 ` Mark Lundquist
2001-03-27 14:38 ` Marin David Condic
2001-03-26 16:12 ` Florian Weimer
2001-03-26 17:34 ` David Starner
2001-03-26 22:25 ` Florian Weimer
2001-03-27 3:29 ` David Starner
2001-03-26 18:23 ` Stephen Leake
2001-03-26 22:34 ` Florian Weimer
2001-03-27 7:34 ` Ole-Hjalmar Kristensen
2001-03-27 12:43 ` Dale Stanbrough
2001-03-27 14:40 ` Marin David Condic
2001-03-27 15:01 ` Ted Dennison
2001-03-27 13:20 ` Preben Randhol
2001-03-23 17:39 ` Wes Groleau
2001-03-21 18:07 ` Mark Lundquist
2001-03-22 12:50 ` Chris M. Moore
2001-03-22 14:30 ` Marin David Condic
2001-03-22 21:15 ` singlespeeder
2001-03-22 21:42 ` Marin David Condic
2001-03-23 14:43 ` Georg Bauhaus
2001-03-23 18:51 ` Marin David Condic
2001-03-22 15:02 ` Pat Rogers
2001-03-22 15:28 ` Marin David Condic
2001-03-22 16:32 ` Chris M. Moore
2001-03-22 16:57 ` Robert A Duff
2001-03-26 16:13 ` Martin Dowie
2001-03-26 22:55 ` Phaedrus
2001-03-27 1:36 ` tmoran
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox