From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=BAYES_00,FROM_ADDR_WS autolearn=no autolearn_force=no version=3.4.5-pre1 Date: 26 Aug 91 18:00:08 GMT From: mintaka!ogicse!hsdndev!encore!jcallen@bloom-beacon.mit.edu (Jerry Callen ) Subject: Re: re-use and concurrency Message-ID: <16575@encore.Encore.COM> List-Id: Various people have discussed the problem of needing "sequential" and "concurrent" implementations of reusable components. Not only are multiple implementations needed, but you also have to decide which one to use. While this might seem easy, what if you are building yet another component that may be used in either tasking or non-tasking programs? Seems to me the right way to solve this is with the library manager; put the "sequential" and "concurrent" implementations in separate libraries and them select the one you need at link time. This does require that your compiler's library scheme allow specs and bodies in different libraries, and that the set of libraries used be changable at link time. I know that (at least) the Intermetrics, Rational and Verdix compilers will allow this, with varying levels of kluginess. What would REALLY be nice is to have the linker select the right library for you, based upon whether or not tasking is in use. Some linkers already know if tasking is present, so such automatic library selection SHOULDN'T be a difficult thing to offer, eh? -- Jerry Callen jcallen@encore.com