Higher-order abstract syntax is a simple technique for implementing languages with functional programming. Object variables and binders are implemented by variables and binders in the host language. By using this technique, one can avoid implementing common and tricky routines dealing with variables, such as capture-avoiding substitution. However, despite the advantages this technique provides, it is not commonly used because it is difficult to write sound elimination forms (such as folds or catamorphisms) for higher-order abstract syntax. To fold over such a datatype, one must either simultaneously define an inverse operation (which may not exist) or show that all functions embedded in the datatype are parametric. In this paper, we show ho...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
Research supported by the Engineering and Physical Sciences Research Council (EP/L022478/1) and the ...
This thesis examines specification refinement in the setting of polymorphic type theory and a comple...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Abstract Higher-order abstract syntax is a simple technique for implementing languages with function...
This paper explores how certain ideas in object oriented languages have their correspondents in func...
Parametric polymorphism constrains the behavior of pure functional pro-grams in a way that allows th...
Parametric polymorphism constrains the behavior of pure functional programs in a way that allows the...
We show that, in a parametric model of polymorphism, the type ∀ α. ((α → α) → α) → (α → α → α) → α i...
Proponents of the functional programming paradigm contend that higher-order functions combined wit...
AbstractA polymorphic function is parametric if its behavior does not depend on the type at which it...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
Research supported by the Engineering and Physical Sciences Research Council (EP/L022478/1) and the ...
This thesis examines specification refinement in the setting of polymorphic type theory and a comple...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Abstract Higher-order abstract syntax is a simple technique for implementing languages with function...
This paper explores how certain ideas in object oriented languages have their correspondents in func...
Parametric polymorphism constrains the behavior of pure functional pro-grams in a way that allows th...
Parametric polymorphism constrains the behavior of pure functional programs in a way that allows the...
We show that, in a parametric model of polymorphism, the type ∀ α. ((α → α) → α) → (α → α → α) → α i...
Proponents of the functional programming paradigm contend that higher-order functions combined wit...
AbstractA polymorphic function is parametric if its behavior does not depend on the type at which it...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
Research supported by the Engineering and Physical Sciences Research Council (EP/L022478/1) and the ...
This thesis examines specification refinement in the setting of polymorphic type theory and a comple...