1. 29 Jun, 2016 3 commits
    • Akim Demaille's avatar
      tests: fix is-equivalent · 1bb14e0b
      Akim Demaille authored
      * tests/python/is-equivalent.py: Since we move to more `trivial`
      identities, this test was weakened, as the expressions were not just
      equivalent, but equal.
      1bb14e0b
    • Akim Demaille's avatar
      tests: style: prefer 'is None' · 9ae4dc69
      Akim Demaille authored
      * tests/python/demangle.py, tests/python/to-expression.py: here.
      9ae4dc69
    • Akim Demaille's avatar
      tests: style: create add.dir · f90c8c9c
      Akim Demaille authored
      * tests/python/add.dir/a1+b1.gv: New.
      * tests/python/add.dir/a1.gv: New.
      * tests/python/add.dir/ab+bc.gv: New.
      * tests/python/add.dir/b1.gv: New.
      * tests/python/add.dir/join.gv: New.
      * tests/python/add.py: Adjust.
      f90c8c9c
  2. 28 Jun, 2016 10 commits
    • Clément Gillard's avatar
      algos: provide more context to errors · 768b4ddc
      Clément Gillard authored
      Fixes #62. Give more information on what we were doing when the exception
      occurred.
      
      * vcsn/algos/determinize.hh,
      * vcsn/algos/proper.hh,
      * vcsn/algos/to-expression.hh,
      * vcsn/algos/weight-series.hh: Here.
      768b4ddc
    • Clément Gillard's avatar
      demangle: move to new module · 3b467866
      Clément Gillard authored
      See #77. Move `vcsn.demangle`, `vcsn.gdb-demangle` and `vcsn_config` to new module
      `vcsn_tools` to alleviate their importations.
      
      * python/vcsn/demangle.py, python/vcsn/gdb-demangle.py: Move to...
      * python/vcsn_tools/demangle.py,
      * python/vcsn_tools/gdb-demangle.py: Here.
      
      * python/vcsn_config.in.py: Move to...
      * python/vcsn_tools/config.in.py: Here.
      
      * python/vcsn_tools/__init__.py:
      Reference files that are in the build-tree aswell.
      
      * python/pylintrc: Ignore dynamically referenced module.
      
      * configure.ac, python/local.mk: Update configuration.
      
      * libexec/vcsn-compile, libexec/vcsn-demangle, libexec/vcsn-gdb,
      * libexec/vcsn-ps, python/vcsn/__init__.py, tests/python/demangle.py:
      Update imports.
      
      * tests/unit/pylint.chk: Check new module with Pylint.
      3b467866
    • Akim Demaille's avatar
      tafkit: document it · 94a0fa58
      Akim Demaille authored
      * doc/notebooks/Executables.ipynb: New.
      * doc/notebooks/!Read-me-first.ipynb: Fix page name.
      94a0fa58
    • Akim Demaille's avatar
      tafkit: avoid the duplicate definition of supported functions · 9903dd6a
      Akim Demaille authored
      * libexec/parse-args.hh, libexec/parse-args.cc (commands): New.
      * libexec/vcsn-tafkit.cc (-l, --list-commands): New.
      (--help): Use it.
      * bin/vcsn.in: Use it to avoid duplicating this list.
      9903dd6a
    • Akim Demaille's avatar
      tafkit: improve the command line interface · a139c091
      Akim Demaille authored
      Finally we can run `vcsn tafkit --help` and get something meaningful.
      Also, always strip the result, to avoid instantiation explosions.
      
      * libexec/parse-args.hh, libexec/parse-args.cc (vcsn_main): Remove.
      This used to exist when all the TAF-Kit programs were different programs.
      Since then, it's a unique program, vcsn-tafkit.
      (usage, version): Be public.
      More details.
      (parse_args): Don't change argc/argv.
      Interpret --help and --version.
      (print): Strip automata.
      * libexec/vcsn-tafkit.cc (main): Adjust.
      a139c091
    • Akim Demaille's avatar
      tafkit: improve error messages · edf0af69
      Akim Demaille authored
      Issue #62: avoid assert/abort when interacting with the user.
      
      * libexec/parse-args.cc, libexec/vcsn-tafkit.cc: Use vcsn::require.
      Avoid std::endl.
      Improve `-h`.
      edf0af69
    • Akim Demaille's avatar
      dyn: move values from dyn::details to dyn · ac17d422
      Akim Demaille authored
      The fact that a dyn::expression is actually a dyn::detail::value is a
      nuisance: ADL does not work for algorithms in dyn::.
      
      * vcsn/dyn/automaton.hh (automaton): Move from dyn::detail to dyn.
      * vcsn/dyn/context.hh (context): Move from dyn::detail to dyn.
      * vcsn/dyn/value.hh (dyn::detail::value): Rename as...
      (dyn::value_impl): this.
      * vcsn/dyn/algos.hh, vcsn/dyn/fwd.hh, lib/vcsn/algos/print.cc:
      Adjust.
      
      * tests/demo/prod-eval.cc: Simplify comments.  In particular, don't
      expect specific values for the input automata.
      ac17d422
    • Akim Demaille's avatar
      style: revamp demo/prod-eval · 0bc446e8
      Akim Demaille authored
      * tests/demo/prod-eval.cc: Clean up.
      * doc/notebooks/C++-Library.ipynb: Update.
      0bc446e8
    • Akim Demaille's avatar
      style: kill a few std::endl · a54b0897
      Akim Demaille authored
      * vcsn/algos/a-star.hh, vcsn/algos/are-isomorphic.hh,
      * vcsn/algos/epsilon-remover-separate.hh, vcsn/algos/epsilon-remover.hh,
      * vcsn/algos/to-expression.hh: here.
      a54b0897
    • Akim Demaille's avatar
      style: avoid using namespace in instantiate · dddd7fa8
      Akim Demaille authored
      This has proved to be troublesome in the past, and is about to become
      a nuisance with forthcoming changes in dyn.
      
      * vcsn/ctx/instantiate.hh, vcsn/ctx/lal_char_b.hh: Avoid `using namespace`,
      rather have `REGISTER` take care of these details.
      dddd7fa8
  3. 27 Jun, 2016 5 commits
    • Akim Demaille's avatar
      doc: polynomial.tuple · ec285a66
      Akim Demaille authored
      Issue #74.
      
      * doc/notebooks/polynomial.tuple.ipynb: New.
      * doc/notebooks/automaton.tuple.ipynb,
      * doc/notebooks/expression.tuple.ipynb: Work in Q.
      ec285a66
    • Akim Demaille's avatar
      doc: fixes · b67f93c4
      Akim Demaille authored
      * doc/notebooks/polynomial.operators.ipynb: `power` no longer exists.
      b67f93c4
    • Akim Demaille's avatar
      doc: expression.tuple · 2502aad4
      Akim Demaille authored
      Issue #73.
      
      * doc/notebooks/check-notebooks: Enable warnings.
      * doc/notebooks/automaton.tuple.ipynb: Update.
      * doc/notebooks/expression.tuple.ipynb: New.
      2502aad4
    • Akim Demaille's avatar
      docker: we also need pandas · 176814ab
      Akim Demaille authored
      * Dockerfile: here.
      176814ab
    • Clément Gillard's avatar
      ipython: check identifiers · 6f05e2bd
      Clément Gillard authored
      Check that the names we give to `%context` and `%automaton` are valid
      identifier names before registering them.
      While at it, make `%demo?` work.
      
      * python/vcsn/ipython.py: Here.
      6f05e2bd
  4. 26 Jun, 2016 3 commits
    • Akim Demaille's avatar
      package: rename NEWS.txt to NEWS.md to please Gitlab · 45617ad1
      Akim Demaille authored
      * NEWS.txt: Rename as...
      * NEWS.md: this.
      Fix a few compliance issues.
      * Makefile.am: Adjust.
      45617ad1
    • Akim Demaille's avatar
      score: errors go to stderr · 60f96365
      Akim Demaille authored
      * libexec/vcsn-score: here.
      60f96365
    • Akim Demaille's avatar
      errors: make them more verbose · ab153391
      Akim Demaille authored
      It is quite unclear to me whether this is a real improvement, or not.
      Well, let's say it _is_ an improvement, but it's not sufficent.  For
      instance on
      
          vcsn.automaton('''
          context = "lal, q"
          $ -> 0
          0 -> 1 <2+2>a
          1 -> $''')
      
      we go from:
      
          14.10-27: Q: invalid value: 2+2, unexpected +
      
      to:
      
          14.10-27: Q: unexpected +
            while reading: 2+2
            while reading: <2+2>a
            while reading automaton: digraph
          {
            vcsn_context = "lal, q"
            rankdir = LR
            edge [arrowhead = vee, arrowsize = .6]
            {
              node [shape = point, width = 0]
              I0 F1
            }
            node [shape = circle, style = rounded, width = 0.5]
      
            I0 -> 0
            0 -> 1 [label = "<2+2>a"]
            1 -> F1
          }
      
      See issue #62.
      
      * build-aux/bin/bindings-gen, vcsn/misc/stream.hh: Provide more
      context in parsing errors.
      ab153391
  5. 24 Jun, 2016 9 commits
    • Akim Demaille's avatar
      doc: minor improvements · c697ee91
      Akim Demaille authored
      * doc/notebooks/!Read-me-first.ipynb: Prefer `e` for expressions.
      Provide links to the documentation.
      c697ee91
    • Akim Demaille's avatar
      readme: update · d8474241
      Akim Demaille authored
      * README.txt: Convert into...
      * README.md: this, with pandoc.
      * internship.txt: Update.
      d8474241
    • Akim Demaille's avatar
      demangle: update dyn patterns · 87be053b
      Akim Demaille authored
      * python/vcsn/demangle.py: here.
      87be053b
    • Akim Demaille's avatar
      style: dyn: fix comments · ad247344
      Akim Demaille authored
      * vcsn/dyn/value.hh: here.
      Also, std::move on a const& does not make a lot of sense.
      ad247344
    • Akim Demaille's avatar
      todo: update · 31dc5e8f
      Akim Demaille authored
      * TODO.txt: here.
      31dc5e8f
    • Clément Gillard's avatar
      tests: ipython · 6822441d
      Clément Gillard authored
      Add a test for IPython's ability to import vcsn.
      
      * tests/unit/ipython.chk, tests/unit/ipython.ipy: Test IPython.
      * tests/unit/local.mk: Add test to suite.
      6822441d
    • Clément Gillard's avatar
      pylint: simplify check · a5755a2f
      Clément Gillard authored and Akim Demaille's avatar Akim Demaille committed
      Simplify the search for a good Pylint candidate.  See #61.
      
      * tests/unit/pylint.chk: Here.
      a5755a2f
    • Akim Demaille's avatar
      doc: minor fixes · 408fed55
      Akim Demaille authored
      Closes #73.
      
      * doc/notebooks/expression.infiltrate.ipynb,
      * doc/notebooks/expression.lift.ipynb,
      * doc/notebooks/expression.lweight.ipynb,
      * doc/notebooks/expression.rweight.ipynb,
      * doc/notebooks/expression.shuffle.ipynb:
      Tweak to my taste.
      408fed55
    • Clément Gillard's avatar
      doc: fix missing functions about expression · 2bd3137e
      Clément Gillard authored and Akim Demaille's avatar Akim Demaille committed
      See #73. Add missing documentation files about expressions' functions.
      While at it, fix wrong substitutions from ee92429c.
      
      * doc/notebooks/expression.infiltrate.ipynb,
      * doc/notebooks/expression.lift.ipynb,
      * doc/notebooks/expression.lweight.ipynb,
      * doc/notebooks/expression.rweight.ipynb,
      * doc/notebooks/expression.shuffle.ipynb: New files
      
      * doc/notebooks/Algorithms.ipynb,
      * doc/notebooks/check-notebooks,
      * doc/notebooks/local.mk: Update.
      
      * vcsn/algos/weight.hh: Fix substitutions.
      2bd3137e
  6. 23 Jun, 2016 7 commits
    • Akim Demaille's avatar
      ctx: more precompilation · 9d52fcd1
      Akim Demaille authored
      * vcsn/ctx/instantiate.hh: Add expression.infiltrate and
      expression.inductive.
      
      fixup! ctx: precompile expression.infiltrate
      9d52fcd1
    • Akim Demaille's avatar
      ctx: tidy the instantiation · f10c59a4
      Akim Demaille authored
      * vcsn/ctx/instantiate.hh (register_expression_functions): New.
      f10c59a4
    • Akim Demaille's avatar
      inductive: make it compilable with non-free labelsets · 91aced36
      Akim Demaille authored
      * vcsn/algos/inductive.hh: Use static-if where appropriate to report
      cases where we cannot run the corresponding algorithm.
      91aced36
    • Akim Demaille's avatar
      shuffle: reject automata on which we fail · a03bf960
      Akim Demaille authored
      See issue #86.
      
      * vcsn/algos/conjunction.hh: here.
      * tests/python/to-expansion.py: Disable the tests we can no longer run.
      a03bf960
    • Akim Demaille's avatar
      style: comment and error message changes · 3a4bd528
      Akim Demaille authored
      And unused variables/types.
      
      * vcsn/algos/conjunction.hh, vcsn/algos/inductive.hh,
      * vcsn/core/automatonset.hh, vcsn/ctx/instantiate.hh: here.
      3a4bd528
    • Akim Demaille's avatar
      polynomial: support abs · 0427308e
      Akim Demaille authored
      We cannot eliminate spontaneous transitions in automata weighted in
      Poly, as they may need an abs operation, which it doesn't provide yet.
      
      See issue #28.
      
      * vcsn/weightset/polynomialset.hh (abs): New.
      * vcsn/labelset/nullableset.hh (mul): New.
      
      * tests/python/proper.dir/lan-poly.1.in.gv,
      * tests/python/proper.dir/lan-poly.1.out.gv,
      * tests/python/proper.dir/lan-poly.2.fail.gv,
      * tests/python/proper.dir/lan-poly.3.fail.gv: New.
      * tests/python/proper.py: Use them.
      0427308e
    • Akim Demaille's avatar
      style: tests: refactor test for proper · eb74fede
      Akim Demaille authored
      Put test cases in files.
      
      * tests/python/proper.dir/lan-b.in.gv,
      * tests/python/proper.dir/lan-b.out.gv,
      * tests/python/proper.dir/lan-qr.in.gv,
      * tests/python/proper.dir/lan-qr.out.gv,
      * tests/python/proper.dir/lan-z.fail.gv,
      * tests/python/proper.dir/lan-z.in.gv,
      * tests/python/proper.dir/lan-z.out.gv,
      * tests/python/proper.dir/lao-r.in.gv,
      * tests/python/proper.dir/lao-r.out.gv,
      * tests/python/proper.dir/law-b.in.gv,
      * tests/python/proper.dir/law-b.out.gv,
      * tests/python/proper.dir/law-r.in.gv,
      * tests/python/proper.dir/law-r.out.gv:
      New.
      * tests/python/local.mk, tests/python/proper.py: Adjust.
      eb74fede
  7. 22 Jun, 2016 3 commits