UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

CoCaml: Functional Programming with Regular Coinductive Types

Jeannin, J-B; Kozen, D; Silva, A; (2017) CoCaml: Functional Programming with Regular Coinductive Types. Fundamenta Informaticae , 150 (3-4) pp. 347-377. 10.3233/FI-2017-1473. Green open access

[thumbnail of Silva_CoCaml.pdf]
Preview
Text
Silva_CoCaml.pdf - Published Version

Download (335kB) | Preview

Abstract

Functional languages offer a high level of abstraction, which results in programs that are elegant and easy to understand. Central to the development of functional programming are inductive and coinductive types and associated programming constructs, such as pattern-matching. Whereas inductive types have a long tradition and are well supported in most languages, coinductive types are subject of more recent research and are less mainstream. We present CoCaml, a functional programming language extending OCaml, which allows us to define recursive functions on regular coinductive datatypes. These functions are defined like usual recursive functions, but parameterized by an equation solver. We present a full implementation of all the constructs and solvers and show how these can be used in a variety of examples, including operations on infinite lists, infinitary γ-terms, and p-adic numbers.

Type: Article
Title: CoCaml: Functional Programming with Regular Coinductive Types
Open access status: An open access version is available from UCL Discovery
DOI: 10.3233/FI-2017-1473
Publisher version: http://dx.doi.org/10.3233/FI-2017-1473
Language: English
Keywords: Functional programming, coinductive types, recursive types, coalgebra
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/1523431
Downloads since deposit
228Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item