From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "G.B." Newsgroups: comp.lang.ada Subject: Re: Ada features supported by SPARK 2014 Date: Mon, 5 Dec 2016 22:48:42 +0100 Organization: A noiseless patient Spider Message-ID: References: Reply-To: nonlegitur@futureapps.de Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 5 Dec 2016 21:47:24 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="bcd489f2556d3ba711a708fd2cd1fb82"; logging-data="11230"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/SLNkh1wmMZFQzA5WfSuxVRCC5er7g9EE=" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 In-Reply-To: Cancel-Lock: sha1:2BWJoL6ucDpLD5mllTRG2AiMYXY= Xref: news.eternal-september.org comp.lang.ada:32621 Date: 2016-12-05T22:48:42+01:00 List-Id: On 05.12.16 21:36, pault.eg@googlemail.com wrote: > Hi, > > I'm thinking about learning Ada or SPARK. It's only for hobby use, not for work. > > I've been looking for an overview of SPARK, in relation to the features of Ada, but haven't found too much on the internet. > > Wikipedia says SPARK2014 is a well defined subset of Ada. It would be nice to get a feel for how much of Ada is in SPARK, what are the main aspects of Ada not supported by SPARK, and what are SPARK's main limitations compared to Ada. http://www.adacore.com/sparkpro/tokeneer/discovery/ It might use the original SPARK syntax which had formalized comments, but is otherwise compatible with the current Ada syntax of contracts. My impression (largely based on the original SPARK language) was that it makes you say everything you know, in source text. Nothing is implicit. Little can be deferred to run-time. Every subtype and every object created must have bounds known to the proof machinery. No access types, or pointers. Tasks, if any, must be declared at the library level, i.e. not nested in subprograms or in other tasks; Ada profile Ravenscar is in effect. https://www.testandverification.com/files/Multicore_challenge_sept_2010/Rod_Chapman_Altran_Praxis.pdf There was/is no/limited support for generic units. ... -- "HOTDOGS ARE NOT BOOKMARKS" Springfield Elementary teaching staff