comp.lang.ada
 help / color / mirror / Atom feed
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.
-------------------------------------------------------







  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