Results

**11 - 15**of**15**### Functorial ML

, 1998

"... We present an extension of the Hindley-Milner type system that supports a generous class of type constructors called functors, and provide a parametrically polymorphic algorithm for their mapping, i.e. for applying a function to each datum appearing in a value of constructed type. The algorithm come ..."

Abstract
- Add to MetaCart

We present an extension of the Hindley-Milner type system that supports a generous class of type constructors called functors, and provide a parametrically polymorphic algorithm for their mapping, i.e. for applying a function to each datum appearing in a value of constructed type. The algorithm comes from shape theory, which provides a uniform method for locating data within a shape. The resulting system is Church-Rosser and strongly normalizing, and supports type inference. Several dierent semantics are possible, which aects the choice of constants in the language, and are used to illustrate the relationship to polytypic programming. Capsule Review A wide class of type constructors (functions producing types from types) used in functional programming are functorial, in the sense that they can be extended to mappings from functions to functions satisfying a few simple laws. The `map' functional for lists is the prototypic example. Moreover, this additional structure for type constru...

### A Uniform Model Theory for the Specification of Data and Process types

"... Generalizing products in Lawvere's algebraic theories to projective and injective Kan extensions and their conjunctive combinations one gets a powerful categorical model theory. Based on this categorical model theory the foundations of a uniform axiomatic specification formalism for data and pro ..."

Abstract
- Add to MetaCart

Generalizing products in Lawvere's algebraic theories to projective and injective Kan extensions and their conjunctive combinations one gets a powerful categorical model theory. Based on this categorical model theory the foundations of a uniform axiomatic specification formalism for data and process types is developed.

### Higher-Order Charity

, 1997

"... This thesis describes the higher-order Charity programming language which is an extension of first-order Charity. This results from extending the coinductive datatype definition mechanism to allow a new class of higher-order datatypes with parameterized destructors. This adds significant expressive ..."

Abstract
- Add to MetaCart

This thesis describes the higher-order Charity programming language which is an extension of first-order Charity. This results from extending the coinductive datatype definition mechanism to allow a new class of higher-order datatypes with parameterized destructors. This adds significant expressive power to the language. In particular it allows one to create "objects". The language is "higher-order" in the traditional sense that the exponential datatype can be defined, and so that functions can be treated as values. The higher-order extension is traced from the extension of the syntax and the expressive gains delivered to the Charity programmer, down through the innards of the language and the modifications required in the implementation.

### Chapter 1 Coalgebras as Types determined by their Elimination Rules

"... Abstract We develop rules for coalgebras in type theory, and give meaning explanations for them. We show that elements of coalgebras are determined by their elimination rules, whereas the introduction rules can be considered as derived. This is in contrast with algebraic data types, for which the op ..."

Abstract
- Add to MetaCart

Abstract We develop rules for coalgebras in type theory, and give meaning explanations for them. We show that elements of coalgebras are determined by their elimination rules, whereas the introduction rules can be considered as derived. This is in contrast with algebraic data types, for which the opposite is true: elements are determined by their introduction rules, and the elimination rules can be considered as derived. In this sense, the function type from the logical framework is more like a coalgebraic data type, the elements of which are determined by the elimination rule. We illustrate why the simplest form of guarded recursion is nothing but the introduction rule originating from the formulation of coalgebras in category theory. We discuss restrictions needed in order to preserve decidability of equality. Dedicated to Per Martin-Löf on the occasion of his retirement. 1.1

### Cuts for circular proofs: semantics and cut-elimination

"... One of the authors introduced in [16] a calculus of circular proofs for studying the computability arising from the following categorical operations: finite products, finite coproducts, initial algebras, final coalgebras. The calculus presented [16] is cut-free; even if sound and complete for provab ..."

Abstract
- Add to MetaCart

One of the authors introduced in [16] a calculus of circular proofs for studying the computability arising from the following categorical operations: finite products, finite coproducts, initial algebras, final coalgebras. The calculus presented [16] is cut-free; even if sound and complete for provability, it lacked an important property for the semantics of proofs, namely fullness w.r.t. the class of intended categorical models (called µ-bicomplete categories in [18]). In this paper we fix this problem by adding the cut rule to the calculus and by modifying accordingly the syntactical constraint ensuring soundness of proofs. The enhanced proof system fully represents arrows of the canonical model (a free µ-bicomplete category). We also describe a cut-elimination procedure as a a model of computation arising from the above mentioned categorical operations. The procedure constructs a cut-free proof-tree with possibly infinite branches out of a finite circular proof with cuts.