Raphaël Poss

A static C++ object-oriented programming (SCOOP) paradigmc mixing benefits of traditional OOP and generic programming

By Nicolas Burrus, Alexandre Duret-Lutz, Thierry Géraud, David Lesage, Raphaël Poss

2003-10-29

In Proceedings of the workshop on multiple paradigm with object-oriented languages (MPOOL)

Abstract

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.

Continue reading

On orthogonal specialization in C++: Dealing with efficiency and algebraic abstraction in Vaucanson

By Yann Régis-Gianas, Raphaël Poss

2003-05-26

In Proceedings of the parallel/high-performance object-oriented scientific computing (POOSC; in conjunction with ECOOP)

Abstract

Vaucanson is a C++ generic library for weighted finite state machine manipulation. For the sake of generality, FSM are defined using algebraic structures such as alphabet (for the letters), free monoid (for the words), semiring (for the weights) and series (mapping from words to weights). As usual, what is at stake is to maintain efficiency while providing a high-level layer for the writing of generic algorithms. Yet, one of the particularities of FSM manipulation is the need of a fine grained specialization power on an object which is both an algebraic concept and an intensive computing machine.

Continue reading

Introducing Vaucanson

By Sylvain Lombardy, Raphaël Poss, Yann Régis-Gianas, Jacques Sakarovitch

2003-05-05

In Proceedings of implementation and application of automata, 8th international conference (CIAA’03)

Abstract

This paper reports on a new software platform dedicated to the computation with automata and transducers, called Vaucanson, the main feature of which is the capacity of dealing with automata whose labels may belong to various algebraic structures. The paper successively shows how Vaucanson allows to program algorithms on automata in a way which is very close to the mathematical expression of the algorithm, describes some features of the Vaucanson platform, including the fact that the very rich data structure used to implement automata does not weight too much on the performance and finally explains the main issues of the programming design that allow to achieve both genericity and efficiency.

Continue reading