From: billwolf@hubcap.clemson.edu (William Thomas Wolfe,2847,)
Subject: Re: Ada language revision
Date: 23 Nov 88 22:22:13 GMT [thread overview]
Message-ID: <3656@hubcap.UUCP> (raw)
In-Reply-To: 733@marvin.cme-durer.ARPA
From article <733@marvin.cme-durer.ARPA>, by leake@cme-durer.ARPA (Stephe Leake):
> In article <3563@hubcap.UUCP> billwolf@hubcap.clemson.edu (William
> Thomas Wolfe,2847,) writes:
>
> 2) Similarly, there is no provision for defining the DESTROY
> procedure over an abstract data type such that
> UNCHECKED_DEALLOCATION is required to invoke it...
>
> This needs clarification; what does a DESTROY procedure do that
> UNCHECKED_DEALLOCATION doesn't?
Consider an ADT which contains pointers to substructures.
A user declares an access type pointing to an instance of your
ADT, and uses UNCHECKED_DEALLOCATION to destroy that instance
after finishing with it. UNCHECKED_DEALLOCATION will not
recursively chase down and free up what might constitute
over 99% of the space occupied by the ADT. Similarly, if your
ADT uses another ADT in its implememtation, your DESTROY procedure
will include a call to the DESTROY procedure of the sub-ADT,
but UNCHECKED_DEALLOCATION will remain oblivious to the method
which must be used to properly destroy the sub-ADT.
> 8) Record types should have the attributes NUMBER_OF_FIELDS,
> FIELD_NAME (Field Number), and FIELD_TYPE (Field Number)....
>
> This sounds good, but I suspect it would be difficult to handle
> [limited] private types and variant records. Does NUMBER_OF_FIELDS
> return the number for the current discriminant, or something else?
Generally, what I would like to do is be able to read everything
about that record type that is contained in the type's description.
We have attributes that allow us to know everything about an integer
type, fixed type, float type, etc; we can tell what the bounds
of an array are, but we can't find out much of anything about records.
('FIRST_BIT, which tells us how far into the first storage unit
occupied by the record we have to go in order to find the first bit
of the record, and 'POSITION, which tells us how far past the first
storage unit occupied by the record we have to go in order to find
the specified component of the record, are the only attributes
pertaining specifically to the record) Also, FIELD_TYPE was
an error; I meant to say FIELD (Field Number), which would allow
me to loop through the fields of a given record without knowing
the names of the fields at compile time.
> Here are a couple restrictions that I would like relaxed:
>
> 10) LRM 4.3.2 (6) says if I have an array aggregate with named
> association and an others clause, it must be an actual parameter or
> function result;
This is what I meant about initializing arrays. Thanks!
next prev parent reply other threads:[~1988-11-23 22:22 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
1988-11-14 13:20 Ada language revision Stanley Roger Allen, AdaDude
1988-11-15 23:28 ` Wilmer Rivers
1988-11-16 19:06 ` William Thomas Wolfe,2847,
1988-11-17 15:34 ` Stephe Leake
1988-11-18 16:39 ` Steve Tynor
1988-11-18 19:22 ` Ron Guilmette
1988-11-23 22:22 ` William Thomas Wolfe,2847, [this message]
1988-11-29 15:35 ` Stephe Leake
1988-11-18 0:32 ` Ron Guilmette
1988-11-22 14:37 ` Stephe Leake
1988-11-23 13:37 ` Dennis Doubleday
1988-11-23 19:41 ` Steve Tynor
1988-11-23 21:14 ` Richard Pattis
1988-11-25 20:36 ` Robert Firth
1988-11-29 15:12 ` limited private types Stephe Leake
1988-12-01 23:06 ` Ron Guilmette
1988-12-05 1:48 ` Paul Stachour
1988-12-05 12:31 ` Reference Semantics William Thomas Wolfe,2847,
1988-12-06 0:29 ` Paul Stachour
1988-12-07 1:07 ` Reference Semantics, assignment overloading, etc Ray Trent
1988-12-08 17:36 ` Reference Semantics, assignment ryer
1988-12-06 16:56 ` limited private types ryer
1988-12-06 20:09 ` stt
1988-12-07 15:51 ` Stephe Leake
1988-11-21 15:40 ` Ada language revision stt
-- strict thread matches above, loose matches on Subject: below --
1988-11-28 22:19 Collective response to := messages Geoff Mendal
1988-11-29 14:39 ` Dennis Doubleday
1988-11-29 21:08 ` Ray Trent
1988-11-30 14:37 ` Stephe Leake
1988-12-01 14:54 ` David S. Rosenblum
1988-12-02 20:21 ` William Thomas Wolfe,2847,
1988-12-04 21:15 ` David S. Rosenblum
1988-12-04 23:27 ` William Thomas Wolfe,2847,
1988-12-05 14:46 ` David S. Rosenblum
1988-12-05 21:23 ` William Thomas Wolfe,2847,
1988-12-07 17:33 ` Stephe Leake
1988-12-07 16:03 ` Definition of pass by reference Robert Eachus
1988-12-07 17:15 ` Collective response to := messages Stephe Leake
1988-12-07 16:07 ` Stephe Leake
1988-12-09 3:15 ` David S. Rosenblum
1988-12-01 21:31 ` Ray Trent
1988-12-07 16:21 ` Stephe Leake
1988-11-30 16:29 ` David S. Rosenblum
1988-11-30 18:29 ` William Thomas Wolfe,2847,
1988-11-30 22:28 ` David S. Rosenblum
1988-12-01 3:09 ` William Thomas Wolfe,2847,
1988-12-01 15:16 ` David S. Rosenblum
1988-12-02 19:31 ` William Thomas Wolfe,2847,
1988-12-04 21:03 ` David S. Rosenblum
1988-12-05 2:34 ` William Thomas Wolfe,2847,
1988-12-05 14:07 ` David S. Rosenblum
1988-12-07 17:26 ` Stephe Leake
1988-12-06 19:16 ` Collective response to := messa stt
1988-12-09 3:39 ` David S. Rosenblum
1988-11-30 19:13 ` CORRECTION Re: Collective response to := messages David S. Rosenblum
1988-12-01 18:31 ` Ray Trent
1988-12-02 14:49 ` David S. Rosenblum
1988-12-05 17:33 ` Collective response to := messa stt
1988-11-30 18:24 ` Collective response to := messages Robert Eachus
1988-12-02 14:58 ` David S. Rosenblum
1988-12-02 19:34 ` Mark C. Adolph
1988-12-05 17:15 ` Collective response to := messa stt
1988-11-29 21:44 ` Collective response to := messages William Thomas Wolfe,2847,
1989-07-26 20:34 Memory Access Question tony
1989-07-27 13:06 ` richard a hammond
1989-07-27 18:53 ` Ray Trent
1989-07-28 0:48 ` Mike Murphy
1989-08-02 13:23 ` Mike Walsh
1989-08-02 20:20 ` Mike Murphy
1989-07-29 0:00 ` Brian Sullivan
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox