
About four hundred commits and five months after Vcsn 2.2, we are proud to announce the release of Vcsn 2.3, code-named "the tuple release"! http://vcsn.lrde.epita.fr/Vcsn2.3 As usual, many bugs were fixed (some quite old yet unnoticed so far!). Noteworthy changes include: - a particular effort was put on the documentation: there are thirty-five new documentation notebooks, and about forty others were improved. - full support for a "tuple" operator on all entities: expressions, polynomials, automata, etc. In [13]: aut = lambda e: vcsn.context('lan, q').expression(e).automaton() In [14]: a = aut('[ab]*') | aut('x') In [15]: a.shortest(6) Out[15]: \e|x + a|x + b|x + aa|x + ab|x + ba|x It is also available in the rational expressions themselves: In [16]: c = vcsn.context('lat<lan, lan>, q'); c Out[16]: {...}? x {...}? -> Q In [17]: e = c.expression('[ab]*|x'); e Out[17]: (a+b)*|x In [18]: e.shortest(6) Out[18]: \e|x + a|x + b|x + aa|x + ab|x + ba|x The derived-term algorithm supports this operator, and generates equivalent multitape automata. - many error messages were improved, to help users understand their mistakes. For instance, instead of In [2]: vcsn.Q.expression('a**').derivation('a') RuntimeError: q: star: invalid value: 1 we now display: In [2]: vcsn.Q.expression('a**').derivation('a') RuntimeError: Q: value is not starrable: 1 while computing derivative of: a** with respect to: a Besides, longuish stack traces under Python are now filtered from internal details. - in addition to `%automaton a`, which allows interactive edition of automata, the notebooks now feature two new interactive editors: `%context c` to edit/create context `c`, and `%expression e` for expressions (with an interactive display of the generated automata). - one may now generate random rational expressions and control the operators and their probabilities. - a lot of code improvement and consistency enforcement, both in C++ and in Python. For more details, please, see the news page (see below). People who worked on this release: - Akim Demaille - Clément Gillard - Lucien Boillod - Raoul Billion - Sébastien Piat - Thibaud Michaud People who influenced this release: - Alexandre Duret-Lutz - Jacques Sakarovitch - Luca Saiu - Sylvain Lombardy Vcsn 2.3: http://vcsn.lrde.epita.fr/Vcsn2.3 News page: http://vcsn.lrde.epita.fr/News_File Vcsn: http://vcsn.lrde.epita.fr Playground: http://vcsn-sandbox.lrde.epita.fr Doc: https://vcsn.lrde.epita.fr/dload/2.3/notebooks/!Read-me-first.html