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...
Higher-order abstract syntax is a central representation technique in logical frameworks which maps ...
This paper describes the modular polymorphic functional programming language OBJ--P. OBJ--P is an e...
There is a middle ground between parametric and ad-hoc polymorphism in which a computation can depen...
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...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
This paper explores how certain ideas in object oriented languages have their correspondents in func...
We show that, in a parametric model of polymorphism, the type ∀ α. ((α → α) → α) → (α → α → α) → α i...
Parametric polymorphism constrains the behavior of pure functional programs in a way that allows the...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
Parametric polymorphism in functional programming languages with explicit polymorphism is the proper...
AbstractA polymorphic function is parametric if its behavior does not depend on the type at which it...
Higher-order abstract syntax is a central representation technique in logical frameworks which maps ...
This paper describes the modular polymorphic functional programming language OBJ--P. OBJ--P is an e...
There is a middle ground between parametric and ad-hoc polymorphism in which a computation can depen...
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...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
This paper explores how certain ideas in object oriented languages have their correspondents in func...
We show that, in a parametric model of polymorphism, the type ∀ α. ((α → α) → α) → (α → α → α) → α i...
Parametric polymorphism constrains the behavior of pure functional programs in a way that allows the...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
Parametric polymorphism in functional programming languages with explicit polymorphism is the proper...
AbstractA polymorphic function is parametric if its behavior does not depend on the type at which it...
Higher-order abstract syntax is a central representation technique in logical frameworks which maps ...
This paper describes the modular polymorphic functional programming language OBJ--P. OBJ--P is an e...
There is a middle ground between parametric and ad-hoc polymorphism in which a computation can depen...