The proceedings contain 12 papers. The special focus in this conference is on genericprogramming. The topics include: genericprogramming within dependently typed programming;generic accumulations;a generic algorithm...
ISBN:
(纸本)9781475753202
The proceedings contain 12 papers. The special focus in this conference is on genericprogramming. The topics include: genericprogramming within dependently typed programming;generic accumulations;a generic algorithm for minimum chain partitioning;concrete generic functionals;the role of types in genericprogramming;making the usage of STL safe;static data structures;adaptive extensions of object-oriented systems;complete traversals as general iteration patterns and efficient implementation of run-time generic types for Java.
genericprogramming is about making programs more adaptable by making them more general. generic programs often embody non-traditional kinds of polymorphism; ordinary programs are obtained from them by suitably instan...
ISBN:
(纸本)9781475753202
genericprogramming is about making programs more adaptable by making them more general. generic programs often embody non-traditional kinds of polymorphism; ordinary programs are obtained from them by suitably instantiating their parameters. In contrast with normal programs, the parameters of a generic program are often quite rich in structure; for example, they may be other programs, types or type constructors, class hierarchies, or even programming paradigms. genericprogramming techniques have always been of interest, both to practitioners and to theoreticians, but only recently have genericprogramming techniques become a specific focus of research in the functional and object-oriented programming language communities. genericprogramming comprises the edited proceedings of the workingconference on genericprogramming, which was sponsored by the International Federation for Information Processing (ifip) and held in Dagstuhl, Germany in July 2002. With contributions from leading researchers around the world, this volume captures the state of the art in this important emerging area.
Accumulations are recursive functions that keep intermediate results in additional parameters which are eventually used in later stages of the computation. We present a generic definition of accumulations obtained by ...
详细信息
ISBN:
(纸本)1402073747
Accumulations are recursive functions that keep intermediate results in additional parameters which are eventually used in later stages of the computation. We present a generic definition of accumulations obtained by the introduction of a new recursive operator on inductive types. We also show that the notion of downwards accumulation developed by Gibbons is subsumed by our notion of accumulation.
We show how higher kinded genericprogramming can be represented faithfully within a dependently typed programming system. This development has been implemented using the OLEG system. The present work can be seen as e...
ISBN:
(纸本)1402073747
We show how higher kinded genericprogramming can be represented faithfully within a dependently typed programming system. This development has been implemented using the OLEG system. The present work can be seen as evidence for our thesis that extensions of type systems can be done by programming within a dependently typed language, using data as codes for types.
generic HVSKELL exploits the promising new incarnation of genericprogramming due to Hinze. Apart from extending the programming language Haskell, Hinze-style polytypism offers a simple approach to defining generic fu...
详细信息
ISBN:
(纸本)1402073747
generic HVSKELL exploits the promising new incarnation of genericprogramming due to Hinze. Apart from extending the programming language Haskell, Hinze-style polytypism offers a simple approach to defining generic functions which are applicable to types of all kinds. Here we explore a number of simple but significant extensions to Hinze's ideas which make genericprogramming both more expressive and easier to use. We illustrate our ideas with examples.
This presents a generic algorithm to obtain a minimum sized partition of a partially ordered set into chains. The algorithm is illustrated with three examples, including a novel box stacking problem and solution. 16...
详细信息
In order to satisfy the changing needs of customers and clients, software systems have to be adapted during their whole lifetime. One frequently occurring task is adding a new function to the interface of a (sub-) sys...
详细信息
ISBN:
(纸本)1402073747
In order to satisfy the changing needs of customers and clients, software systems have to be adapted during their whole lifetime. One frequently occurring task is adding a new function to the interface of a (sub-) system. To implement the new functionality, not only the interface has to be extended but several other classes of the (sub-) system. Performing this task manually is tedious and error-prone. In this paper a method is described that simplifies implementing extensions of the above kind. The basic idea is using adaptive programming (AP), so that new functionality can be described with the help of paths in the class structure and source code transformations.
We describe an efficient compiler and run-time system for NEXTGEN, a compatible extension of the Java programming language supporting run-time generic types designed by Cartwright and Steele. The resulting system is c...
详细信息
ISBN:
(纸本)1402073747
We describe an efficient compiler and run-time system for NEXTGEN, a compatible extension of the Java programming language supporting run-time generic types designed by Cartwright and Steele. The resulting system is comparable in performance with both standard Java and the GJ extension of Java, which does not support run-time generic types. Our implementation of NEXTGEN consists of a compiler extending the GJ compiler and a special class loader that constructs type instantiation classes on demand. The compiler relies on the implementation strategy proposed by Cartwright and Steele with one major exception: to support polymorphic recursion in the definition of generic classes, the compiler generates templates for instantiation classes which are constructed on demand by the class loader. We include an extensive set of benchmarks, specifically developed to stress the use of generic types. The benchmarks a show that the additional code required to support run-time generic types has little overhead compared with ordinary Java and GJ.
暂无评论