Vcsn 2.1 (October 11th, 2015)
From LRDE
About 10,000 hours (on the calendar, not of work!) after its first public release, the Vcsn team is very happy to announce the release of Vcsn 2.1!
It is quite hard to cherry-pick a few new features that have been added in Vcsn 2.1, as shown by the 4k+ lines of NEWS since 2.0. However, here are a few headlines:
- Many pages of documentation and examples have been written (see http://www.lrde.epita.fr/dload/vcsn/2.1/notebooks).
- Now http://vcsn-sandbox.lrde.epita.fr/ provides a live demo.
- Transducers are much better supported, with improved syntax and several algorithms (e.g., letterize, synchronize, partial_identity, is_functional, etc.)
- Expressions now offer several sets of identities specifying how they should be normalized. More generally, input/output of expressions have been improved to match most users' expectations. New operators are accepted:
&
for conjunction,:
for shuffle,&:
for infiltration,{c}
(postfix) for complement, and<+
for deterministic choice. - When entering an automaton (e.g., with
%%automaton
in IPython) user state names are preserved. - Of course, many bugs were fixed, many algorithms were sped up, and internal details have been cleaned up.
- As Easter eggs, many features have also been added, but not advertised, until we are sure of how we want them to look like.
People who worked on this release:
- Akim Demaille
- Antoine Pietri
- Canh Luu
- Clément Démoulins
- Lucien Boilod
- Nicolas Barray
- Sébastien Piat
- Sylvain Lombardy
- Valentin Tolmer
- Yann Bourgeois--Copigny
People who influenced this release:
- Alexandre Duret-Lutz
- Jacques Sakarovitch
- Luca Saiu
Documentation
- Documentation of the Python interface
- The News File contains many examples
- The C++ reference manual is poor, yet not empty
Available Ports
- Docker
- Run this command to pull and start the Vcsn docker image on port 8888
docker run -d -p 8888:8888 lrde/vcsn:2.1
- Debian Jessie
- Run this command
echo 'deb http://www.lrde.epita.fr/repo/debian/ stable/' >/etc/apt/sources.list.d/lrde.list apt-get update apt-get install vcsn # Jupyter is not currently available on Debian apt-get install python3-pip python3-dev libzmq3-dev pip3 install jupyter
- Archlinux (AUR)
- Run this command:
yaourt -S vcsn
- MacPorts
- Run this command:
sudo port sync && sudo port install vcsn
Downloads
- Tarballs (sources to compile):
- vcsn-2.1.tar.bz2 (1.2MB)
- vcsn-2.1.tar.xz (968KB)
Requirements
In order to compile Vcsn 2.1, you need:
- C++ compiler
- Clang 3.6 or newer and GNU G++ 4.9 or newer are known to work properly.
- Graphviz
- The display of automata is made using AT&T Graphviz library. (On Ubuntu/Debian, install the following package: graphviz)
- Boost
- Boost (version 1.49 or later) provides free peer-reviewed portable C++ source libraries (at least the Boost.Python and Boost.Regex components, and probably others).
- Flex
- The Flex scanner generater, 2.5.37 or better.
- Ccache
- Compiler cache.
- Doxygen
- To build the C++ reference manual.
- IPython
- Although not strictly needed, it is required if you want to enjoy the Vcsn interactive notebooks.