Software development

"la créativité naît des contraintes et meurt de liberté." L. de Vinci


  • Since 2023, motivated by teaching purposes, I develop modeling, a SWI-Prolog pack for constraint-based mathematical modelling in Prolog:

    François Fages. A Constraint-based Mathematical Modeling Library in Prolog with Answer Constraint Semantics. In 17th International Symposium on Functional and Logic Programming, FLOPS 2024, LNCS. Springer-Verlag, 2024. [ preprint ]



I also supervised the development of:

  • ClpZinc a Horn clause front-end for the MiniZInc modelling language for expressing search strategies by constraints, developed by Thierry Martinez

  • MiniZinc-CMAES a stochastic optimization backend for the MiniZinc modelling language, developed by Thierry Martinez

  • FO-CTL(ℝlin), a constraint solver for full First-Order Computation Tree Logic with linear arithmetic over the reals, implemented by Thierry Martinez in 2012.

  • Rules2CP, a rule-based modelling language for constraint programming, implemented by Julien Martin from 2007 to 2009.

  • CHRat, a modular version of Constraint Handling Rules with ask and tell, implemented by Thierry Martinez in 2008.

  • TCLP, a type checker for Constraint Logic Programming, implemented by Emmanuel Coquery, from 2001 to 2006.

and in a former life at Thomson-CSF (now Thales)

  • I developed from 1986 to 1992 a rule-based reactive programming language, which became Ilog Rules (now IBM Ilog).

  • and from 1989 to 1996 a Prolog library for solving constraints over finite domains Meta(F) used for several applications at Thales

    Philippe Codognet, François Fages, Thierry Sola. A meta-level compiler for CLP(FD) and its combination with intelligent backtracking. In Constraint Logic Programming : Selected Research, pages 437–456. MIT Press, 1993. [ preprint ]

    and for teaching at X and ENS

    François Fages. Programmation Logique par Contraintes. In , Collection Cours de l'Ecole Polytechnique. Ed. Ellipses, Paris (192p), 1996. [ preprint ]