Skip to main content
Kent Academic Repository

Practical Typed Lazy Contracts

Chitil, Olaf (2012) Practical Typed Lazy Contracts. In: Proceedings of the 17th ACM SIGPLAN international conference on Functional programming. ACM, New York, USA, pp. 67-76. ISBN 978-1-4503-1054-3. (doi:10.1145/2364527.2364539) (KAR id:30790)

PDF (With proof appendix and minor corrections.) Updated Version
Language: English
Download this file
(PDF/249kB)
[thumbnail of With proof appendix and minor corrections.]
Preview
Request a format suitable for use with assistive technology e.g. a screenreader
Official URL:
http://dx.doi.org/10.1145/2364527.2364539

Abstract

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 lazy functional languages can profit from the assurances in the development of correct programs that contracts provide.

Item Type: Book section
DOI/Identification number: 10.1145/2364527.2364539
Additional information: Version with proof appendix and minor corrections.
Uncontrolled keywords: purely functional, lazy, library, Haskell
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Olaf Chitil
Date Deposited: 21 Sep 2012 09:49 UTC
Last Modified: 16 Nov 2021 10:08 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/30790 (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.