Table of Contents


We believe that the use of rewriting and, in particular, of rule-based programming languages can enhance the quality, the safety and the security of computer systems:

  • firstly, we think that rule-based programs have better computational properties: in this, we follow Neil Jones' thesis asserting that programming languages and semantics have strong connexions with complexity theory.
  • secondly, we think that it is easier to guarantee the safety of rule-based programs, since they are closer to mathematical structures: for example, several analysis tools exist to establish certificates of properties, mainly about termination and complexity.
  • thirdly, we think that the use of rules and strategies make the programs easier to write, to understand, and to maintain. This is a purely functional approach which clearly separates the transformation from the control.

We also believe that rule-based programming is not yet used by a sufficiently large community of programmers. There are several reasons to this fact, some of them presented by Philip Wadler. Among them are the steep learning curve for the average programmer and the economic cost for a firm to translate its existing code.

In summary, we cannot, and anyway do not want to, force the programmers to use rule-based programs; even if we think that if this was the case they would produce higher-quality, safer and more secure code. Nevertheless, we do not want to resign and develop tools only for the present style of programming, or only for a minority.


The Pareo group will use the following strategy to disseminate rule-based programming and increase the reliability of computer systems:

  • we will propose to programmers language extensions allowing them to write parts of their code in a rule-based style (abstract data-types, pattern matching, rules and strategies).
  • for these parts, we will develop analysis tools the programmer can use to produce certificates that guarantee his code properties: this acts as an incentive for using rule-based parts.
  • we will develop concepts and tools to make possible the integration of new constructs, without modifying the existing code.

We think that, proceeding this way, we shall enter into a virtuous circle: programmers will start to create code with rule based and certified parts; this will increase the confidence users have in their code, will improve their productivity, and will also increase the quality of the code. This, in turn, should convince other programmers to understand and use these techniques to cope with this evolution, and so on.


The Pareo group activity is embodied by the programming language Tom, initially developed inside the Protheo project-team. Indeed, Tom will be the flagship of Pareo: first, as an implementation of our strategy to disseminate rule-based programming and theoretical tools into the real world; but, also, as our internal programming language, used for all our productions, including itself, and, thus, constantly being tested by its conceptors.

Actually, Tom is our Louis Majorelle's house, a jewel of Art Nouveau – Nancy style: not only was it a life-sized exposition hall for his guests and potential clients, built with Majorelle's most advanced technology and craftsmanship, but the Majorelle family did live there, testing the construction everyday.

presentation.txt · Last modified: 2008/01/16 14:54 by pem
Back to top = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0