Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!gatech!hao!husc6!harvard!spdcc!m2c!ulowell!page From: page@ulowell.cs.ulowell.edu (Bob Page) Newsgroups: comp.sys.amiga Subject: Re: shared libraries, a call for CATS to come to the rescue! Message-ID: <1401@ulowell.cs.ulowell.edu> Date: Thu, 18-Jun-87 13:06:34 EDT Article-I.D.: ulowell.1401 Posted: Thu Jun 18 13:06:34 1987 Date-Received: Sun, 21-Jun-87 13:31:24 EDT References: <8706110603.AA27095@cogsci.berkeley.edu> <1379@ulowell.cs.ulowell.edu> <2025@cbmvax.cbmvax.cbm.UUCP> <1315@xanth.UUCP> Reply-To: page@ulowell.cs.ulowell.edu (Bob Page) Organization: University of Lowell Lines: 60 andy@cbmvax.cbm.UUCP (Andy Finkel) wrote: >We'll see if we have the resources to support something like you suggest. Yay! I'm glad you see that there is a potential problem. >Maybe its time for a *brilliant* linker... Fine, as long as you also SUPPLY a 'make' program with it, since you won't want to have to remember all the options you may potentially have to remember. kent@xanth.UUCP (Kent Paul Dolan) wrote in article <1315@xanth.UUCP>: >Maybe what we need is something to take libraries apart, so that we can >put the needed modules in an explicit order, and a half linker, that does Arggh. I doubt they would get much use, and you'd have to recustomize for each project you were working on. >Still doesn't get you were you want to go if you call both pushes from >the same routine, but at least you're closer. In fact, that would be the only problem left, solved by: >SIGPLAN NOTICES V22 N6, June 1987, Page 83-100: a language MC that allows >a "dot" notation, like window_module.push() and stack_module.push() ... This is interesting (I hadn't seen it) since I was in on the design of a similar system a few years ago called Modular C which acted just like this. It was preprocessor-based, so no changes to the C compiler were necessary. Oddly enough, the two or three papers published on it appaeard in SIGPLAN NOTICES. I think it was about 4-5 years ago, the author was Stowe Boyd, then of Azrex Inc. The more things change... >would solve the problem at the source code level if the libraries would keep >the fully qualified names for functions, including the module names. And that's the problem. It's not hard to integrate the two (MC/Modular C and K&R/ANSI C) but I doubt any library writer will make the descision to use the dot notation just to be nice to other library writers. Of course CBM could solve this by recoding the libraries in MC or Modular C for release 1.3 and requiring everybody to follow the dot convention. It would be substantially easier than recoding it in Modula-2 or Ada. I'll dig up refs to the Modular C articles if anyone is interested. Another solution would be to implement libraries like devices, and pass function codes to a library handler. This is a little messier but much more general, solves the name conflicts (except for people using the same DOS name for the libraries - solvable by FileZap I guess), and is as extensible as the current scheme (unless I'm forgetting something). It also can be done in straight C, a big win. The last option is for CBM to ignore it and let the users worry about it. ..Bob -- Bob Page, U of Lowell CS Dept. page@ulowell.{uucp,edu,csnet}