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 2002:a24:fe05:: with SMTP id w5-v6mr1337032ith.14.1527023063614; Tue, 22 May 2018 14:04:23 -0700 (PDT) X-Received: by 2002:a9d:4795:: with SMTP id b21-v6mr241025otf.10.1527023063446; Tue, 22 May 2018 14:04:23 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!news.redatomik.org!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!85.12.16.70.MISMATCH!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!u74-v6no162714itb.0!news-out.google.com!f20-v6ni111itd.0!nntp.google.com!u74-v6no162707itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 22 May 2018 14:04:23 -0700 (PDT) In-Reply-To: <57d6ccf6-23da-445c-89d6-b18143913018@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.233.194; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.233.194 References: <5c2523c1-9ea5-453c-b80e-9cb0dcd16de0@googlegroups.com> <9381c59b-311f-4265-8d52-fd6386ccc1db@googlegroups.com> <57d6ccf6-23da-445c-89d6-b18143913018@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: DragonEgg has been revived From: "Dan'l Miller" Injection-Date: Tue, 22 May 2018 21:04:23 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 4789 X-Received-Body-CRC: 3062904646 Xref: reader02.eternal-september.org comp.lang.ada:52601 Date: 2018-05-22T14:04:23-07:00 List-Id: On Tuesday, May 22, 2018 at 3:17:11 PM UTC-5, Dan'l Miller wrote: > On Tuesday, May 22, 2018 at 2:40:24 PM UTC-5, Shark8 wrote: > > On Tuesday, May 22, 2018 at 6:29:10 AM UTC-6, Simon Clubley wrote: > > >=20 > > > What I would like to see is an Ada compiler that can generate code > > > for a wide range of targets without any GPL restrictions on the > > > generated code. > >=20 > > I'm getting ready to restart work on Byron. I figure that perhaps an Im= plementation Manual/Design Document would help explain the design underneat= h it and welcome new contributors.=20 > >=20 > > >=20 > > > I'm not really bothered how that happens but LLVM seems like an > > > interesting option. > >=20 > > I have mixed feelings on LLVM -- it would be nice to grab all the targe= ts for it, but I also think it's a stupid > > idea to build the compiler specifically for it. >=20 > Writing a compiler =E2=80=9Cspecifically for=E2=80=9D LLVM? I thought th= at the whole premise of Byron was to write an Ada compiler for multiple bac= k-ends: > 1) libFirm: https://pp.ipd.kit.edu/firm > 2) LLVM > 3) GCC > 4) Graal for JVM: http://www.graalvm.org > 5) CLR for .NET & Mono > and so forth. >=20 > Compared to Byron's laudable long-term clean-room-design goals, my GELI p= roposal* for an LLVM-backended GNAT is an interim stop-gap, focusing only o= n likely-not-clean-room generation of LLVM bitcode IR within a single GPLv3= GNAT executable, causing only ISAs' machine-code (not the IR) to be genera= ted by LLVM-embedded-within-GNAT. >=20 > * described in a prior reply above >=20 > > Yeah; that's one of the big problems Byron [Ada 2012 in Ada 2012] is in= tended to address; the other big > > one is to escape the stupid morass of licensing issues. >=20 > What is so bad about GPLv3 with Runtime Exception =E2=80=A6 >=20 > 1) =E2=80=A6 unless a person really really wants to re-work GCC-emitted m= achine code as lifted to LLVM bitcode IR via, say, McSema as not-GPLv3ed de= rivative works, needing disclosure of all source code?** > or >=20 > 2) =E2=80=A6 unless a person really really wants to write LLVM bitcode IR= out to a file to execute it on Sulong/GraalVM as not-GPLv3ed derivative wo= rks, needing disclosure of all source code?** > or >=20 > 3) Can anyone think of any other precise downsides of GPLv3 =E2=80=A2with= =E2=80=A2 Runtime Exception? I just thought of another one: 3) =E2=80=A6 unless a person really really wants to write LLVM bitcode IR o= ut to a file to have Polly grind on it with all sorts of advanced optimizat= ions. Polly and GraalVM of course beget doing to them what was described above fo= r LLVM: H) Import the entirety of Polly within the GCC repository for compilation (= along with the entirety of LLVM) into a single GNAT executable, so that LLV= M bitcode IR is never emitted as a file by GNAT just to utilize Polly's pol= yhedral optimizations with GELI->LLVM. H.a) Add all the command-line options for Polly to GNAT. I) Import the entirety of GraalVM within the GCC repository for compilation= into a single GNAT executable, so that LLVM bitcode IR is never emitted as= a file by GNAT just to utilize GELI->LLVM->GraalVM's Sulong & Polyglot. I.a) Add all the command-line options for GraalVM to GNAT.