Typed contracts for functional programming

47Citations
Citations of this article
33Readers
Mendeley users who have this article in their library.
Get full text

Abstract

A robust software component fulfills a contract: it expects data satisfying a certain property and promises to return data satisfying another property. The object-oriented community uses the design-by-contract approach extensively. Proposals for language extensions that add contracts to higher-order functional programming have appeared recently. In this paper we propose an embedded domain-specific language for typed, higher-order and first-class contracts, which is both more expressive than previous proposals, and allows for a more informative blame assignment. We take some first steps towards an algebra of contracts, and we show how to define a generic contract combinator for arbitrary algebraic data types. The contract language is implemented as a library in Haskell using the concept of generalised algebraic data types. © Springer-Verlag Berlin Heidelberg 2006.

Cite

CITATION STYLE

APA

Hinze, R., Jeuring, J., & Löh, A. (2006). Typed contracts for functional programming. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 3945 LNCS, pp. 208–225). Springer Verlag. https://doi.org/10.1007/11737414_15

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free