A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2018; you can also visit <a rel="external noopener" href="https://kar.kent.ac.uk/30790/1/contacts.pdf">the original URL</a>. The file type is <code>application/pdf</code>.
Practical typed lazy contracts
<span title="2012-10-15">2012</span>
<i title="Association for Computing Machinery (ACM)">
<a target="_blank" rel="noopener" href="https://fatcat.wiki/container/xu5bk2lj5rbdxlx6222nw7tsxi" style="color: black;">SIGPLAN notices</a>
</i>
Until now there has been no support for specifying and enforcing contracts within a lazy functional program. That is a shame, because contracts consist of pre-and post-conditions for functions that go beyond the standard static types. This paper presents the design and implementation of a small, easy-to-use, purely functional contract library for Haskell, which, when a contract is violated, also provides more useful information than the classical blaming of one contract partner. From now on
<span class="external-identifiers">
<a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/2398856.2364539">doi:10.1145/2398856.2364539</a>
<a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/whtqnhqusrguvgyufjfqrj5pne">fatcat:whtqnhqusrguvgyufjfqrj5pne</a>
</span>
more »
... functional languages can profit from the assurances in the development of correct programs that contracts provide.
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20180719091117/https://kar.kent.ac.uk/30790/1/contacts.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext">
<button class="ui simple right pointing dropdown compact black labeled icon button serp-button">
<i class="icon ia-icon"></i>
Web Archive
[PDF]
<div class="menu fulltext-thumbnail">
<img src="https://blobs.fatcat.wiki/thumbnail/pdf/b1/59/b1590f54a836a520c2e64c88d1da95da18f718e9.180px.jpg" alt="fulltext thumbnail" loading="lazy">
</div>
</button>
</a>
<a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/2398856.2364539">
<button class="ui left aligned compact blue labeled icon button serp-button">
<i class="external alternate icon"></i>
acm.org
</button>
</a>