Distributive laws in programming structures

Rypacek, Ondrej (2010) Distributive laws in programming structures. PhD thesis, University of Nottingham.

[img]
Preview
PDF
1426Kb

Abstract

Distributive laws in Computer Science are rules governing the transformation of one programming structure into another. In programming, they are programs satisfying certain formal conditions. Their importance has been to date documented in several isolated cases by diverse formal approaches. These applications have always meant leaps in understanding the nature of the subject. However, distributive laws have not yet been given the attention they deserve. One of the reasons for this omission is certainly the lack of a formal notion of distributive laws in their full generality. This hinders the discovery and formal description of occurrences of distributive laws, which is the precursor of any formal manipulation.

In this thesis, an approach to formalisation of distributive laws is presented based on the functorial approach to formal Category Theory pioneered by Lawvere and others, notably Gray. The proposed formalism discloses a rather simple nature of distributive laws of the kind found in programming structures based on lax 2-naturality and Gray's tensor product of 2-categories. It generalises the existing more specific notions of distributive laws. General notions of products, coproducts and composition of distributive laws are studied and conditions for their construction given. Finally, the proposed formalism is put to work in establishing a semantical equivalence between a large class of functional and object-based programs.

Item Type:Thesis (PhD)
Supervisors:Backhouse, R.
Nilsson, H.
Uncontrolled Keywords:functional programming, distributive laws, category theory, 2-categories, mathematics of programming, programming language theory, theory of computation
Faculties/Schools:UK Campuses > Faculty of Science > School of Computer Science
ID Code:1077
Deposited By:Ondrej Rypacek
Deposited On:23 Aug 2010 13:28
Last Modified:23 Aug 2010 13:28

Archive Staff Only: item control page