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 X-Received: by 10.50.73.74 with SMTP id j10mr7001560igv.1.1395234122704; Wed, 19 Mar 2014 06:02:02 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.glorb.com!l13no8302601iga.0!news-out.google.com!bw18ni17846qab.1!nntp.google.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Wed, 19 Mar 2014 08:02:02 -0500 Date: Wed, 19 Mar 2014 09:02:02 -0400 From: Peter Chapin User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: ANN: Kickstarter for beginning work on a new open-source Compiler References: <5151491a-14c3-4138-bcb5-f29108aeefb9@googlegroups.com> In-Reply-To: Message-ID: X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-pZRfcTVwz3Vl5UQgDnj3wzCkhexSn/nGylKLNhZHA1/OTkpM0CQFajzBfr51Iht2kNGCYCbvFmhRmO4!S3pB3lC/Ocj0xmsm0laRrpfaqcbLR3/elGx/TG4UnetJzICkqONxqZX/puysj7Q= 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: 3436 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Xref: news.eternal-september.org comp.lang.ada:18844 Date: 2014-03-19T09:02:02-04:00 List-Id: I think the proposal is interesting and I would love to see it succeed. Maciej Sobczak is concerned about the tool isolation that might arise by storing program information in a database of ASTs (or similar). I can see how that might be a problem. An IDE of the proposed nature would definitely require a robust way to import/export traditional source text. A user of such an IDE could then still use traditional version control systems, CI systems, documentation generators, etc. I understand that environments such as the one proposed have been attempted before. However, just because they didn't work well in the past doesn't mean this attempt must necessarily fail. This attempt could take lessons from the other systems and, perhaps, avoid or work around the issues that caused problems in the past. The proposal is very ambitious because it provides both a complex IDE and a compiler for Ada 2012. Either one of those projects would be daunting on its own. To the OP: have you considered ways of having the IDE interact with existing compilers? Ada, in particular, does have an ASIS standard that can guide, to some extent, the design of abstract program representations. I ask this because I have a pet project of my own to write an Ada 2012 compiler from scratch. I will post more about that in another thread to avoid hijacking this one. However, my vision follows the lead of clang, Microsoft's Roslyn C# compiler, and to a lesser extent the Scala compiler. Modern compilers, I believe, should not just slurp up text and output object code. Instead they should be provided as a collection of well documented libraries that can be directly loaded into other applications. This allows applications, such as IDEs, to exchange information with the compiler using abstract representations while at the same time keeping both projects well isolated. See the clang documentation for what I believe is the right way to do it. Thus as a potential Ada 2012 compiler writer I ask: what sort of APIs would be useful if one wanted to split off the code analysis and generation from the IDE itself and move it into a separately developed library? Peter