comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: ANN: Kickstarter for beginning work on a new open-source Compiler
Date: Wed, 19 Mar 2014 12:55:39 -0700 (PDT)
Date: 2014-03-19T12:55:39-07:00	[thread overview]
Message-ID: <0d9343e9-6190-46b0-a313-bc33ed17f28d@googlegroups.com> (raw)
In-Reply-To: <857g7q6za4.fsf@stephe-leake.org>

[I'm trying Thunderbird as a news-reader; I believe it sent Mr. Leake an email reply rather than the desired public-posting here.]

On 19-Mar-14 07:25, Stephen Leake wrote:
> Shark8 <onewingedshark@gmail.com> writes:
>
>> The working-copy of the proposal is here:
>> https://drive.google.com/file/d/0BwQVNNshW39cTXVOdWxQaVJ5WjA/edit?usp=sharing
>
> You have clearly put a lot of thought into this.
>
> I have a few comments/questions.
>
> 1) Why write the new tool in Delphi and not Ada?
>
>      The Rationale section "Why implement in Delphi 2007" provides a
>      rationale for implementing in dotnet, not Delphi. There is an Ada
>      compiler for dotnet (I think it needs work, but you are already
>      proposing a huge amount of work, so what's a little more?).
>
>      And even that rationale is not convincing. Emacs, Eclipse, GPS are
>      all portable to Linux and Windows; in what other environments do you
>      require running the IDE?

Good points; very good.
I'll try to address them in the next update, right now I have no good 
and articulable reasons.

One reason to use Delphi rather than Ada is licensing; IIUC the license 
for GNAT would prohibit development of a commercial product and 
[probably] the development of something that /would be/ used in a 
commercial product -- I simply do not wish to burden users of this 
system in that manner.

I do need to elaborate on that [the rationale] to flesh it out, which is 
why the proposal is a "working copy" -- I was afraid that failing to 
commit to publishing it would lead to an "endless planning" circuit in 
myself.

> 2) The Rationale section "Why Write an Ada Compiler?" provides a
>     justification for writing an IDE plugin, not an Ada compiler.
>
>     You can easily extract text from the database and feed it to gnat, or
>     any other Ada compiler.

True.
But storing it as unprocessed text means that you [well, your 
computer/tools] have to repeat a lot of work (e.g. parsing) again and 
again. "Moving that processing to the outer loop" can reduce that, and 
given the advantages of working w/ meaningful-data vs. generalized-text 
it seems like a reasonable thing to do.

> 3) Storing text as correct, structured data:
>
>      a) has been tried before; in Rational R1000
>         (http://en.wikipedia.org/wiki/R1000 - not a very informative
>         link, unfortunately). Did you review any lessons learned from
>         that?

I've heard some good things about the R1000, but haven't seen a lot of 
information on it -- I did find a PDF on a review of it, which I still 
need to read, I'm currently working on the Ada 83 Rationale (for a 
better understanding of the language's roots/ideologies).

Evaluation of the Rational Environment
URL: http://www.sei.cmu.edu/reports/88tr015.pdf

>
>      b) Prevents people checking in code so colleagues can answer the
>         question "why doesn't this compile"?
>

Non-working code should be kept out of the [main] code-base; this 
situation can be handled with a chat/message-board (or similar) sort of 
functionality -- There's *no* need to pollute your revisions with code 
that cannot work. (i.e. Don't compromise your secure communication 
network by forcing acceptance of unsecured components. // In-band 
communication [of metadata] is a Bad-Thing(tm).)

>      c) Prevents writing skeletons; something I do when starting a
>         totally new project.

Howso?
You can still have the procedure's "is null" spec; and Delphi itself has 
been generating empty subprograms forever.

>
> 4) You don't address "Why write a new IDE rather than a plugin for an
>     existing one?"
>
>      IDEs are huge, complex beasts. What you propose to do can be
>      accommodated as a plugin for Eclipse, Emacs, or GPS.

So?
That argument would preclude development of new OSes; which would be 
detrimental, especially considering that we are right-now at the cusp of 
real need for formally validated/verified (and therefore [more] secure 
and stable) OSes.

>      GPS from AdaCore is a nice Ada IDE, but it lacks many features that
>      I find essential on a daily basis, which is why I use Emacs instead.
>      Any new tool you start will be even more limited.

Agreed (that GPS is pretty nice, yet missing a lot).

> 5) Current IDEs (GPS, Eclipse, less so Emacs) use a parsed
>     representation of the source for refactoring, completion, and the
>     other tasks you require in an IDE. That gives the best of both
>     worlds.

Yes, and given how nicely that works it makes sense that other tools 
could benefit from operating with parsed info rather than "plain text" 
(e.g. repositories, which could store name-changes as updating a 
property in the stored object and allow for ignoring non-meaningful 
changes [like tabs vs. spaces]).

> 6) What is your business plan? You are proposing to directly compete
>     with AdaCore; it is not at all clear from the proposal that you
>     understand what that means.

I understand that AdaCore mainly deals in support not, strictly 
speaking, the compiler itself; but even if this weren't the case, I'm of 
the opinion that the programming community could benefit from another 
freely available implementation... especially one which doesn't share 
the same codebase.



  reply	other threads:[~2014-03-19 19:55 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-18 23:23 ANN: Kickstarter for beginning work on a new open-source Compiler Shark8
2014-03-19  9:06 ` Maciej Sobczak
2014-03-19 13:02   ` Peter Chapin
2014-03-19 13:48     ` Dmitry A. Kazakov
2014-03-19 22:11       ` Randy Brukardt
2014-03-20 14:56         ` Robert A Duff
2014-03-19 21:59     ` Randy Brukardt
2014-03-19 22:03     ` Randy Brukardt
2014-03-20 20:41       ` Shark8
2014-03-20 23:04         ` Randy Brukardt
2014-03-20  0:12     ` Luke A. Guest
2014-03-20  0:36       ` Peter Chapin
2014-03-20  0:52         ` Luke A. Guest
2014-03-20 12:10       ` Simon Wright
2014-03-20 12:45         ` Luke A. Guest
2014-03-20 13:22           ` Simon Wright
2014-03-20 14:13             ` Luke A. Guest
2014-03-20 14:17             ` J-P. Rosen
2014-03-21  2:13               ` Lucretia
2014-03-21  5:23                 ` J-P. Rosen
2014-03-21  5:33                   ` Lucretia
2014-03-21  6:43                     ` J-P. Rosen
2014-03-21 22:51                     ` Randy Brukardt
2014-03-22  1:13                       ` Luke A. Guest
2014-03-22  6:27                       ` Tero Koskinen
2014-03-22  7:02                         ` J-P. Rosen
2014-03-24 20:50                           ` Randy Brukardt
2014-03-24 22:42                             ` Qun-Ying
2014-03-25 15:16                               ` Tero Koskinen
2014-03-20 15:27         ` Robert A Duff
2014-03-20 21:06           ` Simon Wright
2014-03-21 16:07             ` Robert A Duff
2014-03-23 17:52               ` Simon Wright
2014-03-19 14:25 ` ANN: " Stephen Leake
2014-03-19 19:55   ` Shark8 [this message]
2014-03-19 22:28     ` Randy Brukardt
2014-03-20 17:55       ` Shark8
2014-03-20 17:53         ` Dmitry A. Kazakov
2014-03-19 22:49     ` Brian Drummond
2014-03-20 10:21     ` Lucretia
2014-03-20 23:35     ` Stephen Leake
2014-03-21  8:17       ` Simon Wright
2014-03-23 21:14         ` erlo
2014-03-23 22:36           ` Simon Wright
2014-03-24 20:31             ` erlo
2014-03-19 21:04 ` Alan Browne
2014-03-19 22:22   ` Randy Brukardt
2014-03-20 20:30   ` Shark8
2014-03-21  2:18     ` Lucretia
2014-03-21 21:51       ` Shark8
2014-03-22  5:48         ` J-P. Rosen
2014-03-22  6:01           ` Jeffrey Carter
2014-03-24 21:03             ` Randy Brukardt
2014-03-22  9:14           ` Ludovic Brenta
2014-03-22 10:15             ` Pascal Obry
2014-03-22 10:25             ` Dirk Craeynest
2014-03-22 12:41               ` Niklas Holsti
2014-03-22 14:59                 ` Dirk Craeynest
2014-03-22 16:20                   ` Niklas Holsti
2014-03-22 17:05                     ` Ludovic Brenta
2014-03-24  6:41           ` Shark8
2014-03-24  6:16             ` Luke A. Guest
2014-03-22  8:38         ` ANN: " Dmitry A. Kazakov
2014-03-22 19:28       ` Stephen Leake
2014-03-22 20:39         ` Shark8
2014-03-24  1:16           ` Stephen Leake
2014-03-24  6:40             ` Shark8
2014-03-25 20:04               ` Stephen Leake
2014-03-25 20:30                 ` Dmitry A. Kazakov
2014-03-20 21:35 ` gautier_niouzes
2014-03-21 22:19   ` Shark8
replies disabled

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