Didier Verna

Binary methods programming: The CLOS perspective (extended version)

By Didier Verna

2008-11-01

In Journal of Universal Computer Science

Abstract

Implementing binary methods in traditional object-oriented languages is difficult: numerous problems arise regarding the relationship between types and classes in the context of inheritance, or the need for privileged access to the internal representation of objects. Most of these problems occur in the context of statically typed languages that lack multi-methods (polymorphism on multiple arguments). The purpose of this paper is twofold: first, we show why some of these problems are either non-issues, or easily solved in Common Lisp. Then, we demonstrate how the Common Lisp Object System (CLOS) allows us not only to implement binary methods in a straightforward way, but also to support the concept directly, and even enforce it at different levels (usage and implementation).

Continue reading

How to make Lisp go faster than C

By Didier Verna

2007-06-11

In Proceedings of the international MultiConference of engineers and computer scientists

Abstract

Contrary to popular belief, Lisp code can be very efficient today: it can run as fast as equivalent C code or even faster in some cases. In this paper, we explain how to tune Lisp code for performance by introducing the proper type declarations, using the appropriate data structures and compiler information. We also explain how efficiency is achieved by the compilers. These techniques are applied to simple image processing algorithms in order to demonstrate the announced performance on pixel access and arithmetic operations in both languages.

Continue reading

CLOS solutions to binary methods

By Didier Verna

2007-01-22

In Proceedings of the international MultiConference of engineers and computer scientists

Abstract

Implementing binary methods in traditional object oriented languages is difficult: numerous problems arise, such as typing (covariance vs. contra-variance of the arguments), polymorphism on multiple arguments (lack of multi-methods) etc. The purpose of this paper is to demonstrate how those problems are either solved, or nonexistent in the Common Lisp Object System (CLOS). Several solutions for different levels of binary methods support in CLOS are proposed. They mainly consist in re-programming a binary method specific object system through the CLOS meta-object protocol.

Continue reading

How to make Lisp go faster than C

By Didier Verna

2006-12-01

In IAENG International Journal of Computer Science

Abstract

Contrary to popular belief, Lisp code can be very efficient today: it can run as fast as equivalent C code or even faster in some cases. In this paper, we explain how to tune Lisp code for performance by introducing the proper type declarations, using the appropriate data structures and compiler information. We also explain how efficiency is achieved by the compilers. These techniques are applied to simple image processing algorithms in order to demonstrate the announced performance on pixel access and arithmetic operations in both languages.

Continue reading

LaTeX curricula vitae with the CurVe class

By Didier Verna

2006-08-20

In PracTeK

Abstract

This paper presents , a curriculum vitae class for LaTeX2e, in a progressive approach going from a first contact with the class, through concrete examples of customization, and some aspects of advanced usage.

Continue reading

Beating C in scientific computing applications

By Didier Verna

2006-07-11

In Third european lisp workshop at ECOOP

Abstract

This paper presents an ongoing research on the behavior and performance of Lisp with respect to C in the context of scientific numerical computing. Several simple image processing algorithms are used to evaluate the performance of pixel access and arithmetic operations in both languages. We demonstrate that the behavior of equivalent Lisp and C code is similar with respect to the choice of data structures and types, and also to external parameters such as hardware optimization. We further demonstrate that properly typed and optimized Lisp code runs as fast as the equivalent C code, or even faster in some cases.

Continue reading

Virtual reality and tele-operation: A common framework

By Didier Verna

2001-07-01

In Proceedings of the 5th world multi-conference on systemics, cybernetics and informatics (SCI)—emergent computing and virtual engineering

Abstract

This paper proposes an overview of a study that conceptually unify the fields of virtual reality and tele-operation, by analyzing the notion of “assistance” to the operator of a virtual reality or tele-operation system. This analysis demonstrates that cases of assistance that are usually considered to belong to virtual reality are not conceptually different from what has been done in tele-operation since long before virtual reality appeared. With this common framework for virtual reality and tele-operation, we hope to provide a theoretical formalization of many ideas acquired empirically, and hence a basis onto which further discussion could be undertaken in a constructive manner.

Continue reading

Action recognition: How intelligent virtual environments can ease human-machine interaction

By Didier Verna

2000-10-01

In Proceedings of the 6th international conference on virtual systems and MultiMedia (VSMM)—intelligent environments workshop

Abstract

This paper describes a research that has been conducted in the field of cognitive assistance to human-machine interaction in virtual environments. The idea is to design a system which, bearing in mind the actions performed by the operator at present and the current state of the environment, attempts to determine the global operation that the user is in the process of executing, and eventually takes control of the same process in order to complete it automatically. This idea implies the conception of an action recognition mechanism based on a specific knowledge representation model. This mechanism is implemented in a computer demonstrator, known as the TOASt system, which is also presented.

Continue reading

Urbi et Orbi: Unusual design and implementation choices for distributed virtual environments

By Yoann Fabre, Guillaume Pitel, Didier Verna

2000-10-01

In Proceedings of the 6th international conference on virtual systems and MultiMedia (VSMM)—intelligent environments workshop

Abstract

This paper describes Urbi et Orbi, a distributed virtual environment (DVE) project that is being conducted in the Research and Development Laboratory at EPITA. Our ultimate goal is to provide support for large scale multi-user virtual worlds on end-user machines. The incremental development of this project led us to take unusual design and implementation decisions that we propose to relate in this paper. Firstly, a general overview of the project is given, along with the initial requirements we wanted to meet. Then, we go on with a description of the system’s architecture. Lastly, we describe and justify the unusual choices we have made in the project’s internals.

Continue reading