Results 1  10
of
20
Normalization by evaluation for typed lambda calculus with coproducts
 In LICS
, 2001
"... We solve the decision problem for simply typed lambda calculus with strong binary sums, equivalently the word problem for free cartesian closed categories with binary coproducts. Our method is based on the semantical technique known as “normalization by evaluation ” and involves inverting the interp ..."
Abstract

Cited by 39 (5 self)
 Add to MetaCart
We solve the decision problem for simply typed lambda calculus with strong binary sums, equivalently the word problem for free cartesian closed categories with binary coproducts. Our method is based on the semantical technique known as “normalization by evaluation ” and involves inverting the interpretation of the syntax into a suitable sheaf model and from this extracting appropriate unique normal forms. There is no rewriting theory involved, and the proof is completely constructive, allowing program extraction from the proof. 1
Parameterised notions of computation
 In MSFP 2006: Workshop on mathematically structured functional programming, ed. Conor McBride and Tarmo Uustalu. Electronic Workshops in Computing, British Computer Society
, 2006
"... Moggi’s Computational Monads and Power et al’s equivalent notion of Freyd category have captured a large range of computational effects present in programming languages such as exceptions, sideeffects, input/output and continuations. We present generalisations of both constructs, which we call para ..."
Abstract

Cited by 37 (3 self)
 Add to MetaCart
Moggi’s Computational Monads and Power et al’s equivalent notion of Freyd category have captured a large range of computational effects present in programming languages such as exceptions, sideeffects, input/output and continuations. We present generalisations of both constructs, which we call parameterised monads and parameterised Freyd categories, that also capture computational effects with parameters. Examples of such are composable continuations, sideeffects where the type of the state varies and input/output where the range of inputs and outputs varies. By also considering monoidal parameterisation, we extend the range of effects to cover separated sideeffects and multiple independent streams of I/O. We also present two typed λcalculi that soundly and completely model our categorical definitions — with and without monoidal parameterisation — and act as prototypical languages with parameterised effects.
Strong Normalisation in the πCalculus
, 2001
"... We introduce a typed πcalculus where strong normalisation is ensured by typability. Strong normalisation is a useful property in many computational contexts, including distributed systems. In spite of its simplicity, our type discipline captures a wide class of converging namepassing interactive b ..."
Abstract

Cited by 30 (15 self)
 Add to MetaCart
We introduce a typed πcalculus where strong normalisation is ensured by typability. Strong normalisation is a useful property in many computational contexts, including distributed systems. In spite of its simplicity, our type discipline captures a wide class of converging namepassing interactive behaviour. The proof of strong normalisability combines methods from typed lcalculi and linear logic with processtheoretic reasoning. It is adaptable to systems involving state and other extensions. Strong normalisation is shown to have significant consequences, including finite axiomatisation of weak bisimilarity, a fully abstract embedding of the simplytyped lcalculus with products and sums and basic liveness in interaction.
Monads and Modular Term Rewriting
, 1997
"... . Monads can be used to model term rewriting systems by generalising the wellknown equivalence between universal algebra and monads on the category Set. In [Lu96], the usefulness of this semantics was demonstrated by giving a purely categorical proof of the modularity of confluence for the disjoint ..."
Abstract

Cited by 20 (13 self)
 Add to MetaCart
. Monads can be used to model term rewriting systems by generalising the wellknown equivalence between universal algebra and monads on the category Set. In [Lu96], the usefulness of this semantics was demonstrated by giving a purely categorical proof of the modularity of confluence for the disjoint union of term rewriting systems (Toyama's theorem). This paper provides further support for the use of monads in term rewriting by giving a categorical proof of the most general theorem concerning the modularity of strong normalisation. In the process, we also improve upon some technical aspects of the earlier work. 1 Introduction Term rewriting systems (TRSs) are widely used throughout computer science as they provide an abstract model of computation while retaining a relatively simple syntax and semantics. Reasoning about large term rewriting systems can be very difficult and an alternative is to define structuring operations which build large term rewriting systems from smaller ones. Of...
EtaExpansions in Dependent Type Theory  The Calculus of Constructions
 Proceedings of the Third International Conference on Typed Lambda Calculus and Applications (TLCA'97
, 1997
"... . Although the use of expansionary jrewrite has become increasingly common in recent years, one area where jcontractions have until now remained the only possibility is in the more powerful type theories of the cube. This paper rectifies this situation by applying jexpansions to the Calculus of ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
. Although the use of expansionary jrewrite has become increasingly common in recent years, one area where jcontractions have until now remained the only possibility is in the more powerful type theories of the cube. This paper rectifies this situation by applying jexpansions to the Calculus of Constructions  we discuss some of the difficulties posed by the presence of dependent types, prove that every term rewrites to a unique long fijnormal form and deduce the decidability of fijequality, typeability and type inhabitation as corollaries. 1 Introduction Extensional equality for the simply typed calculus requires jconversion, whose interpretation as a rewrite rule has traditionally been as a contraction x : T:fx ) f where x 6 2 FV(t). When combined with the usual fireduction, the resulting rewrite relation is strongly normalising and confluent, and thus reduction to normal form provides a decision procedure for the associated equational theory. However jcontractions beh...
Categorical Term Rewriting: Monads and Modularity
 University of Edinburgh
, 1998
"... Term rewriting systems are widely used throughout computer science as they provide an abstract model of computation while retaining a comparatively simple syntax and semantics. In order to reason within large term rewriting systems, structuring operations are used to build large term rewriting syste ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
Term rewriting systems are widely used throughout computer science as they provide an abstract model of computation while retaining a comparatively simple syntax and semantics. In order to reason within large term rewriting systems, structuring operations are used to build large term rewriting systems from smaller ones. Of particular interest is whether key properties are modular, thatis,ifthe components of a structured term rewriting system satisfy a property, then does the term rewriting system as a whole? A body of literature addresses this problem, but most of the results and proofs depend on strong syntactic conditions and do not easily generalize. Although many specific modularity results are known, a coherent framework which explains the underlying principles behind these results is lacking. This thesis posits that part of the problem is the usual, concrete and syntaxoriented semantics of term rewriting systems, and that a semantics is needed which on the one hand elides unnecessary syntactic details but on the other hand still possesses enough expressive power to model the key concepts arising from
Linear Explicit Substitutions
 In Proc. of Westapp'98
, 1998
"... The oecalculus adds explicit substitutions to the calculus so as to provide a theoretical framework within which the implementation of functional programming languages can be studied. This paper generalises the oecalculus to provide a linear calculus of explicit substitutions, called xDILL, which ..."
Abstract

Cited by 12 (8 self)
 Add to MetaCart
The oecalculus adds explicit substitutions to the calculus so as to provide a theoretical framework within which the implementation of functional programming languages can be studied. This paper generalises the oecalculus to provide a linear calculus of explicit substitutions, called xDILL, which analogously describes the implementation of linear functional programming languages. Our main observation is that there are nontrivial interactions between linearity and explicit substitutions and that xDILL is therefore best understood as a synthesis of its underlying logical structure and the technology of explicit substitutions. This is in contrast to the oecalculus where the explicit substitutions are independent of the underlying logical structure. Keywords: calculus, explicit substitutions, linear logic 1 Introduction This paper combines the technologies of explicit substitutions and linearity in a mathematically consistent way. We start by describing these technologies and the...
Normalization by evaluation for λ →2
 In Functional and Logic Programming, number 2998 in LNCS
, 2004
"... Abstract. We show that the settheoretic semantics for λ →2 is complete by inverting evaluation using decision trees. This leads to an implementation of normalization by evaluation which is witnessed by the source of part of this paper being a literate Haskell script. We show the correctness of our ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
Abstract. We show that the settheoretic semantics for λ →2 is complete by inverting evaluation using decision trees. This leads to an implementation of normalization by evaluation which is witnessed by the source of part of this paper being a literate Haskell script. We show the correctness of our implementation using logical relations. 1
Constructor subtyping
, 1999
"... Constructor subtyping is a form of subtyping in which an inductive type is viewed as a subtype of another inductive type Ï if Ï has more constructors than. As suggested in [5, 12], its (potential) uses include proof assistants and functional programming languages. In this paper, we introduce and ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
Constructor subtyping is a form of subtyping in which an inductive type is viewed as a subtype of another inductive type Ï if Ï has more constructors than. As suggested in [5, 12], its (potential) uses include proof assistants and functional programming languages. In this paper, we introduce and study the properties of a simply typed Î»calculus with record types and datatypes, and which supports record subtyping and constructor subtyping. In the first part of the paper, we show that the calculus is confluent and strongly normalizing. In the second part of the paper, we show that the calculus admits a wellbehaved theory of canonical inhabitants, provided one adopts expansive extensionality rules, includingexpansion, surjective pairing, and a suitable expansion rule for datatypes. Finally, in the third part of the paper, we extend our calculus with unbounded recursion and show that confluence is preserved.
Eta Expansions in System F
 LIENSDMI, Ecole Normale Superieure
, 1996
"... The use of expansionary jrewrite rules in various typed calculi has become increasingly common in recent years as their advantages over contractive jrewrite rules have become apparent. Not only does one obtain the decidability of fijequality, but rewrite relations based on expansions give a natu ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The use of expansionary jrewrite rules in various typed calculi has become increasingly common in recent years as their advantages over contractive jrewrite rules have become apparent. Not only does one obtain the decidability of fijequality, but rewrite relations based on expansions give a natural interpretation of long fijnormal forms, generalise more easily to other type constructors, retain key properties when combined with other rewrite relations, and are supported by a categorical theory of reduction. This paper extends the initial results concerning the simply typed calculus to System F, that is, we prove strong normalisation and confluence for a rewrite relation consisting of traditional fireductions and jexpansions satisfying certain restrictions. Further, we characterise the second order long fijnormal forms as precisely the normal forms of the restricted rewrite relation. These results are an important step towards showing that jexpansions are compatible with the m...