Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!ima!mirror!xanth!kent From: kent@xanth.UUCP Newsgroups: comp.sys.amiga Subject: Re: shared libraries, a call for CATS to come to the rescue! Message-ID: <1315@xanth.UUCP> Date: Wed, 17-Jun-87 10:10:58 EDT Article-I.D.: xanth.1315 Posted: Wed Jun 17 10:10:58 1987 Date-Received: Fri, 19-Jun-87 05:35:31 EDT References: <8706110603.AA27095@cogsci.berkeley.edu> <1379@ulowell.cs.ulowell.edu> <2025@cbmvax.cbmvax.cbm.UUCP> Reply-To: kent@xanth.UUCP (Kent Paul Dolan) Organization: Old Dominion University, Norfolk Va. Lines: 34 Summary: How about a brilliant unlinker? In article <2025@cbmvax.cbmvax.cbm.UUCP> andy@cbmvax.UUCP (Andy Finkel) writes: >Maybe its time for a *brilliant* linker... >andy finkel {ihnp4|seismo|allegra}!cbmvax!andy 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 a link of everything it's given, and produces an object module ready for more linking. That way I could take apart window_lib to get its "push" routine, link it to my window_rtn, giving window_rtn_half_linked, take apart stack_lib to get its "push" routine, link it to my stack_rtn, giving stack_rtn_half_linked, and then link main, window_rtn_half_linked, and stack_rtn_half_linked with the standard libraries, giving the great new program stack_windows_with_confusing_pushes. 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. See the article "Design and Implementation of a C-based Language for Distributed Real-time Systems", A. Rizk, F Halsall, SIGPLAN NOTICES V22 N6, June 1987, Page 83-100 for the ultimate solution to the problem, a language MC that allows C modules like Ada(tm) modules, and, like Ada, allows a "dot" notation like the one for structures to refer to routines within the module: window_module.push() and stack_module.push(), for example, would solve the above problem at the source code level, assuming the libraries would keep the fully qualified names for functions, including the module names. Kent. -- Kent Paul Dolan, LCDR, NOAA, Retired; ODU MSCS grad student // Yet UUCP : kent@xanth.UUCP or ...{sun,harvard}!xanth!kent // Another CSNET : kent@odu.csnet ARPA : kent@xanth.cs.odu.edu \\ // Happy USPost: P.O. Box 1559, Norfolk, Virginia 23501-1559 \// Amigan! Voice : (804) 587-7760 -=][> Last one to Ceres is a rotten egg! -=][>