About Ravi
Premiers pas avec Ravi
Objets Scheme
Le shell ravi
Starting Ravi
Le module trace
Les ports d'E/S
load, require, modules
Système d'interruptions
Scheme compiler
C++ mode
Generating C++ modules
La déclaration struct
Le type "C-object"
More information
bug report


About Ravi

{Curieusement, la doc en Francais commence par une page en Anglais.}

Ravi is a french acronym for Robotics, Learning, Vision and Integration. The initial aim of this project was to provide an environment for research in Computer Vision in Robotics.

We were looking for a full-fledged programming language (not only a scripting language) powerfull enough for image processing, control of mobile robots, trajectory planning, and reasoing about actions and plans. No single programming language is well adapted for all this - some languages are better for tasks like image processing, others for Artificial Intelligence tasks. For this reason we decided to create a n open multilanguage platform with low-level and high-level languages.

We think that such a tool can be very usefull for many purposes, not only for Computer Vision and Robotics.


Here is a summary of the main features of the Ravi system:

  • Virtual machine based architecture
  • Scheme interpreter written in scheme
  • Byte code compiler
  • Dynamic loading of C/C++ libraries
  • Automatic generation of C++ interfaces
  • Dynamic loading of new types
  • Type driven garbage collector that can handle C++ objects and external memory management methods (i.e. reference counting).
  • Prolog and Production System available

About this site

This site is automatically generated with the Ravi's scheme interpreter using a "scheme markup language" which allow us to insert scheme commands in a source text and so generating documents in Html, texinfo or LaTeX formats with a nice design.

On the home page the background of the image is a part of Ravi's scheme interpreter.

All the graphics are by gimp.

Ravi's team