<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Safe Pointers in SPARK 2014 · HackerPapers discussions</title><link>https://hackerpaper.kaipfister.de/p/1710.07047/</link><description>Collected HN comments and submissions linking this paper.</description><language>en</language><lastBuildDate>Mon, 02 Nov 2026 11:16:22 GMT</lastBuildDate><atom:link href="https://hackerpaper.kaipfister.de/p/1710.07047/feed.xml" rel="self" type="application/rss+xml" /><item><title>Safe Pointers in SPARK 2014 — mentioned by johnisgood</title><link>https://news.ycombinator.com/item?id=27119120</link><guid isPermaLink="false">urn:hackerpapers:mention:1710.07047:27119120</guid><pubDate>Tue, 11 May 2021 15:18:35 GMT</pubDate><description>&lt;p&gt;It can employ, but you do not have to (you can turn off all runtime checks and use formal verification only, something that Rust cannot do (statically verify correctness the same way you can with SPARK using GNATprove)), it can all be done at compile-time with Ada/SPARK. &amp;gt; These runtime checks[1] are costly, both in terms of program size and execution time. It may be appropriate to remove them if we can statically ensure they aren&amp;#x27;t needed at runtime, in other words if we can prove that the condition tested for can never occur. &amp;gt; This is where the analysis done by GNATprove comes in. It can…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1710.07047/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Safe Pointers in SPARK 2014 — mentioned by thesuperbigfrog</title><link>https://news.ycombinator.com/item?id=26512754</link><guid isPermaLink="false">urn:hackerpapers:mention:1710.07047:26512754</guid><pubDate>Fri, 19 Mar 2021 12:59:15 GMT</pubDate><description>&lt;p&gt;Probably SPARK (programming language derived from Ada with advanced proof capabilities). The next release of SPARK will support pointer ownership similar to the Rust borrow checker: https://blog.adacore.com/using-pointers-in-spark https://arxiv.org/pdf/1710.07047.pdf Concurrency in Ada is very easy. I haven&amp;#x27;t used SPARK enough to be familiar with its concurrency, but it looks very similar to Ada, but with added restrictions to allow for proofs: https://docs.adacore.com/spark2014-docs/html/ug/en/source/co...&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1710.07047/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Safe Pointers in SPARK 2014 — mentioned by johnisgood</title><link>https://news.ycombinator.com/item?id=20934511</link><guid isPermaLink="false">urn:hackerpapers:mention:1710.07047:20934511</guid><pubDate>Tue, 10 Sep 2019 22:26:27 GMT</pubDate><description>&lt;p&gt;I would recommend https://www.adacore.com/uploads/books/pdf/ePDF-Implementatio... for more information regarding contracts. There are of course a LOT more, just fire up your preferred search engine and enjoy your findings. :) &amp;gt; SPARK builds on the strengths of Ada to provide even more guarantees statically rather than dynamically. As summarized in the following table, Ada provides strict syntax and strong typing at compile time plus dynamic checking of run-time errors and program contracts. SPARK allows such checking to be performed statically. In addition, it enforces the use of a safer…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1710.07047/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Safe Pointers in SPARK 2014 — mentioned by thesuperbigfrog</title><link>https://news.ycombinator.com/item?id=19678520</link><guid isPermaLink="false">urn:hackerpapers:mention:1710.07047:19678520</guid><pubDate>Wed, 17 Apr 2019 00:14:51 GMT</pubDate><description>&lt;p&gt;Nice! I did not have a chance to look at the issue discussion. Thank you for pointing it out. It&amp;#x27;s good to see that Rust is learning from Ada. Ada is also learning from Rust: https://arxiv.org/abs/1710.07047&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1710.07047/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Safe Pointers in SPARK 2014 — mentioned by nickpsecurity</title><link>https://news.ycombinator.com/item?id=16005248</link><guid isPermaLink="false">urn:hackerpapers:mention:1710.07047:16005248</guid><pubDate>Mon, 25 Dec 2017 18:54:51 GMT</pubDate><description>&lt;p&gt;“but after studying many other ICO, I am convinced now that this is not just a short-lived fad, but a real new model to fund projects, and especially open-source projects related to blockchains.” There’s been quite a few of us suggesting people jump into blockchain just to get funding for more important stuff (e.g. language-level tooling or libraries) they’ll produce as part of the coin offering they sell to investors. Plus, with the focus on correctness, it’s easier than ever to get the private sector to invest in high-assurance tooling. Problem is they keep trying to clean-slate everything…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1710.07047/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Safe Pointers in SPARK 2014 — HN submission</title><link>https://news.ycombinator.com/item?id=15874273</link><guid isPermaLink="false">urn:hackerpapers:submission:1710.07047:15874273</guid><pubDate>Thu, 07 Dec 2017 21:10:30 GMT</pubDate><description>&lt;p&gt;Safe Pointers in SPARK 2014&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;70 points; 38 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1710.07047/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item></channel></rss>
