comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: DragonEgg has been revived
Date: Tue, 22 May 2018 15:33:28 -0700 (PDT)
Date: 2018-05-22T15:33:28-07:00	[thread overview]
Message-ID: <60d3b0f0-b740-4200-ae80-47226f47ea2c@googlegroups.com> (raw)
In-Reply-To: <57d6ccf6-23da-445c-89d6-b18143913018@googlegroups.com>

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:
> > > 
> > > 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.
> > 
> > I'm getting ready to restart work on Byron. I figure that perhaps an Implementation Manual/Design Document would help explain the design underneath it and welcome new contributors. 
> > 
> > > 
> > > I'm not really bothered how that happens but LLVM seems like an
> > > interesting option.
> > 
> > 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 “specifically for” 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.

Byron certainly is about multiple backends -- but there's been a lot of talk about an "LLVM Ada compiler" here in the past, to the point where the implications really were designing a compiler specifically to it.

> 
> Compared to Byron's laudable long-term clean-room-design goals, my GELI proposal* 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 GNAT executable, causing only ISAs' machine-code (not the IR) to be generated by LLVM-embedded-within-GNAT.

Hm interesting. 

> 
> > Yeah; that's one of the big problems Byron [Ada 2012 in Ada 2012] is intended to address; the other big
> > one is to escape the stupid morass of licensing issues.
> 
> What is so bad about GPLv3 with Runtime Exception …

In itself, not so much -- the biggest problem with anything GCC [meaning GNAT in the context of Ada] is that there's all the morass of licensing surrounding it: FSF GNAT vs PGL GNAT vs AdaCore Pro GNAT -- all have different restrictions 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.

> 
> 1) … unless a person really really wants to re-work GCC-emitted machine code as lifted to LLVM bitcode IR via, say, McSema as not-GPLv3ed derivative works, needing disclosure of all source code?**
> or
> 
> 2) … 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 works, needing disclosure of all source code?**
> or
> 
> 3) Can anyone think of any other precise downsides of GPLv3 •with• Runtime Exception?

The issue isn't GPL with Exception -- it's the idiocy that AdaCore has embraced with respect to GNAT, essentially making it unapproachable and confusing as compared to C, FreePascal, or many other implementations.

> 
> I think all the downsides other than those 2 listed above are with GPL •without• Runtime Exception, correct?

The technical considerations; yes. (But we're touching 'legal' and 'business' when it comes to getting more companies using Ada; and the whole GNAT situation is not conducive to that.)

> 
> ** Due to the Target Code clauses of GPLv3 and the Eligible Compilation Process of GPLv3's Runtime Exception, all downstream derivative works are staunchly 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, regardless of runtime exception.

  parent reply	other threads:[~2018-05-22 22:33 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-21 21:37 DragonEgg has been revived Simon Clubley
2018-05-21 22:20 ` Dan'l Miller
2018-05-21 22:26 ` Luke A. Guest
2018-05-22 12:12   ` Simon Clubley
2018-05-22  1:02 ` Dan'l Miller
2018-05-22 12:29   ` Simon Clubley
2018-05-22 12:41     ` Luke A. Guest
2018-05-22 15:25       ` Dan'l Miller
2018-05-22 19:40     ` Shark8
2018-05-22 20:17       ` Dan'l Miller
2018-05-22 21:04         ` Dan'l Miller
2018-05-22 22:33         ` Shark8 [this message]
2018-05-23  1:58           ` Dan'l Miller
2018-05-23  7:26     ` Simon Wright
2018-05-23  8:11       ` Luke A. Guest
2018-05-23 14:10       ` Dan'l Miller
2018-05-23 15:46       ` Dan'l Miller
2018-05-23 15:51       ` Dan'l Miller
2018-05-23 19:27         ` Chris M Moore
2018-05-23 20:30           ` Dan'l Miller
2018-05-23 22:18             ` Chris M Moore
2018-05-24  0:12               ` Dan'l Miller
2018-05-24  8:00                 ` Simon Wright
2018-05-24  7:19         ` Simon Wright
2018-05-24 15:38           ` Dan'l Miller
2018-05-24 16:44             ` Dan'l Miller
2018-05-24 18:07               ` Lucretia
2018-05-25  0:09                 ` Dan'l Miller
2018-05-24 17:19             ` Simon Wright
2018-05-24 19:26               ` Dan'l Miller
2018-05-24 21:59                 ` Chris M Moore
2018-05-24 22:15                   ` Dan'l Miller
2018-05-24 22:22                     ` Dan'l Miller
2018-05-25  0:19                   ` Luke A. Guest
2018-05-25 13:16                     ` Simon Clubley
2018-05-25 13:29                       ` Lucretia
2018-05-25 17:08                         ` Simon Wright
2018-05-25 18:09                           ` Dan'l Miller
2018-05-25 16:25                     ` Jeffrey R. Carter
2018-05-25 17:01                       ` Dan'l Miller
2018-05-25  1:54                   ` Dan'l Miller
2018-05-25  2:56                     ` Luke A. Guest
2018-05-25  3:38                       ` Dan'l Miller
2018-05-25 11:12                         ` Brian Drummond
2018-05-24 20:50               ` Dan'l Miller
2018-05-24 20:56               ` Dan'l Miller
2018-05-24 21:00                 ` Dan'l Miller
2018-05-24 20:23             ` G. B.
2018-05-25  7:16             ` Chris M Moore
2018-05-25  8:09               ` Simon Wright
2018-05-25  8:28             ` Simon Wright
2018-05-25 20:02               ` Dan'l Miller
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox