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