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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!feeder.erje.net!eu.feeder.erje.net!news.roellig-ltd.de!open-news-network.org!feed.xsnews.nl!fbe002.ams.xsnews.nl!ecngs!feeder.ecngs.de!Xl.tags.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!local2.nntp.ams.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Thu, 09 Oct 2014 18:33:06 -0500 From: Peter Chapin Newsgroups: comp.lang.ada Subject: Re: Ada 2005 Language Designer Date: Thu, 9 Oct 2014 19:33:06 -0400 Message-ID: References: <6168abe0-23f3-4190-a405-ffd28d9e490a@googlegroups.com> <1a27a5ce-cc98-4e87-999f-feecca3b6825@googlegroups.com> <5436ED7B.9080109@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit User-Agent: MicroPlanet-Gravity/3.0.4 X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-KXQkeYYMZeD219hbRIyvCk8vyt6BMjkr9Vf1WViId+kDgytssw5Y/HjZotGXm8taMXme6nPStk1BsGu!Ij2QHLilBsuzyJXyOkA3EvOZZzctIu2Og2AAgrgdBBKXeE5C403kGEn+Yd5heNCNxI/OFRx7QA== X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 2222 Xref: news.eternal-september.org comp.lang.ada:22297 Date: 2014-10-09T19:33:06-04:00 List-Id: In article <5436ED7B.9080109@gmail.com>, OneWingedShark@gmail.com says... > > And you couldn't pass it as a parameter to any other subprogram, > > nor return one from a function. > > That would be an interesting feature. > Sounds about on-par with LISP's macro functionality; and possibly like > the multi-staged compiler option one of the people on this forum was > advocating for Ada 202X. Passing modules around as if they were ordinary objects is supported by some languages such as Scala. In fact Scala allows you to have multiple implementations of a module in the same program... similar to having two different package bodies for the same specification in a single Ada program. You can even store module objects in other data structures, e.g., put them in an array. It's actually quite elegant. However, those features are distinct from macros or multi-staged programming, at least in Scala's case. Peter