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:a6b:ef07:: with SMTP id k7-v6mr14587945ioh.8.1527020230218; Tue, 22 May 2018 13:17:10 -0700 (PDT) X-Received: by 2002:a9d:4503:: with SMTP id w3-v6mr230001ote.7.1527020230044; Tue, 22 May 2018 13:17:10 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.linkpendium.com!news.linkpendium.com!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!u74-v6no122455itb.0!news-out.google.com!f20-v6ni90itd.0!nntp.google.com!v8-v6no111083itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 22 May 2018 13:17:09 -0700 (PDT) In-Reply-To: <9381c59b-311f-4265-8d52-fd6386ccc1db@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> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <57d6ccf6-23da-445c-89d6-b18143913018@googlegroups.com> Subject: Re: DragonEgg has been revived From: "Dan'l Miller" Injection-Date: Tue, 22 May 2018 20:17:10 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:52597 Date: 2018-05-22T13:17:09-07:00 List-Id: 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 Impl= ementation Manual/Design Document would help explain the design underneath = 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 targets= for it, but I also think it's a stupid > idea to build the compiler specifically for it. Writing a compiler =E2=80=9Cspecifically for=E2=80=9D LLVM? I thought that= the whole premise of Byron was to write an Ada compiler for multiple back-= 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. Compared to Byron's laudable long-term clean-room-design goals, my GELI pro= posal* for an LLVM-backended GNAT is an interim stop-gap, focusing only on = likely-not-clean-room generation of LLVM bitcode IR within a single GPLv3 G= NAT executable, causing only ISAs' machine-code (not the IR) to be generate= d by LLVM-embedded-within-GNAT. * described in a prior reply above > Yeah; that's one of the big problems Byron [Ada 2012 in Ada 2012] is inte= nded to address; the other big > one is to escape the stupid morass of licensing issues. What is so bad about GPLv3 with Runtime Exception =E2=80=A6 1) =E2=80=A6 unless a person really really wants to re-work GCC-emitted mac= hine code as lifted to LLVM bitcode IR via, say, McSema as not-GPLv3ed deri= vative works, needing disclosure of all source code?** or 2) =E2=80=A6 unless a person really really wants to write LLVM bitcode IR o= ut to a file to execute it on Sulong/GraalVM as not-GPLv3ed derivative work= s, needing disclosure of all source code?** or 3) Can anyone think of any other precise downsides of GPLv3 =E2=80=A2with= =E2=80=A2 Runtime Exception? I think all the downsides other than those 2 listed above are with GPL =E2= =80=A2without=E2=80=A2 Runtime Exception, correct? ** Due to the Target Code clauses of GPLv3 and the Eligible Compilation Pro= cess of GPLv3's Runtime Exception, all downstream derivative works are stau= nchly GPLv3 with the Runtime Exception overtly revoking itself due to the (= clearly) IR or the machine-code-as-IR.