Ada conference, Ada and Spark

bearophile bearophileHUGS at lycos.com
Wed Feb 19 17:28:05 PST 2014


Meta:

> What are the limitations on what Static_Predicate can verify? 
> It seems like this could be quite powerful, but not as powerful 
> as runtime checks, since not everything can be checked at 
> compile time.

In Ada there is Dynamic_Predicate for the other cases :-)


> Does the loop break if the invariant fails, or does it stop the 
> program?

Ada has an elaborate infrastructure to allow you to choose how to 
react to failures, how to handle them, what failures to ignore, 
etc. At least, it stops the program.


> I don't think this is quite as important, seeing as D has the 
> pure keyword.

Purity means you can't use mutable values from outer scopes. The 
point of those Spark annotations (and @outer()) is to do the 
opposite: to specify the flow of information in system 
programming when you are not using purity.

Bye,
bearophile


More information about the Digitalmars-d mailing list