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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a24:5350:: with SMTP id n77-v6mr1390870itb.11.1527028408895; Tue, 22 May 2018 15:33:28 -0700 (PDT) X-Received: by 2002:a9d:6210:: with SMTP id g16-v6mr259019otj.4.1527028408737; Tue, 22 May 2018 15:33:28 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.uzoreto.com!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!u74-v6no237937itb.0!news-out.google.com!f20-v6ni145itd.0!nntp.google.com!v8-v6no227340itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 22 May 2018 15:33:28 -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=76.113.16.86; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC NNTP-Posting-Host: 76.113.16.86 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: <60d3b0f0-b740-4200-ae80-47226f47ea2c@googlegroups.com> Subject: Re: DragonEgg has been revived From: Shark8 Injection-Date: Tue, 22 May 2018 22:33:28 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:52605 Date: 2018-05-22T15:33:28-07:00 List-Id: On Tuesday, May 22, 2018 at 2:17:11 PM UTC-6, 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. Byron certainly is about multiple backends -- but there's been a lot of tal= k about an "LLVM Ada compiler" here in the past, to the point where the imp= lications really were designing a compiler specifically to it. >=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. Hm interesting.=20 >=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 In itself, not so much -- the biggest problem with anything GCC [meaning GN= AT in the context of Ada] is that there's all the morass of licensing surro= unding it: FSF GNAT vs PGL GNAT vs AdaCore Pro GNAT -- all have different r= estrictions and capabilities and it's just a big mess -- especially for any= small to medium business to sort out. I want a clean break from ALL of that. >=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? The issue isn't GPL with Exception -- it's the idiocy that AdaCore has embr= aced with respect to GNAT, essentially making it unapproachable and confusi= ng as compared to C, FreePascal, or many other implementations. >=20 > I think all the downsides other than those 2 listed above are with GPL = =E2=80=A2without=E2=80=A2 Runtime Exception, correct? The technical considerations; yes. (But we're touching 'legal' and 'busines= s' when it comes to getting more companies using Ada; and the whole GNAT si= tuation is not conducive to that.) >=20 > ** Due to the Target Code clauses of GPLv3 and the Eligible Compilation P= rocess of GPLv3's Runtime Exception, all downstream derivative works are st= aunchly GPLv3 with the Runtime Exception overtly revoking itself due to the= (clearly) IR or the machine-code-as-IR. The viral nature of GPL is also a turn-off for a lot of companies, regardle= ss of runtime exception.