comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: seL4 as base of an AdaOS with some Spark proofing?
Date: Fri, 1 Aug 2014 14:32:01 -0500
Date: 2014-08-01T14:32:01-05:00	[thread overview]
Message-ID: <lrgpvi$48b$1@loke.gir.dk> (raw)
In-Reply-To: 485a93a1-8920-4139-8563-591dba79d68d@googlegroups.com

<gvdschoot@gmail.com> wrote in message 
news:485a93a1-8920-4139-8563-591dba79d68d@googlegroups.com...
On Friday, August 1, 2014 9:42:03 AM UTC+2, kug...@web.de wrote:
...
>> > Here is another idea. Let's for instance instead focus on tools that 
>> > can automatically translate C source code to Ada.
>>
>> What I know about C, you won't and I'm very sure you can't translate it 
>> to Ada in an automatic way.

Of course you can translate C to Ada. There were various tools to do that 
back in the 1980s. The problem is that the Ada you get is terrible Ada (the 
one I saw was full of address manipulations). (That's true of any automatic 
language translator, BTW.)

>Just because it hasn't been done before doesn't mean it is impossible. For 
>instance the
> Go (golang) team in the person of Russ Cox is working on c2go and the 
> approach he
> takes is unconventional. There is presentation about this on youtube.

There's no problem doing such a translator (it's relatively easy to do). The 
problem is that the result is terrible Ada (little typing, lots of address 
math, etc.). In order to make *good* Ada, you need a redesign. That's also 
the case if you want to use SPARK or even the Ada 2012 contracts -- a 
translator can't create intentions that aren't in the source code. There's a 
reason such translators today stop at thin bindings -- that's because there 
is no point in going further without a redesign (and thin bindings ought to 
always be wrapped in a thick binding for Ada use).

                                  Randy.




  parent reply	other threads:[~2014-08-01 19:32 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-30  8:22 seL4 as base of an AdaOS with some Spark proofing? kug1977
2014-07-30  9:06 ` Georg Bauhaus
2014-07-30 10:41   ` Peter Chapin
2014-07-30 11:55     ` G.B.
2014-07-30 17:47 ` Shark8
2014-07-30 22:40   ` Peter Chapin
2014-07-30 22:53     ` Shark8
2014-07-31  0:31   ` Simon Clubley
2014-07-31  6:23     ` Georg Bauhaus
2014-07-30 17:58 ` anon
2014-07-31 22:03   ` gvdschoot
2014-08-01  7:42     ` kug1977
2014-08-01  8:27       ` gvdschoot
2014-08-01  9:04         ` gvdschoot
2014-08-01 19:32         ` Randy Brukardt [this message]
2014-08-01 19:17     ` anon
replies disabled

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