comp.lang.ada
 help / color / mirror / Atom feed
From: foo wong <crap@spellingbeewinnars.org>
Subject: Re: Ada to Ada Translator ?
Date: Wed, 22 May 2019 05:57:02 -0700 (PDT)
Date: 2019-05-22T05:57:02-07:00	[thread overview]
Message-ID: <f1227290-e43a-47b5-b0e4-8f5b418f664b@googlegroups.com> (raw)
In-Reply-To: <ly1s0qzn28.fsf@pushface.org>

Unfortunately, this seems like a typical thread here. Lots of bickering and a lot theory. Very little co-operation or offers to join in to help.

First and foremost, I wanted to bring an idea to the Ada community that might help others. I have very little time to program and I would love it if Ada was not tied so tightly to a company that is not helping it to succeed.

Sorry, I am only going to add to the bickering... I am not sure if G.B is affiliated with Adacore but this statement makes me think so:

"Can AdaCore, or any other Ada vendor, pursue a strategy of
giving away a free compiler that allows use in commercial
closed source projects?"

Anyone that is allowed to commit to GCC should not be asking this sort of rhetorical question. All of the other languages supported by GCC are intended to make commercial software easy to develop with GCC. Are the folks behind the other languages withholding code to make more platforms available or releasing GCC code much later then their other offerings posted elsewhere. GNAT is the odd one out and it's an obvious sales ploy.
 
There are so many brilliant people here, if you guys worked together, Ada would not have to be in this state. Randy's posts are helpful in that now I know that Yacc/Flex is enough to build a compiler and I am not even proposing a compiler but rather an Ada to Ada source translator.

All libraries are written in Ada. Just to stick with the topic I brought up earlier, if nested subprograms were translated into more primitive Ada code, then the translator would translate any library code. The only grammar that is required is for core Ada.

Also I would like to mention that the worst thing that Adacore is doing is with holding new targets. They bought up Ada vendors that had support for various targets but they did not merge this into GNAT FSF. Now there is support for ARM but there could have been long ago but the ARM support is coming with strings attached.

I am going to receive a severe mailing list beating for saying this but it seems to me that Adacore has lead FLOSS Ada to a point where it is a fish out of water.

It's great that it is being used for games and web servers and such but Ada has gills and fins, it's supposed to be in the water.

This is not what it was designed to do. It's supposed to be used to control missiles and tanks and could be used for non-military purposes as spin-off. Ada 95 added OO and there there is a ton of stuff like interfaces and whatnot but is any of this needed to fire off a tank shell or missile?

Where is the target support!

I personally don't want to create weapons rather scientific instruments.

Based on this website:
https://wiki.osdev.org/Ada_Bare_bones

These are the parts that the translator would need to translate into more primitive Ada code:

"""

pragma Discard_Names;
pragma Restrictions (No_Enumeration_Maps);
pragma Normalize_Scalars;
pragma Restrictions (No_Exception_Propagation);
pragma Restrictions (No_Finalization);
pragma Restrictions (No_Tasking);
pragma Restrictions (No_Protected_Types);
pragma Restrictions (No_Delay);
pragma Restrictions (No_Recursion);
pragma Restrictions (No_Allocators);
pragma Restrictions (No_Dispatch);
pragma Restrictions (No_Implicit_Dynamic_Code);
pragma Restrictions (No_Secondary_Stack);
"""

but even some of these could be skipped over. If I am the one that ends up doing this, I will only be focused on hardware embedded Ada and I will focus on new targets  and not every last corner-case feature




  reply	other threads:[~2019-05-22 12:57 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-17 14:21 Ada to Ada Translator ? foo wong
2019-05-17 21:00 ` Simon Wright
2019-05-18 12:05   ` foo wong
2019-05-18 12:11     ` foo wong
2019-05-18 14:47     ` Simon Wright
2019-05-18 15:26       ` foo wong
2019-05-18 16:48         ` Simon Wright
2019-05-19 16:04         ` G.B.
2019-05-19 17:08           ` Simon Wright
2019-05-19 18:27             ` Optikos
2019-05-19 21:27               ` Simon Wright
2019-05-19 21:42               ` Simon Wright
2019-05-21 20:54                 ` Optikos
2019-05-22  6:59                   ` Simon Wright
2019-05-22 12:06                     ` Optikos
2019-05-22 12:33                       ` Simon Wright
2019-05-22 12:57                         ` foo wong [this message]
2019-05-22 15:24                           ` Shark8
2019-05-22 16:34                             ` Optikos
2019-05-22 20:07                               ` Randy Brukardt
2019-05-23  7:21                           ` G. B.
2019-05-22 13:33                         ` Optikos
2019-05-20 14:11         ` Optikos
2019-05-20 16:37           ` foo wong
2019-05-18 15:44       ` foo wong
2019-05-18 16:49         ` Simon Wright
2019-05-19 15:04         ` G.B.
2019-05-19 12:41 ` Optikos
2019-05-19 17:38   ` foo wong
2019-05-19 22:52   ` foo wong
2019-05-20 23:19   ` Randy Brukardt
2019-05-21  0:13     ` Optikos
2019-05-21 22:15       ` Randy Brukardt
2019-05-22  0:16         ` Optikos
2019-05-22 20:16           ` Randy Brukardt
2019-05-22 23:27             ` foo wong
2019-05-23  7:56               ` Simon Wright
2019-05-23 12:29                 ` foo wong
2019-05-21 22:20       ` Randy Brukardt
2019-05-21  0:17     ` Optikos
2019-05-22 18:49 ` Optikos
replies disabled

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