Abstract. Deforestation is a well-known program transformation technique which eliminates intermediate data structures that are passed between functions. One of its weaknesses is t...
eduction strategies for logic programs often use an abstraction operator to guarantee the niteness of the set of goals for which partial deductions are . Findingan abstraction ope...
C++ templates are key to the design of current successful mainstream libraries and systems. They are the basis of programming techniques in diverse areas ranging from conventional...
We introduce a new framework of algebraic pure type systems in which we consider rewrite rules as lambda terms with patterns and rewrite rule application as abstraction applicatio...
Gilles Barthe, Horatiu Cirstea, Claude Kirchner, L...
Type classes have found a wide variety of uses in Haskell programs, from simple overloading of operators (such as equality or ordering) to complex invariants used to implement typ...