Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

ASHes to ASHes, DOS to DOS.


devel / comp.lang.ada / Adacore joins with Ferrous Systems to support Rust

SubjectAuthor
* Adacore joins with Ferrous Systems to support RustPaul Rubin
+* Re: Adacore joins with Ferrous Systems to support RustLuke A. Guest
|+* Re: Adacore joins with Ferrous Systems to support RustMarius Amado-Alves
||+* Re: Adacore joins with Ferrous Systems to support RustLuke A. Guest
|||+- Re: Adacore joins with Ferrous Systems to support RustStephen Leake
|||`- Re: Adacore joins with Ferrous Systems to support RustRene
||+- Re: Adacore joins with Ferrous Systems to support RustG.B.
||+- Re: Adacore joins with Ferrous Systems to support RustJohn McCabe
||+* Re: Adacore joins with Ferrous Systems to support Rustamo...@unizar.es
|||+* Re: Adacore joins with Ferrous Systems to support RustLuke A. Guest
||||`- Re: Adacore joins with Ferrous Systems to support RustAlejandro R. Mosteo
|||`* Re: Adacore joins with Ferrous Systems to support RustJohn Perry
||| +- Re: Adacore joins with Ferrous Systems to support RustMarius Amado-Alves
||| +* Re: Adacore joins with Ferrous Systems to support RustAlejandro R. Mosteo
||| |+- Re: Adacore joins with Ferrous Systems to support RustJ-P. Rosen
||| |`* Re: Adacore joins with Ferrous Systems to support RustRandy Brukardt
||| | `- Re: Adacore joins with Ferrous Systems to support RustPaul Rubin
||| `- Re: Adacore joins with Ferrous Systems to support RustJohn Perry
||`- Re: Adacore joins with Ferrous Systems to support RustKevin Chadwick
|`* Re: Adacore joins with Ferrous Systems to support RustPaul Rubin
| `* Re: Adacore joins with Ferrous Systems to support RustLuke A. Guest
|  `* Re: Adacore joins with Ferrous Systems to support RustPaul Rubin
|   `* Re: Adacore joins with Ferrous Systems to support RustLuke A. Guest
|    +* Re: Adacore joins with Ferrous Systems to support RustPaul Rubin
|    |+- Re: Adacore joins with Ferrous Systems to support RustBjörn Lundin
|    |`* Re: Adacore joins with Ferrous Systems to support RustRandy Brukardt
|    | `- Re: Adacore joins with Ferrous Systems to support RustPaul Rubin
|    `* Re: Adacore joins with Ferrous Systems to support RustSimon Wright
|     `* Re: Adacore joins with Ferrous Systems to support RustLuke A. Guest
|      `* Re: Adacore joins with Ferrous Systems to support RustRandy Brukardt
|       `* Re: Adacore joins with Ferrous Systems to support RustLuke A. Guest
|        +- Re: Adacore joins with Ferrous Systems to support RustAndreas ZEURCHER
|        `- Re: Adacore joins with Ferrous Systems to support RustRandy Brukardt
+- Re: Adacore joins with Ferrous Systems to support RustStephen Leake
+* Re: Adacore joins with Ferrous Systems to support RustGautier write-only address
|`- Re: Adacore joins with Ferrous Systems to support RustPaul Rubin
`- Re: Adacore joins with Ferrous Systems to support Rust25.BZ943

Pages:12
Adacore joins with Ferrous Systems to support Rust

<87o83pzlvm.fsf@nightsong.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6593&group=comp.lang.ada#6593

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.ada
Subject: Adacore joins with Ferrous Systems to support Rust
Date: Wed, 02 Feb 2022 00:57:33 -0800
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <87o83pzlvm.fsf@nightsong.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: reader02.eternal-september.org; posting-host="5f0bf89a421cda437056c5888eb4a38d";
logging-data="31053"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/jYeh2MK8P7P06A6vKcYiG"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:BD2wl/dc+4Xv4AHkSqfAjVBru9Q=
sha1:IXQtT5MK6tI6uTHWqjOq2+w0IYc=
 by: Paul Rubin - Wed, 2 Feb 2022 08:57 UTC

https://blog.adacore.com/adacore-and-ferrous-systems-joining-forces-to-support-rust

Ferrous Systems is apparently a Rust support company based in Germany.
From the linked page:

"Ferrous Systems and AdaCore are announcing today that they’re
joining forces to develop Ferrocene - a safety-qualified Rust
toolchain, which is aimed at supporting the needs of various
regulated markets, such as automotive, avionics, space, and
railway."

No mention about whether there will be any type of FOSS or community
release. No word on whether the compiler and/or toolchain will be based
on the existing stuff, or something new. Wonder how they will
safety-certify anything in Rust when the language itself doesn't even
have a formal spec. But, it is an interesting development.

Is the writing on the wall for Ada?

Re: Adacore joins with Ferrous Systems to support Rust

<stdvgv$76k$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6594&group=comp.lang.ada#6594

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.mixmin.net!aioe.org!Lx7EM+81f32E0bqku+QpCA.user.46.165.242.75.POSTED!not-for-mail
From: lagu...@archeia.com (Luke A. Guest)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Wed, 2 Feb 2022 13:04:42 +0000
Organization: Aioe.org NNTP Server
Message-ID: <stdvgv$76k$1@gioia.aioe.org>
References: <87o83pzlvm.fsf@nightsong.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="7380"; posting-host="Lx7EM+81f32E0bqku+QpCA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.5.1
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-GB
 by: Luke A. Guest - Wed, 2 Feb 2022 13:04 UTC

On 02/02/2022 08:57, Paul Rubin wrote:
> https://blog.adacore.com/adacore-and-ferrous-systems-joining-forces-to-support-rust
>
> Ferrous Systems is apparently a Rust support company based in Germany.
> From the linked page:
>
> "Ferrous Systems and AdaCore are announcing today that they’re
> joining forces to develop Ferrocene - a safety-qualified Rust
> toolchain, which is aimed at supporting the needs of various
> regulated markets, such as automotive, avionics, space, and
> railway."
>
> No mention about whether there will be any type of FOSS or community
> release. No word on whether the compiler and/or toolchain will be based
> on the existing stuff, or something new. Wonder how they will
> safety-certify anything in Rust when the language itself doesn't even
> have a formal spec. But, it is an interesting development.
>
> Is the writing on the wall for Ada?

I see this going one way, Ada loses out as the Rust side uses AdaCore to
get what they want.

Re: Adacore joins with Ferrous Systems to support Rust

<87d2e0c1-c851-43e2-a085-fad30e475e35n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6595&group=comp.lang.ada#6595

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:a37:f514:: with SMTP id l20mr20210250qkk.458.1643815753006;
Wed, 02 Feb 2022 07:29:13 -0800 (PST)
X-Received: by 2002:a25:1583:: with SMTP id 125mr40489120ybv.216.1643815752848;
Wed, 02 Feb 2022 07:29:12 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Wed, 2 Feb 2022 07:29:12 -0800 (PST)
In-Reply-To: <stdvgv$76k$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=94.60.27.164; posting-account=3cDqWgoAAAAZXc8D3pDqwa77IryJ2nnY
NNTP-Posting-Host: 94.60.27.164
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <87d2e0c1-c851-43e2-a085-fad30e475e35n@googlegroups.com>
Subject: Re: Adacore joins with Ferrous Systems to support Rust
From: amado.al...@gmail.com (Marius Amado-Alves)
Injection-Date: Wed, 02 Feb 2022 15:29:12 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 2
 by: Marius Amado-Alves - Wed, 2 Feb 2022 15:29 UTC

If possible please tell what Rust has to offer over Ada.
From a quick look at the Rust book it seemed weaker in structured programming, generic programming, type system.
Thanks.

Re: Adacore joins with Ferrous Systems to support Rust

<86tudhs0km.fsf@stephe-leake.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6596&group=comp.lang.ada#6596

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!6MpDoNrA+2KoZyE4OD7oYg.user.46.165.242.75.POSTED!not-for-mail
From: stephen_...@stephe-leake.org (Stephen Leake)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Wed, 02 Feb 2022 08:19:37 -0800
Organization: Aioe.org NNTP Server
Message-ID: <86tudhs0km.fsf@stephe-leake.org>
References: <87o83pzlvm.fsf@nightsong.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="9076"; posting-host="6MpDoNrA+2KoZyE4OD7oYg.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (windows-nt)
Cancel-Lock: sha1:y9WZcSIqWBP2uozLtwDI/AOH9kQ=
X-Notice: Filtered by postfilter v. 0.9.2
 by: Stephen Leake - Wed, 2 Feb 2022 16:19 UTC

Paul Rubin <no.email@nospam.invalid> writes:

> https://blog.adacore.com/adacore-and-ferrous-systems-joining-forces-to-support-rust
>
> Ferrous Systems is apparently a Rust support company based in Germany.
> From the linked page:
>
> "Ferrous Systems and AdaCore are announcing today that they’re
> joining forces to develop Ferrocene - a safety-qualified Rust
> toolchain, which is aimed at supporting the needs of various
> regulated markets, such as automotive, avionics, space, and
> railway."
>
> No mention about whether there will be any type of FOSS or community
> release. No word on whether the compiler and/or toolchain will be based
> on the existing stuff, or something new. Wonder how they will
> safety-certify anything in Rust when the language itself doesn't even
> have a formal spec. But, it is an interesting development.
>
> Is the writing on the wall for Ada?

Yes. And it says:

As long as people care about quality software engineering, they will
use Ada.

:)

--
-- Stephe

Re: Adacore joins with Ferrous Systems to support Rust

<stebuj$q2n$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6597&group=comp.lang.ada#6597

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!Lx7EM+81f32E0bqku+QpCA.user.46.165.242.75.POSTED!not-for-mail
From: lagu...@archeia.com (Luke A. Guest)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Wed, 2 Feb 2022 16:36:46 +0000
Organization: Aioe.org NNTP Server
Message-ID: <stebuj$q2n$1@gioia.aioe.org>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87d2e0c1-c851-43e2-a085-fad30e475e35n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="26711"; posting-host="Lx7EM+81f32E0bqku+QpCA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.5.1
Content-Language: en-GB
X-Notice: Filtered by postfilter v. 0.9.2
 by: Luke A. Guest - Wed, 2 Feb 2022 16:36 UTC

On 02/02/2022 15:29, Marius Amado-Alves wrote:
> If possible please tell what Rust has to offer over Ada.
> From a quick look at the Rust book it seemed weaker in structured programming, generic programming, type system.
> Thanks.

Don't know why you're asking me, but to me, not a lot, only the borrow
checker stuff.

Re: Adacore joins with Ferrous Systems to support Rust

<cff1e59b-cebd-4971-be4f-97433b0e93b8n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6601&group=comp.lang.ada#6601

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:ad4:5766:: with SMTP id r6mr20212320qvx.77.1643827725315;
Wed, 02 Feb 2022 10:48:45 -0800 (PST)
X-Received: by 2002:a25:2d0:: with SMTP id 199mr38924786ybc.31.1643827725100;
Wed, 02 Feb 2022 10:48:45 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!1.us.feeder.erje.net!feeder.erje.net!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Wed, 2 Feb 2022 10:48:44 -0800 (PST)
In-Reply-To: <87o83pzlvm.fsf@nightsong.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2a02:1206:4596:5040:3d04:2dbd:aaab:7335;
posting-account=gRqrnQkAAAAC_02ynnhqGk1VRQlve6ZG
NNTP-Posting-Host: 2a02:1206:4596:5040:3d04:2dbd:aaab:7335
References: <87o83pzlvm.fsf@nightsong.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cff1e59b-cebd-4971-be4f-97433b0e93b8n@googlegroups.com>
Subject: Re: Adacore joins with Ferrous Systems to support Rust
From: gautier_...@hotmail.com (Gautier write-only address)
Injection-Date: Wed, 02 Feb 2022 18:48:45 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 4
 by: Gautier write-only a - Wed, 2 Feb 2022 18:48 UTC

> Is the writing on the wall for Ada?

Don't worry too much, people said that already more than 30 years ago...
But perhaps the company will rebrand itself RustCore :-) ?

Re: Adacore joins with Ferrous Systems to support Rust

<87fsp1yr2g.fsf@nightsong.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6602&group=comp.lang.ada#6602

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Wed, 02 Feb 2022 12:03:03 -0800
Organization: A noiseless patient Spider
Lines: 4
Message-ID: <87fsp1yr2g.fsf@nightsong.com>
References: <87o83pzlvm.fsf@nightsong.com>
<cff1e59b-cebd-4971-be4f-97433b0e93b8n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="5f0bf89a421cda437056c5888eb4a38d";
logging-data="27424"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19f6fLtStiYBHc+R+Cn3ce3"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:Rdhe2SSIiCuruTiwVNi32/BLhdg=
sha1:7W3QuKzCczacblA9H0e0Jrlf+yo=
 by: Paul Rubin - Wed, 2 Feb 2022 20:03 UTC

Gautier write-only address <gautier_niouzes@hotmail.com> writes:
> But perhaps the company will rebrand itself RustCore :-) ?

If the new IDE is called Oxide, watch out ;-).

Re: Adacore joins with Ferrous Systems to support Rust

<87bkzpyqx3.fsf@nightsong.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6603&group=comp.lang.ada#6603

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Wed, 02 Feb 2022 12:06:16 -0800
Organization: A noiseless patient Spider
Lines: 13
Message-ID: <87bkzpyqx3.fsf@nightsong.com>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="5f0bf89a421cda437056c5888eb4a38d";
logging-data="27424"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+O36197eqRJKXtfPQTOZSP"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:RqGN/V22cFGaLoLI6A37zhAOAP0=
sha1:Lm9fMqmaY3JxlGvzB7LnWICbYVA=
 by: Paul Rubin - Wed, 2 Feb 2022 20:06 UTC

"Luke A. Guest" <laguest@archeia.com> writes:
> I see this going one way, Ada loses out as the Rust side uses AdaCore
> to get what they want.

I don't think this is two companies merging. It's two companies working
jointly on a particular product. Idk any more than the press release
though.

Regarding Rust vs Ada, I've never heard anything from anyone who is a
real expert at both. Superficially it looks to me like Rust's type
system really is more precise than Ada's in general, although it doesn't
have integer range types. In other stuff like modules, Ada is probably
still ahead.

Re: Adacore joins with Ferrous Systems to support Rust

<steoah$lgn$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6604&group=comp.lang.ada#6604

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: bauh...@notmyhomepage.invalid (G.B.)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Wed, 2 Feb 2022 21:07:44 +0100
Organization: A noiseless patient Spider
Lines: 16
Message-ID: <steoah$lgn$1@dont-email.me>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87d2e0c1-c851-43e2-a085-fad30e475e35n@googlegroups.com>
Reply-To: nonlegitur@notmyhomepage.de
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 2 Feb 2022 20:07:45 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="79bb81292958d7ce26381c555a0a1ad7";
logging-data="22039"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX186YSo7H0yOOV4YcKw3g5f5TEStTdT30Ew="
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0)
Gecko/20100101 Thunderbird/91.5.1
Cancel-Lock: sha1:xk8p6NQruoVGF0Uy7YsNYLb7BEk=
In-Reply-To: <87d2e0c1-c851-43e2-a085-fad30e475e35n@googlegroups.com>
Content-Language: en-US
 by: G.B. - Wed, 2 Feb 2022 20:07 UTC

On 02.02.22 16:29, Marius Amado-Alves wrote:
> If possible please tell what Rust has to offer over Ada.
> From a quick look at the Rust book it seemed weaker in structured programming, generic programming, type system.
> Thanks.

Embedded systems reportedly still mostly use C.
Consequently, C is the thing to which a language's merits must
be compared. If Rust managers manage to persuade C shops
to use Rust, the this is a reasonable attempt at improving C based
program production. If Ada influence the process, then
it has had a purpose. :-)

Perhaps it is easier to add guarantees to Rust programs
than to C programs. Also, C programmers might feel more
at home when using Rust. Java programmers also, even when
it is just curly braces.

Re: Adacore joins with Ferrous Systems to support Rust

<stfbf5$bvi$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6605&group=comp.lang.ada#6605

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!Lx7EM+81f32E0bqku+QpCA.user.46.165.242.75.POSTED!not-for-mail
From: lagu...@archeia.com (Luke A. Guest)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Thu, 3 Feb 2022 01:34:40 +0000
Organization: Aioe.org NNTP Server
Message-ID: <stfbf5$bvi$1@gioia.aioe.org>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87bkzpyqx3.fsf@nightsong.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="12274"; posting-host="Lx7EM+81f32E0bqku+QpCA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.5.1
Content-Language: en-GB
X-Notice: Filtered by postfilter v. 0.9.2
 by: Luke A. Guest - Thu, 3 Feb 2022 01:34 UTC

On 02/02/2022 20:06, Paul Rubin wrote:
> "Luke A. Guest" <laguest@archeia.com> writes:
>> I see this going one way, Ada loses out as the Rust side uses AdaCore
>> to get what they want.
>
> I don't think this is two companies merging. It's two companies working
> jointly on a particular product. Idk any more than the press release

I know. I never said otherwise. I just said I think that one will use
the other and not in Ada's favour.

> though.
>
> Regarding Rust vs Ada, I've never heard anything from anyone who is a
> real expert at both. Superficially it looks to me like Rust's type

I've heard nothing either, only keep seeing rust people demanding to
know what Ada's good for and how it compares to Rust. Er, try learning
both and you'll see?

> system really is more precise than Ada's in general, although it doesn't

How is it?

> have integer range types. In other stuff like modules, Ada is probably

Apparently, they have ranges as templates, can't see how that compensates.

> still ahead.

Ada's ahead in most things.

Re: Adacore joins with Ferrous Systems to support Rust

<8735l0zo6j.fsf@nightsong.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6606&group=comp.lang.ada#6606

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Wed, 02 Feb 2022 18:20:04 -0800
Organization: A noiseless patient Spider
Lines: 27
Message-ID: <8735l0zo6j.fsf@nightsong.com>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="1b28e044a1ccf561961d75bc5f6dbab6";
logging-data="5669"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Ob7HCeUOTU+Rslp39/ge1"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:dk2gPAgEHDqiRbaz8naaI0JxRg4=
sha1:uDLHAOExa4UtgHztjKdirVbv+8E=
 by: Paul Rubin - Thu, 3 Feb 2022 02:20 UTC

"Luke A. Guest" <laguest@archeia.com> writes:
> [Ada vs Rust] Er, try learning both and you'll see?

It's a big effort to become expert at either, let alone both. Basic or
superficial knowledge isn't helpful for such comparisons. I've read
"Ada Distilled" (Ada 95 version) but still have no clue understanding
most of the Ada discussions in this newsgroup, so there is a big gap
between basic and advanced knowledge of Ada.

>> system really is more precise than Ada's in general, although it doesn't
> How is it?

From what I've heard, Rust's type system is similar to Haskell's.
Haskell's type system can verify stuff just by typechecking, that might
be doable in Ada using SPARK and maybe an external proof assistant, but
not with just types. Example: a red-black tree using Haskell GADT's
(Generalized Algebraic Data Types):

https://www.reddit.com/r/haskell/comments/ti5il/redblack_trees_in_haskell_using_gadts_existential/

> Ada's ahead in most things.

Idk, I'd like to know more. I've never done anything serious in Ada and
nothing at all in Rust, but C++ seems a lot more fluid than Ada, and
Rust is supposed to compare well with C++. C++ of course is terrible in
terms of reliability but I'm only referring to the effort needed to bang
out a chunk of code.

Re: Adacore joins with Ferrous Systems to support Rust

<stfg0v$1luk$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6607&group=comp.lang.ada#6607

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!Lx7EM+81f32E0bqku+QpCA.user.46.165.242.75.POSTED!not-for-mail
From: lagu...@archeia.com (Luke A. Guest)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Thu, 3 Feb 2022 02:52:25 +0000
Organization: Aioe.org NNTP Server
Message-ID: <stfg0v$1luk$1@gioia.aioe.org>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org>
<8735l0zo6j.fsf@nightsong.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="55252"; posting-host="Lx7EM+81f32E0bqku+QpCA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.5.1
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-GB
 by: Luke A. Guest - Thu, 3 Feb 2022 02:52 UTC

On 03/02/2022 02:20, Paul Rubin wrote:
> "Luke A. Guest" <laguest@archeia.com> writes:
>> [Ada vs Rust] Er, try learning both and you'll see?
>
> It's a big effort to become expert at either, let alone both. Basic or
> superficial knowledge isn't helpful for such comparisons. I've read

You don't need to learn both languages inside and out. You pick a
project and implement it in both languages, that project has to be
specific to what you are wanting to know about whether it's binding or
tasking or whatever, Ultimately with Ada, you can get by knowing the Ada
subset and the representation clauses and do most of what you need to do
to compare to another language, obviously if you want to compare
tasking, you need to go further.

> "Ada Distilled" (Ada 95 version) but still have no clue understanding
> most of the Ada discussions in this newsgroup, so there is a big gap
> between basic and advanced knowledge of Ada.

Learn the basic part, it's equivalent to Pascal with proper type ranges,
Pascal only has subtypes iirc. That's the main part of the RM, no
annexes, you can do without access and tagged/controlled types to start
with. At uni, we didn't even touch on tagged types, but used controlled
types, it is possible.

>>> system really is more precise than Ada's in general, although it doesn't
>> How is it?
>
> From what I've heard, Rust's type system is similar to Haskell's.
> Haskell's type system can verify stuff just by typechecking, that might

So it's no different than a C++ compiler checking against classes or a
variant of C with strong typing? Still no ranges, subranges, ranges with
holes in, etc. This is where the power is.

> be doable in Ada using SPARK and maybe an external proof assistant, but
> not with just types. Example: a red-black tree using Haskell GADT's
> (Generalized Algebraic Data Types):
>
> https://www.reddit.com/r/haskell/comments/ti5il/redblack_trees_in_haskell_using_gadts_existential/

I don't know Haskell. Uni did a shit job at teaching functional, and
logic languages.

>> Ada's ahead in most things.
>
> Idk, I'd like to know more. I've never done anything serious in Ada and
> nothing at all in Rust, but C++ seems a lot more fluid than Ada, and
> Rust is supposed to compare well with C++. C++ of course is terrible in
> terms of reliability but I'm only referring to the effort needed to bang
> out a chunk of code.

1. What do you want to do?
2. Come into #Ada and get help.
3. Rewrite it in Rust.
4. Ada is comparable to C++.
4a. Ada > C++ in many ways.

Re: Adacore joins with Ferrous Systems to support Rust

<87v8xwy3y7.fsf@nightsong.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6608&group=comp.lang.ada#6608

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Wed, 02 Feb 2022 20:22:24 -0800
Organization: A noiseless patient Spider
Lines: 77
Message-ID: <87v8xwy3y7.fsf@nightsong.com>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org>
<8735l0zo6j.fsf@nightsong.com> <stfg0v$1luk$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="1b28e044a1ccf561961d75bc5f6dbab6";
logging-data="10158"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX190JkXAW5Nm8umkBMZx/IIA"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:ixb6oKzLoXvOP8hjmKHi42SUsSM=
sha1:3hAVuMnbtCmsQAnfa2b+eIw5k2w=
 by: Paul Rubin - Thu, 3 Feb 2022 04:22 UTC

"Luke A. Guest" <laguest@archeia.com> writes:
> You don't need to learn both languages inside and out. You pick a
> project and implement it in both languages,

Not realistic, as the saying is that it's possible to write Fortran in
any language. What I want to see is proper idiomatic usage of both
languages as experts would write them. Also, it seems to me that one of
Ada's big strengths is its modularity, e.g. the separation of
specification from implementation. And that makes itself felt more with
large programs than small ones. A beginner or tryout project wouldn't
exercise this.

> [Ada] Learn the basic part,

I think I have done that, but there is a heck of a lot more.

> [Haskell] So it's no different than a C++ compiler checking against
> classes or a variant of C with strong typing?

It is very different from either of those.

> Still no ranges, subranges, ranges with holes in, etc. This is where
> the power is.

No not really, especially since Ada doesn't enforce ranges with (static)
type checking, although it is sometimes possible in SPARK. Range types
are a nice Ada feature but only "where the power is" if you haven't used
anything else ;). Anyway, you can implement ranges (with runtime
checks) in C++ or Haskell with a bit of pain.

>> Example: a red-black tree using Haskell GADT's
> I don't know Haskell. Uni did a shit job at teaching functional, and
> logic languages.

Well are you familiar with red-black trees? They are a data structure
similar to B-trees which you may have seen. Basically the trees have
nodes that are coloured either red or black, and there are some rules
such as that internal red nodes can have only black children, and that
enforces some invariants that keep the trees balanced so that lookups
and updates are guaranteed to run fairly fast.

Now these trees have been implemented in many languages, and if you look
at almost any implementation, there is usually a test suite or internal
debugging code to make sure that the invariants are preserved after
doing an update. It is quite easy to make a mistake after all. But the
Haskell code doesn't have those tests. Why not? Because the invariants
are enforced by the datatype! If you make a mistake and mess up an
invariant, your code won't compile! It's the difference between
checking a subscript at runtime, and verifying that it in range with
SPARK. SPARK lets you get rid of the runtime check. Haskell's type
system is able to do similar things.

> 1. What do you want to do?

I have too many obligations and wannado projects to embark on anything
well suited for either Ada or Rust right now, unless someone is paying
me. Also, I see Ada and Rust not really aiming at the same areas. I
think of Ada as being more for control programs (they might compute a
lot, but tend not to make complex use of dynamic memory allocation)
while Rust is the opposite (handling dynamic allocation reliably is a
big part of the design motivation).

> 4. Ada is comparable to C++.
> 4a. Ada > C++ in many ways.

I don't see Ada and C++ as really comparable. Ada > C++ in reliability
for sure, but C++ > Ada in convenience a lot of the time.

Particularly, a lot of effort in Ada programming goes into making
programs never crash. For example, if the program runs out of memory
during operation it might crash, so Ada programs are often written to
never allocate new memory after a startup phase. In C++ or Rust, it's
important not to get wrong answers like 2+2=5, but if your program runs
out of memory and crashes, go get a bigger computer. So idiomatic C++
and Rust programming uses dynamic allocation freely, and that makes some
kinds of programming more convenient, at the expense of tolerating
possible crashes.

Re: Adacore joins with Ferrous Systems to support Rust

<stg8p4$gro$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6609&group=comp.lang.ada#6609

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: b.f.lun...@gmail.com (Björn Lundin)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Thu, 3 Feb 2022 10:54:43 +0100
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <stg8p4$gro$1@dont-email.me>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org>
<8735l0zo6j.fsf@nightsong.com> <stfg0v$1luk$1@gioia.aioe.org>
<87v8xwy3y7.fsf@nightsong.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 3 Feb 2022 09:54:44 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="f2141bf9e2782ba22cbc6de31b5de8b3";
logging-data="17272"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+dUZjuFqrzCoGUxivvKN2P"
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0)
Gecko/20100101 Thunderbird/91.5.0
Cancel-Lock: sha1:lF597WDUgaaUePNkwAGIup2T/vw=
In-Reply-To: <87v8xwy3y7.fsf@nightsong.com>
Content-Language: sv
 by: Björn Lundin - Thu, 3 Feb 2022 09:54 UTC

Den 2022-02-03 kl. 05:22, skrev Paul Rubin:

> Particularly, a lot of effort in Ada programming goes into making
> programs never crash. For example, if the program runs out of memory
> during operation it might crash, so Ada programs are often written to
> never allocate new memory after a startup phase. In C++ or Rust, it's
> important not to get wrong answers like 2+2=5, but if your program runs
> out of memory and crashes, go get a bigger computer. So idiomatic C++
> and Rust programming uses dynamic allocation freely, and that makes some
> kinds of programming more convenient, at the expense of tolerating
> possible crashes.

That depends on the domain. Perhaps it is true in embedded.
I use Ada for large systems, talking to databases,
and lots of administrative work. On a win/Unix server.
We would not dream of pre-allocate memory at startup.
We allocate and dispose as needed.

--
Björn

Re: Adacore joins with Ferrous Systems to support Rust

<lyleys1932.fsf@pushface.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6610&group=comp.lang.ada#6610

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!8nKyDL3nVTTIdBB8axZhRA.user.46.165.242.75.POSTED!not-for-mail
From: sim...@pushface.org (Simon Wright)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Thu, 03 Feb 2022 11:30:09 +0000
Organization: Aioe.org NNTP Server
Message-ID: <lyleys1932.fsf@pushface.org>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org>
<8735l0zo6j.fsf@nightsong.com> <stfg0v$1luk$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: gioia.aioe.org; logging-data="27750"; posting-host="8nKyDL3nVTTIdBB8axZhRA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (darwin)
Cancel-Lock: sha1:BF40yfpf4LpXV1T5fwCkPb53gII=
X-Notice: Filtered by postfilter v. 0.9.2
 by: Simon Wright - Thu, 3 Feb 2022 11:30 UTC

"Luke A. Guest" <laguest@archeia.com> writes:

> At uni, we didn't even touch on tagged types, but used controlled
> types

Of course controlled types are implemented as tagged types. ISTR Dmitry
objecting to this, I think he was right (philosophically; I've no idea
about the practicality of alternate approaches).

Re: Adacore joins with Ferrous Systems to support Rust

<stgj3j$12g8$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6611&group=comp.lang.ada#6611

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!Lx7EM+81f32E0bqku+QpCA.user.46.165.242.75.POSTED!not-for-mail
From: lagu...@archeia.com (Luke A. Guest)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Thu, 3 Feb 2022 12:51:09 +0000
Organization: Aioe.org NNTP Server
Message-ID: <stgj3j$12g8$1@gioia.aioe.org>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org>
<8735l0zo6j.fsf@nightsong.com> <stfg0v$1luk$1@gioia.aioe.org>
<lyleys1932.fsf@pushface.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="35336"; posting-host="Lx7EM+81f32E0bqku+QpCA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.5.1
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-GB
 by: Luke A. Guest - Thu, 3 Feb 2022 12:51 UTC

On 03/02/2022 11:30, Simon Wright wrote:
> "Luke A. Guest" <laguest@archeia.com> writes:
>
>> At uni, we didn't even touch on tagged types, but used controlled
>> types
>
> Of course controlled types are implemented as tagged types. ISTR Dmitry

We had a book with a reading guide. We weren't shown the specs showing
the type of controlled/limited_controlled. So, when you don't have that
information and only know that you can derive from it and then implement
2 or 3 subprograms, you don't need to know about OOP in Ada.

Just like we didn't touch generic packages until much later in the year,
generic subprograms, yeah, because u_d was required early on.

> objecting to this, I think he was right (philosophically; I've no idea
> about the practicality of alternate approaches).

How else would you do controlled types?

Re: Adacore joins with Ferrous Systems to support Rust

<8455331f-b1cd-4eba-8a75-c62a0b1613d5n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6613&group=comp.lang.ada#6613

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:a05:622a:4cb:: with SMTP id q11mr328371qtx.597.1643930958809;
Thu, 03 Feb 2022 15:29:18 -0800 (PST)
X-Received: by 2002:a25:c3c2:: with SMTP id t185mr481903ybf.31.1643930958558;
Thu, 03 Feb 2022 15:29:18 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Thu, 3 Feb 2022 15:29:17 -0800 (PST)
In-Reply-To: <87d2e0c1-c851-43e2-a085-fad30e475e35n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=80.229.20.55; posting-account=WsVe0AoAAABheGmBjlLgPWhgIw6kxcL6
NNTP-Posting-Host: 80.229.20.55
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org> <87d2e0c1-c851-43e2-a085-fad30e475e35n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8455331f-b1cd-4eba-8a75-c62a0b1613d5n@googlegroups.com>
Subject: Re: Adacore joins with Ferrous Systems to support Rust
From: joh...@mccabe.org.uk (John McCabe)
Injection-Date: Thu, 03 Feb 2022 23:29:18 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 5
 by: John McCabe - Thu, 3 Feb 2022 23:29 UTC

On Wednesday, 2 February 2022 at 15:29:13 UTC, amado...@gmail.com wrote:
> If possible please tell what Rust has to offer over Ada.

A very nasty syntax, and there's an annoying thing where it moans about what you've called your project.

TBH that's about as far as I got with Rust; I can't be doing with pedantic restrictions that have no technical benefit (as far as I can see).

Re: Adacore joins with Ferrous Systems to support Rust

<sti619$p1k$1@franka.jacob-sparre.dk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6614&group=comp.lang.ada#6614

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!paganini.bofh.team!newsfeed.xs3.de!callisto.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail
From: ran...@rrsoftware.com (Randy Brukardt)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Thu, 3 Feb 2022 21:20:08 -0600
Organization: JSA Research & Innovation
Lines: 34
Message-ID: <sti619$p1k$1@franka.jacob-sparre.dk>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org> <87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org> <8735l0zo6j.fsf@nightsong.com> <stfg0v$1luk$1@gioia.aioe.org> <lyleys1932.fsf@pushface.org> <stgj3j$12g8$1@gioia.aioe.org>
Injection-Date: Fri, 4 Feb 2022 03:20:09 -0000 (UTC)
Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226";
logging-data="25652"; mail-complaints-to="news@jacob-sparre.dk"
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-RFC2646: Format=Flowed; Response
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246
 by: Randy Brukardt - Fri, 4 Feb 2022 03:20 UTC

"Luke A. Guest" <laguest@archeia.com> wrote in message
news:stgj3j$12g8$1@gioia.aioe.org...
> On 03/02/2022 11:30, Simon Wright wrote:
>> "Luke A. Guest" <laguest@archeia.com> writes:
>>
>>> At uni, we didn't even touch on tagged types, but used controlled
>>> types
>>
>> Of course controlled types are implemented as tagged types. ISTR Dmitry
>
> We had a book with a reading guide. We weren't shown the specs showing the
> type of controlled/limited_controlled. So, when you don't have that
> information and only know that you can derive from it and then implement 2
> or 3 subprograms, you don't need to know about OOP in Ada.
>
> Just like we didn't touch generic packages until much later in the year,
> generic subprograms, yeah, because u_d was required early on.
>
>> objecting to this, I think he was right (philosophically; I've no idea
>> about the practicality of alternate approaches).
>
> How else would you do controlled types?

Ada 9x originally had a bunch of magic attributes (similar to streaming). It
was very complex and got dumped in the dustbin during "scope reduction".
Later on, some of us were bemoaning that a critical feature (finalization)
had gotten lost in Ada 9x, and Tucker came up with the idea to build it on
top of tagged types as a massive simplification (at the loss of a bit of
power). People often complain that Ada finalization is complex, and it is,
except all of the alternatives are a lot more complex. :-)

Randy.

Re: Adacore joins with Ferrous Systems to support Rust

<sti739$pe4$1@franka.jacob-sparre.dk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6615&group=comp.lang.ada#6615

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!paganini.bofh.team!newsfeed.xs3.de!callisto.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail
From: ran...@rrsoftware.com (Randy Brukardt)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Thu, 3 Feb 2022 21:38:16 -0600
Organization: JSA Research & Innovation
Lines: 65
Message-ID: <sti739$pe4$1@franka.jacob-sparre.dk>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org><87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org><8735l0zo6j.fsf@nightsong.com> <stfg0v$1luk$1@gioia.aioe.org> <87v8xwy3y7.fsf@nightsong.com>
Injection-Date: Fri, 4 Feb 2022 03:38:17 -0000 (UTC)
Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226";
logging-data="26052"; mail-complaints-to="news@jacob-sparre.dk"
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-RFC2646: Format=Flowed; Original
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246
 by: Randy Brukardt - Fri, 4 Feb 2022 03:38 UTC

"Paul Rubin" <no.email@nospam.invalid> wrote in message
news:87v8xwy3y7.fsf@nightsong.com...
....
> Well are you familiar with red-black trees? They are a data structure
> similar to B-trees which you may have seen. Basically the trees have
> nodes that are coloured either red or black, and there are some rules
> such as that internal red nodes can have only black children, and that
> enforces some invariants that keep the trees balanced so that lookups
> and updates are guaranteed to run fairly fast.
>
> Now these trees have been implemented in many languages, and if you look
> at almost any implementation, there is usually a test suite or internal
> debugging code to make sure that the invariants are preserved after
> doing an update. It is quite easy to make a mistake after all. But the
> Haskell code doesn't have those tests. Why not? Because the invariants
> are enforced by the datatype! If you make a mistake and mess up an
> invariant, your code won't compile! It's the difference between
> checking a subscript at runtime, and verifying that it in range with
> SPARK. SPARK lets you get rid of the runtime check. Haskell's type
> system is able to do similar things.

Cool, and most likely useless. OOP is like that in many ways, it lets you
make a bunch of static checks, but to get them, you have to contort your
design in awful ways. And then it is hard to extend, as you have a huge
number of routines to override to get anything done.

I'm convinced that the answer (as much as there is an answer -- always
beware of anyone bearing silver bullets ;-) is in the quality of tools (and
language implementations). In any language with dynamic checks, one can
easily reduce the problem of correctness down to simply proving that no
check fails. So the question is how one can accomplish that with the least
complication for the actual programmer.

Janus/Ada has a switch that can give you a warning for any implicit check
that remains in the code after optimization. Combine that with the
warnings-as-errors switch, and no program that could have a (detectable) bug
can compile. Moreover, in Ada at least, one can introduce essentially any
condition that you want to know as some form of assertion.

To take your red-black example. In Ada, I'd model the tree as a single type
with two subtypes, with Red and Black predicates that enforce the
conditions. Then, using the switches mentioned above, you could only compile
the program if the compiler can eliminate the condition checks (it should be
able to, if they are really complete).

The problem with this scheme, of course, is the quality of the
implementation in terms of eliminating unneeded checks. For now, Janus/Ada
can only do this sort of elimination inside of an extended basic block, and
if something prevents a subprogram from being converted to a single extended
basic block, you're likely to get spurious warnings. (And it only implements
advanced elimination on a few kinds of checks, enough to prove the concept
but not enough to be practical.)

The key for a programming language design is to minimize what Ada calls
erroneous execution (undefined behavior), because it is that possibility
which stop proofs in their tracks (or at least should; at least some tools
ignore that possibility and essentially give garbage results as a
consequence). Ada needs work in that area, but most other languages need
more -- Ada at least detects most problems with dynamic checks.

Anyway, that's my 20 cents (inflation, you know). :-)

Randy.

Re: Adacore joins with Ferrous Systems to support Rust

<87ee4jxl7x.fsf@nightsong.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6616&group=comp.lang.ada#6616

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: no.em...@nospam.invalid (Paul Rubin)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Thu, 03 Feb 2022 21:19:14 -0800
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <87ee4jxl7x.fsf@nightsong.com>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org>
<8735l0zo6j.fsf@nightsong.com> <stfg0v$1luk$1@gioia.aioe.org>
<87v8xwy3y7.fsf@nightsong.com> <sti739$pe4$1@franka.jacob-sparre.dk>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="0725112b9ebf3dc4793d02668cc0208c";
logging-data="3180"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18fddlgiSMqzSfsxLxFxyfY"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Cancel-Lock: sha1:q2nBN7Ft/7FRckT6d0FWxUWr1DY=
sha1:CB45U/7L7GNIZs0/xtpfuF2qmeY=
 by: Paul Rubin - Fri, 4 Feb 2022 05:19 UTC

"Randy Brukardt" <randy@rrsoftware.com> writes:
> In any language with dynamic checks, one can easily reduce the problem
> of correctness down to simply proving that no check fails.

Well sure, but I'd take issue with the word "easily" there. The
invariants for the red-black tree are fairly complicated. Enforcing
them could be done with what I think SPARK calls a "ghost function" or
something like that: a piece of code that is not actually executed, but
is used only by the prover. But, what would the proof look like? I
think it would likely involve some manual work with an external proof
assistant like ISABELLE. That takes quite a bit of effort and knowledge
on the programmer's part.

On the other hand, the RB tree type declaration in that Haskell example
is very natural and appealing even in that old implementation, and using
newer GHC features that have appeared since then, it becomes even nicer.

> So the question is how one can accomplish that with the least
> complication for the actual programmer.

Indeed.

Re: Adacore joins with Ferrous Systems to support Rust

<stiv47$bvh$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6617&group=comp.lang.ada#6617

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!Lx7EM+81f32E0bqku+QpCA.user.46.165.242.75.POSTED!not-for-mail
From: lagu...@archeia.com (Luke A. Guest)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Fri, 4 Feb 2022 10:28:33 +0000
Organization: Aioe.org NNTP Server
Message-ID: <stiv47$bvh$1@gioia.aioe.org>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org>
<8735l0zo6j.fsf@nightsong.com> <stfg0v$1luk$1@gioia.aioe.org>
<lyleys1932.fsf@pushface.org> <stgj3j$12g8$1@gioia.aioe.org>
<sti619$p1k$1@franka.jacob-sparre.dk>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="12273"; posting-host="Lx7EM+81f32E0bqku+QpCA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.5.1
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-GB
 by: Luke A. Guest - Fri, 4 Feb 2022 10:28 UTC

On 04/02/2022 03:20, Randy Brukardt wrote:

>> Just like we didn't touch generic packages until much later in the year,
>> generic subprograms, yeah, because u_d was required early on.
>>
>>> objecting to this, I think he was right (philosophically; I've no idea
>>> about the practicality of alternate approaches).
>>
>> How else would you do controlled types?
>
> Ada 9x originally had a bunch of magic attributes (similar to streaming). It

Now I want to know what these magic attributes were! Were they specific
to a version of OO? Or were they to enable finalization?

Re: Adacore joins with Ferrous Systems to support Rust

<86iltuseoo.fsf@stephe-leake.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6618&group=comp.lang.ada#6618

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!aioe.org!6MpDoNrA+2KoZyE4OD7oYg.user.46.165.242.75.POSTED!not-for-mail
From: stephen_...@stephe-leake.org (Stephen Leake)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Fri, 04 Feb 2022 09:51:35 -0800
Organization: Aioe.org NNTP Server
Message-ID: <86iltuseoo.fsf@stephe-leake.org>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87d2e0c1-c851-43e2-a085-fad30e475e35n@googlegroups.com>
<stebuj$q2n$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: gioia.aioe.org; logging-data="32059"; posting-host="6MpDoNrA+2KoZyE4OD7oYg.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (windows-nt)
X-Notice: Filtered by postfilter v. 0.9.2
Cancel-Lock: sha1:GDngl5rgF2ex40T1U8VlBuNhFCU=
 by: Stephen Leake - Fri, 4 Feb 2022 17:51 UTC

"Luke A. Guest" <laguest@archeia.com> writes:

> On 02/02/2022 15:29, Marius Amado-Alves wrote:
>> If possible please tell what Rust has to offer over Ada.
>> From a quick look at the Rust book it seemed weaker in structured
>> programming, generic programming, type system.
>> Thanks.
>
> Don't know why you're asking me, but to me, not a lot, only the borrow
> checker stuff.

Which Ada now has in SPARK (or will soon, at least in GNAT).

--
-- Stephe

Re: Adacore joins with Ferrous Systems to support Rust

<656e414f-cc19-412b-aa7e-23c56675a024n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6619&group=comp.lang.ada#6619

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:a05:6214:1d23:: with SMTP id f3mr2021498qvd.67.1643997120361;
Fri, 04 Feb 2022 09:52:00 -0800 (PST)
X-Received: by 2002:a25:ac49:: with SMTP id r9mr233446ybd.323.1643997120086;
Fri, 04 Feb 2022 09:52:00 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Fri, 4 Feb 2022 09:51:59 -0800 (PST)
In-Reply-To: <stiv47$bvh$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=47.185.200.73; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo
NNTP-Posting-Host: 47.185.200.73
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org>
<87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org>
<8735l0zo6j.fsf@nightsong.com> <stfg0v$1luk$1@gioia.aioe.org>
<lyleys1932.fsf@pushface.org> <stgj3j$12g8$1@gioia.aioe.org>
<sti619$p1k$1@franka.jacob-sparre.dk> <stiv47$bvh$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <656e414f-cc19-412b-aa7e-23c56675a024n@googlegroups.com>
Subject: Re: Adacore joins with Ferrous Systems to support Rust
From: ZUERCHER...@outlook.com (Andreas ZEURCHER)
Injection-Date: Fri, 04 Feb 2022 17:52:00 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 32
 by: Andreas ZEURCHER - Fri, 4 Feb 2022 17:51 UTC

On Friday, February 4, 2022 at 4:28:26 AM UTC-6, Luke A. Guest wrote:
> On 04/02/2022 03:20, Randy Brukardt wrote:
>
> >> Just like we didn't touch generic packages until much later in the year,
> >> generic subprograms, yeah, because u_d was required early on.
> >>
> >>> objecting to this, I think he was right (philosophically; I've no idea
> >>> about the practicality of alternate approaches).
> >>
> >> How else would you do controlled types?
> >
> > Ada 9x originally had a bunch of magic attributes (similar to streaming). It
> Now I want to know what these magic attributes were! Were they specific
> to a version of OO? Or were they to enable finalization?

Randy, I agree with Luke: were these intermediate design proposals lost entirely or have they (as still extant) have simply not been released publicly? I suspect that at least some of these attributes have nowadays analogues in C++ smart pointer's & Objective-C/Swift's ARC {strong, weak, plain old data not needing finalization, pointed-to-object ownership, presence of finalization subroutine/function/procedure a.k.a. finalizer/destructor, whether this finalizer in a subtype displaces its parent's finalizer versus this finalizer in a subtype chains its finalizer to all of its ancestors' finalizers unwound from most-derived to underived-root, … and so forth}. Or was Tucker's set of magic attributes going an entirely different direction? That intermediate proposal under consideration back in the 1st half of the 1990s might be a quite interesting read (especially by a reader with an interest in envisioning an Ada-esque analogue of Rust's borrow-checker algorithm).

Re: Adacore joins with Ferrous Systems to support Rust

<stkujd$fr0$1@franka.jacob-sparre.dk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6620&group=comp.lang.ada#6620

  copy link   Newsgroups: comp.lang.ada
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsfeed.xs3.de!callisto.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail
From: ran...@rrsoftware.com (Randy Brukardt)
Newsgroups: comp.lang.ada
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Fri, 4 Feb 2022 22:31:40 -0600
Organization: JSA Research & Innovation
Lines: 64
Message-ID: <stkujd$fr0$1@franka.jacob-sparre.dk>
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org> <87bkzpyqx3.fsf@nightsong.com> <stfbf5$bvi$1@gioia.aioe.org> <8735l0zo6j.fsf@nightsong.com> <stfg0v$1luk$1@gioia.aioe.org> <lyleys1932.fsf@pushface.org> <stgj3j$12g8$1@gioia.aioe.org> <sti619$p1k$1@franka.jacob-sparre.dk> <stiv47$bvh$1@gioia.aioe.org>
Injection-Date: Sat, 5 Feb 2022 04:31:42 -0000 (UTC)
Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226";
logging-data="16224"; mail-complaints-to="news@jacob-sparre.dk"
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-RFC2646: Format=Flowed; Response
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246
 by: Randy Brukardt - Sat, 5 Feb 2022 04:31 UTC

"Luke A. Guest" <laguest@archeia.com> wrote in message
news:stiv47$bvh$1@gioia.aioe.org...
> On 04/02/2022 03:20, Randy Brukardt wrote:
>
>>> Just like we didn't touch generic packages until much later in the year,
>>> generic subprograms, yeah, because u_d was required early on.
>>>
>>>> objecting to this, I think he was right (philosophically; I've no idea
>>>> about the practicality of alternate approaches).
>>>
>>> How else would you do controlled types?
>>
>> Ada 9x originally had a bunch of magic attributes (similar to streaming).
>> It
>
> Now I want to know what these magic attributes were! Were they specific to
> a version of OO? Or were they to enable finalization?

They were specifically for finalization, and got called automatically in
various places.

Re: Andreas. So far as I know, the documents existed only on paper - there
never were any electronically distributed versions outside of the Ada 9x
team (and possibly the printers). I still have a set of them on my
bookshelf -- I look at them periodically to see where current oddities
appeared in the language (and possibly to get some idea why). [But see
below.]

Looking in the RM 3.0 (the final version was 6.0 for reference), it already
had the tagged type version, but they were derived from an implementation
defined type "Finalization_Implementation", and what became Adjust was named
Duplicate.

Looking in ILS 1.2 (a working document full of ideas but not quite a
complete RM, dated Dec 1992), I can't find any sign of finalization. It must
have been gone by then.

I do have a large number of older documents somewhere in storage, but this
isn't worth digging around in there to find out. Most of those were
incomplete design documents.

You might be able to find something about that design in the Ada 9x mail
archive or in the LSNs (Language Study Notes). You can find them on the
AdaIC archives. =Rooting around in there, there are some promising looking
documents in the "history" section of the AdaIC archives. There is a
directory of stuff called "9x-history"; there probably is interesting stuff
there.
http://archive.adaic.com/pol-hist/history/9x-history/
LSNs are found in:
http://archive.adaic.com/standards/95lsn/
The Ada 9x mail archive (These were known as "MRT comments"):
http://archive.adaic.com/standards/95com/mrtcomments/
The comments of interest here are probably in the ZIPed comments rather than
the more recent ones. (These are text files, I think, even though they don't
have a usual extension.)

Randy.

Re: Adacore joins with Ferrous Systems to support Rust

<70f72b7e-1f3f-4942-b6aa-1044430bdcd9n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=6626&group=comp.lang.ada#6626

  copy link   Newsgroups: comp.lang.ada
X-Received: by 2002:ad4:4ee9:: with SMTP id dv9mr1852222qvb.41.1644601214838;
Fri, 11 Feb 2022 09:40:14 -0800 (PST)
X-Received: by 2002:a25:ae8c:: with SMTP id b12mr2464966ybj.305.1644601214447;
Fri, 11 Feb 2022 09:40:14 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.ada
Date: Fri, 11 Feb 2022 09:40:14 -0800 (PST)
In-Reply-To: <87d2e0c1-c851-43e2-a085-fad30e475e35n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=155.210.248.194; posting-account=SuyozQoAAADXnDELfODTBs7QDv_fdf87
NNTP-Posting-Host: 155.210.248.194
References: <87o83pzlvm.fsf@nightsong.com> <stdvgv$76k$1@gioia.aioe.org> <87d2e0c1-c851-43e2-a085-fad30e475e35n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <70f72b7e-1f3f-4942-b6aa-1044430bdcd9n@googlegroups.com>
Subject: Re: Adacore joins with Ferrous Systems to support Rust
From: amos...@unizar.es (amo...@unizar.es)
Injection-Date: Fri, 11 Feb 2022 17:40:14 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 69
 by: amo...@unizar.es - Fri, 11 Feb 2022 17:40 UTC

On Wednesday, February 2, 2022 at 4:29:13 PM UTC+1, amado...@gmail.com wrote:
> If possible please tell what Rust has to offer over Ada.

In my minimally informed opinion after going through parts of the official tutorial a couple of times, what Rust has to offer in general:

+ Memory safety (no leaks, double-free, race conditions*) by default.
- Terrible illegible syntax
+ Safer/more expressive/more modern constructs than C
+ Modern tooling shared by all the community

[*] I guess in a protected-object sense, not in a high-level logic sense. But I don't really know.

The thing is that C is so basic and C++ so prone to shooting yourself in the foot, that Rust hits a middle ground that feels like the best thing since sliced bread to C/C++ programmers wishing for something better. Add to that the true novel contribution to a mainstream language that is memory safety (this is really a new way of thinking when you get into Rust), that if you don't know better (e.g., Ada) it really is overwhelmingly compelling. I'm not surprised at the cult-like following (I mean, we feel like that sometimes in the Ada world, right?) In a sense, Rust is the Ada of a younger generation, and without the baggage.

Of course you sometimes have to use "unsafe" programming evading the borrow checker, just like pointers are sometimes a necessity in Ada; and the legibility becomes truly awful IMHO really fast (to me, this is THE Achilles heel nobody seems to care too much about), but as I said, it has a couple of real selling points over the competition. Of course, if legibility is not your concern because you're used to C++ templating nightmares, you don't feel that particular pain. It's always the same story with Ada; most people don't know better to realize what they're missing.

The whole memory safety thing with the borrow checker goes beyond a gimmick, and it has a solid quality which goes beyond "in Ada you don't need pointers most of the time". It's a compile-time check, and it makes evident that runtime checks are a poor substitute. I'm more ashamed now of the whole anonymous pointers and accessibility surprises in Ada. Yes, SPARK added something similar for pointers, but in Rust it is for all variables. The equivalence in Ada would be not being able to use the same variable in two consecutive calls as an in-out parameter. So it's not the same, besides being only in SPARK.

Not having done anything of real import, I'm not sure how inevitable it is to go unsafe in Rust. My guess is that it will be hidden in libraries just like the Ada standard containers contain some scary pointer use (and I mean that I wouldn't like to have to understand what is going there with the tampering checks etc.) At that point, obviously, you've lost the most solid selling point IMHO. Ada is safer not in a single sense, but as a whole design.

All in all, Rust has one big thing that Ada hasn't, which is the borrow checker.

And that is what how I would summarize it: Rust is better in a single narrow sense, but Ada is better as a general language. Which is, not surprisingly, the consequence of the design motivations for each, which were precisely to have a memory-safe language and a high-integrity-oriented language. So the funny thing is that both have succeeded at their objective.

I really miss not having the time to become proficient in Rust at least to be able to properly compare. I think the memory safety is great to have (and if Ada were designed today, I guess it should play the same integral part, if practical), but Rust is demanding on the programmer in a way that C/C++ aren't, and the maintainability seems suspect, so I don't know how far it will carry Rust into the future. I guess it could absorb a big part of both new C and C++ development.

Boy, can I write a lot sometimes...

Pages:12
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor