This paper presents a new solution to the expression problem (EP) that works in OO languages with simple generics (including Java or C#). A key novelty of this solution is that advanced typing features, including F-bounded quantification, wildcards and variance annotations, are not needed. The solution is based on object algebras, which are an abstraction closely related to algebraic datatypes and Church encodings. Object algebras also have much in common with the traditional forms of the Visitor pattern, but without many of its drawbacks: they are extensible, remove the need for accept methods, and do not compromise encapsulation. We show applications of object algebras that go beyond toy examples usually presented in solutions for the exp...
Object-oriented programming techniques allow the construction of reusable and extensible code. Howev...
Modular interpreters have the potential to achieve component-based language development: instead of ...
. Object_oriented languages seem to be ideal to implement extensible systems. However, the fact that...
Object Algebras are a recently introduced design pattern to make the implementation of recursive dat...
Object Algebras are a programming technique for the extensible implementation of recursive data type...
Object algebras are a new programming technique that enables a simple solution to basic extensibilit...
Object Algebras are a recently introduced design pattern to make the implementation of recursive dat...
International audienceObject algebras are a new programming technique that enables a simple solution...
Finding typed encodings of object-oriented into procedural or functional programming sheds light on ...
This paper presents a novel and simple solution to Wadler’s Expression Problem that works in convent...
A major problem for writing extensible software arises when recursively defined datatypes and operat...
The development of programming languages is challenging because the typical language processing tool...
New extensions to programming languages are constantly being proposed. But implementing these extens...
Domain-specific languages (DSLs) are now ubiquitous. New DSLs are needed and existing DSLs are evolv...
. This paper presents an imperative object calculus designed to support class-based programming via ...
Object-oriented programming techniques allow the construction of reusable and extensible code. Howev...
Modular interpreters have the potential to achieve component-based language development: instead of ...
. Object_oriented languages seem to be ideal to implement extensible systems. However, the fact that...
Object Algebras are a recently introduced design pattern to make the implementation of recursive dat...
Object Algebras are a programming technique for the extensible implementation of recursive data type...
Object algebras are a new programming technique that enables a simple solution to basic extensibilit...
Object Algebras are a recently introduced design pattern to make the implementation of recursive dat...
International audienceObject algebras are a new programming technique that enables a simple solution...
Finding typed encodings of object-oriented into procedural or functional programming sheds light on ...
This paper presents a novel and simple solution to Wadler’s Expression Problem that works in convent...
A major problem for writing extensible software arises when recursively defined datatypes and operat...
The development of programming languages is challenging because the typical language processing tool...
New extensions to programming languages are constantly being proposed. But implementing these extens...
Domain-specific languages (DSLs) are now ubiquitous. New DSLs are needed and existing DSLs are evolv...
. This paper presents an imperative object calculus designed to support class-based programming via ...
Object-oriented programming techniques allow the construction of reusable and extensible code. Howev...
Modular interpreters have the potential to achieve component-based language development: instead of ...
. Object_oriented languages seem to be ideal to implement extensible systems. However, the fact that...