@Araq

> Spark doesn't allow dynamic allocations at all. (Correct me if I'm wrong.)

You're correct; SPARK doesn't allow dynamic allocation at all, at least not 
[according to this series of 
slides](https://www.cse.msu.edu/~cse814/Lectures/09_spark_intro.pdf), and given 
other restrictions that I know SPARK makes, that makes sense. Everything has to 
be on the stack. (I am very, very novice-level at SPARK, but I know enough to 
have found at least one bug in AdaCore's gnatprove.)

The (very, very limited) work I've done with Ada suggests that the language is 
designed to make it as easy as possible to use the stack, and really hard to 
use pointers. A rule about pointers not being allowed to point to something 
that might have gone out of scope also seems similar to something in your blog 
post, but I don't have the time to look it up at the moment.

Anyway, it was just a question & suggestion on my part. I like Nim a lot & hope 
to use it non-trivially one day. I also like Ada a lot, and I read 
comp.lang.ada sometimes. Some Ada users can be rather prickly about discussions 
of Ada, especially when someone says or implies that Ada doesn't have something 
it's had since 1983. They recently [stirred up a few members to protest on the 
Rust language 
forum](https://users.rust-lang.org/t/if-ada-is-already-very-safe-why-rust/21911/11).
 ;-)

Reply via email to