From: "Terry J. Westley" <twestley@buffalo.veridian.com>
Subject: Re: access to controlled types
Date: 1999/02/05
Date: 1999-02-05T00:00:00+00:00 [thread overview]
Message-ID: <918223958.430528@outpost1.roc.accglobal.net> (raw)
In-Reply-To: u679i3vzc.fsf@gsfc.nasa.gov
>"Terry J. Westley" <twestley@buffalo.veridian.com> writes:
>
>> In a new version of TASH, I've implmented an interface
>> to Tcl objects (which are reference counted) with Ada
>> controlled types. I've been very impressed with how
>> well this works in GNAT.
>>
>> But, there are certain calls in the interface which
>> return an access to a class-wide type. It's easy to
>> reference count these newly created objects, but since
>> the access type is not controlled, the reference counts
>> don't get decremented. What's the solution? Should I
>> declare another controlled type which *contains* an
>> access to the original controlled type? Or, is there
>> a better solution?
>
Stephen Leake <Stephen.Leake@gsfc.nasa.gov> responds:
>Perhaps the functions that return a class-wide access type should
>simply be removed. Do they serve a real purpose in the system? Is
>there another (safer) way to satisfy that need? I guess the latter is
>what you are suggesting. But often, a function that violates an
>abstraction truly does not belong.
You have a good point. I'll think about it a bit. The specific
situation is that TASH supports Tcl lists which are heterogenous.
So, when you fetch an element out of the list, it could be an
integer, a float, a string, or another list.
Other functions that return an element of the list are Head and Tail.
--
Terry J. Westley, Principal Engineer
Veridian Engineering, Calspan Operations
twestley@buffalo.veridian.com http://www.veridian.com/
-------------------------------------------------------
Author of TASH, an Ada binding to Tcl/Tk.
Visit the TASH web site at http://tash.calspan.com.
-------------------------------------------------------
next prev parent reply other threads:[~1999-02-05 0:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-02-03 0:00 access to controlled types Terry J. Westley
1999-02-04 0:00 ` Stephen Leake
1999-02-05 0:00 ` Terry J. Westley [this message]
1999-02-20 0:00 ` Matthew Heaney
1999-02-20 0:00 ` Matthew Heaney
1999-02-04 0:00 ` news.oxy.com
1999-02-05 0:00 ` Garb Coll + Heap Cmpctn (was:access to controlled types) Nick Roberts
1999-03-01 0:00 ` access to controlled types Matthew Heaney
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox