From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4c459ff0adb576bc X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-02-03 16:06:23 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!jfk3-feed1.news.digex.net!dca6-feed2.news.digex.net!intermedia!newsfeed1.cidera.com!Cidera!cyclone.tampabay.rr.com!news-post.tampabay.rr.com!typhoon.southeast.rr.com.POSTED!not-for-mail From: David Emery Newsgroups: comp.lang.ada Subject: Re: Refactoring and Ada (tool I'd like to have...) Message-ID: <030220021906192576%demery@cox.rr.com> References: <3C5AB0B7.9D75D49A@grammatech.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 8bit User-Agent: YA-NewsWatcher/4.2.4 Date: Mon, 04 Feb 2002 00:06:18 GMT NNTP-Posting-Host: 66.61.175.80 X-Complaints-To: abuse@rr.com X-Trace: typhoon.southeast.rr.com 1012781178 66.61.175.80 (Sun, 03 Feb 2002 19:06:18 EST) NNTP-Posting-Date: Sun, 03 Feb 2002 19:06:18 EST Organization: RoadRunner - Cox Xref: archiver1.google.com comp.lang.ada:19571 Date: 2002-02-04T00:06:18+00:00 List-Id: A long time ago (in a galaxy far, far away :-), at one of the SIGAda Future APSE workshops, Tucker Taft, Susan Dart (then at SEI) and I formed a little group where we looked at "practical tools we wish we had." Before we knew the term 'refactoring', we proposed a tool that would facilitate the movement of types and operations across packages. We called it the "hoister"... Here's a scenario: Assume a layered architecture, and package P has a private type with a hidden component C, which comes from package Q. Now for whatever good reason, we realize that we need to make component C and its type visible. So we'd like to "hoist" declarations from Q and put them into P. We'd like a tool that would automagically adjust calls to operations in P and Q. Some operations the tool could fix itself, and others it would need to refer to the human engineer. This is the kind of stuff that I think would be very valuable for any programming language with an encapsulation mechanism, not just Ada. dave