Path: utzoo!attcan!uunet!ginosko!gem.mps.ohio-state.edu!apple!sun-barr!cs.utexas.edu!rutgers!cmcl2!lanl!opus!ted From: ted@nmsu.edu (Ted Dunning) Newsgroups: comp.sw.components Subject: Re: Assignment in Ada Message-ID:Date: 24 Sep 89 05:57:28 GMT References: <6556@hubcap.clemson.edu> Sender: news@nmsu.edu Organization: NMSU Computer Science Lines: 36 In-reply-to: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu's message of 23 Sep 89 21:13:43 GMT In article <6556@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) writes: I wouldn't use either form of assignment to do a reference-counting system, though... it's too easy to create unkillable garbage if one process dies while still holding claim to a reference. ok... got it. part of the purpose of ada is to improve maintenance of software, which implies good readability. but this lack of := overloading means that we need to use a procedure... but let's call it setq instead of assign. now what is the relation of parameter passing by value (i.e. initializing) on the reference counts in a reference counting adt? is there any way to catch the fact that passing a variable into a procedure constitutes another reference? no, you say? and finally, why don't we just use the ada equivalent of unwind-protect to decrement reference counts in the event a process dies. you say it doesn't exist and pre-processors don't exist either and extension are outlawed? well why didn't we just use lisp to implement our adt's? (oh, right i forgot about the 5% overhead for garbage collection). -- ted@nmsu.edu remember, when extensions and subsets are outlawed, only outlaws will have extensions or subsets