Path: utzoo!attcan!uunet!ginosko!uakari.primate.wisc.edu!uwm.edu!mailrus!iuvax!cica!gatech!hubcap!billwolf%hazel.cs.clemson.edu From: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) Newsgroups: comp.sw.components Subject: Re: Assignment in Ada Message-ID: <6564@hubcap.clemson.edu> Date: 24 Sep 89 18:04:53 GMT References:Reply-To: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu Lines: 47 From ted@nmsu.edu (Ted Dunning): > let's call [Ada assignment procedure] 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? The answer is that in general, there IS no "parameter passing by value"!!!!! From the Ada 83 reference manual, 6.2.7: ...The language does not define which [parameter passing mechanism] is to be adopted for parameter passing, nor whether different calls to the same subprogram are to use the same mechanism. The execution of a program is erroneous if its effect depends on which mechanism is selected by the implementation. This leaves the compilers free to implement parameter passing any way they want to. The semantics of parameter passing are simply this: If the parameter is "in", you can read it but not write it. If the parameter is "out", you can write it but not read it. If the parameter is "in out", you can read and write it. The parameter will be of the specified type, and can be referenced by the specified name. If the user does not specify a parameter value, the specified default value will be supplied. Thou shalt assume nothing else about the passing of parameters. > [...] pre-processors don't exist either and extension are outlawed? Actually, preprocessors do exist; I believe the Classic Ada product (which provides inheritance and dynamic binding to the Ada O-O types) works via preprocessing. However, they must be kept separate from any validated compiler system. > well why didn't we just use lisp to implement our adt's? No concept of data typing, perhaps? Bill Wolfe, wtwolfe@hubcap.clemson.edu