Abstract. Binding-time polymorphism enables a highly flexible binding-time analysis for offline partial evaluation. This work provides the tools to translate this flexibility into efficient program specialization in the context of a polymorphic language. Following the cogen-combinator approach, a set of combinators is defined in Haskell that enables the straightforward transcription of a binding-time polymorphic annotated program into the corresponding program generator. The typing of the combinators mimics the constraints of the binding-time analysis. The resulting program generator is safe, tag-free, and it has no interpretive overhead.
AbstractSeveral generic programs for converting values from regular datatypes to some other format, ...
Abstract. The combination of parameter polymorphism, subtyping ex-tended to qualified and polymorphi...
Many functions have to be written over and over again for different datatypes, either because dataty...
Abstract. Binding-time polymorphism enables a highly flexible binding-time analysis for offline part...
By compile-time type analysis of a program written in a statically typed first-order polymorphic lan...
Polyvariant expansion is a binding-time-improving transformation for offline partial evaluation. We ...
In this thesis we study aspects of specialisation by partial evaluation and compiler generation. Aft...
Traditional functional languages do not have an explicit distinction between binding times. It aris...
Binding time analysis aims at determining which identifiers can be bound to their values at compile ...
Several generic programs for converting values from regular datatypes to some other format, together...
A polytypic program is a program that behaves uniformly over a large class of datatypes. For functio...
Abstract. Binding time analysis is an important part of off-line partial evaluation, annotating expr...
Code generation is the leading approach to making high-perfor-mance software reusable. Effects are i...
Many algorithms have to be implemented over and over again for different datatypes, either because d...
O'Haskell is a programming language derived from Haskell by the addition of concurrent reactive obje...
AbstractSeveral generic programs for converting values from regular datatypes to some other format, ...
Abstract. The combination of parameter polymorphism, subtyping ex-tended to qualified and polymorphi...
Many functions have to be written over and over again for different datatypes, either because dataty...
Abstract. Binding-time polymorphism enables a highly flexible binding-time analysis for offline part...
By compile-time type analysis of a program written in a statically typed first-order polymorphic lan...
Polyvariant expansion is a binding-time-improving transformation for offline partial evaluation. We ...
In this thesis we study aspects of specialisation by partial evaluation and compiler generation. Aft...
Traditional functional languages do not have an explicit distinction between binding times. It aris...
Binding time analysis aims at determining which identifiers can be bound to their values at compile ...
Several generic programs for converting values from regular datatypes to some other format, together...
A polytypic program is a program that behaves uniformly over a large class of datatypes. For functio...
Abstract. Binding time analysis is an important part of off-line partial evaluation, annotating expr...
Code generation is the leading approach to making high-perfor-mance software reusable. Effects are i...
Many algorithms have to be implemented over and over again for different datatypes, either because d...
O'Haskell is a programming language derived from Haskell by the addition of concurrent reactive obje...
AbstractSeveral generic programs for converting values from regular datatypes to some other format, ...
Abstract. The combination of parameter polymorphism, subtyping ex-tended to qualified and polymorphi...
Many functions have to be written over and over again for different datatypes, either because dataty...