Proceedings of the 1st ACM SIGPLAN Workshop on Reproducible Research Methodologies and New Publication Models in Computer Engineering - TRUST '14, 2014
The Vaucanson library works on weighted finite state machines in an algebraic framework. As compu... more The Vaucanson library works on weighted finite state machines in an algebraic framework. As computing tools, FSMs must provide efficient services. Yet, abstraction is needed to obtain genericity but also to define properly what objects we are working on. Even if parameterized classes are a known solution to this problem, the different kinds of algorithm specializations are limited when using usual template techniques. This paper describes a new design pattern called ELEMENT which enables the orthogonal specialization of generic algorithms w.r.t. the algebraic concept and w.r.t. the implementation. The idea is to make concept and implementation explicitly usable as object instances. First, we show how it solves the specialization problem. Then, we detail its implementation and how we deal with some technical pitfalls.
This paper reports on a new software platform called Vaucanson and dedicated to the computation w... more This paper reports on a new software platform called Vaucanson and dedicated to the computation with automata and transducers. Its main feature is the capacity of dealing with automata whose labels may belong to various algebraic structures.
Object-oriented and generic programming are both supported in C++. OOP provides high expressivene... more Object-oriented and generic programming are both supported in C++. OOP provides high expressiveness whereas GP leads to more efficient programs by avoiding dynamic typing. This paper presents SCOOP, a new paradigm which enables both classical OO design and high performance in C++ by mixing OOP and GP. We show how classical and advanced OO features such as virtual methods, multiple inheritance, argument covariance, virtual types and multimethods can be implemented in a fully statically typed model, hence without run-time overhead.
Uploads
Papers by Raphael Poss