Vcsn issueshttps://gitlab.lre.epita.fr/vcsn/vcsn/-/issues2019-08-19T17:49:16+02:00https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/217Some tests fail on Archlinux (Job Failed #58431)2019-08-19T17:49:16+02:00Paul Hervotpaul.hervot@epita.frSome tests fail on Archlinux (Job Failed #58431)Job [#58431](https://gitlab.lrde.epita.fr/vcsn/vcsn/-/jobs/58431) failed for 01ed1e73d22d37136bb6b1a6a58f6b59b89e8dae:
This may again be an external tool update that changes its behavior, the new behavior not being handled by the testsu...Job [#58431](https://gitlab.lrde.epita.fr/vcsn/vcsn/-/jobs/58431) failed for 01ed1e73d22d37136bb6b1a6a58f6b59b89e8dae:
This may again be an external tool update that changes its behavior, the new behavior not being handled by the testsuite.2.8Paul Hervotpaul.hervot@epita.frPaul Hervotpaul.hervot@epita.frhttps://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/210Simplify printing of [...]2018-04-28T14:13:10+02:00Akim DemailleSimplify printing of [...]We still display lan/lal as `[...]?`. We should drop the `?`.We still display lan/lal as `[...]?`. We should drop the `?`.3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/208automaton::print: does not dynamic dispatch2018-03-11T15:11:08+01:00Akim Demailleautomaton::print: does not dynamic dispatchPrinting a conjunction for instance does not show the real state names.
`virtual` seems a good answer, but it does not work since `state_t` depends on the actual type of the automaton (to avoid that we mix states from different automato...Printing a conjunction for instance does not show the real state names.
`virtual` seems a good answer, but it does not work since `state_t` depends on the actual type of the automaton (to avoid that we mix states from different automaton types).3.0Akim DemailleAkim Demaillehttps://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/207Is-ambiguous: check whether the approach works with automata with spontaneous...2018-02-19T20:20:09+01:00Akim DemailleIs-ambiguous: check whether the approach works with automata with spontaneous transitionsThe code was not checking this precondition. See whether it actually works, or if a precondition must be added.
(Also applies to is-cycle-ambiguous).The code was not checking this precondition. See whether it actually works, or if a precondition must be added.
(Also applies to is-cycle-ambiguous).3.0Akim DemailleAkim Demaillehttps://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/206Conjunction: provide a special case for proper automata2018-02-11T15:06:49+01:00Akim DemailleConjunction: provide a special case for proper automataNot only is this faster, it also yields simpler (decorated) automata as they don't use `insplit`.
Once done, see if `is-ambiguous.hh` could be simplified to not have to deal with `insplit`.Not only is this faster, it also yields simpler (decorated) automata as they don't use `insplit`.
Once done, see if `is-ambiguous.hh` could be simplified to not have to deal with `insplit`.3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/205Rat: Copy does not preserve physical sharing2018-03-20T20:12:26+01:00Akim DemailleRat: Copy does not preserve physical sharingCopying something like `a{5}`, which uses a single `a`, ends in five copies of `a`.
And we also need a test for this.Copying something like `a{5}`, which uses a single `a`, ends in five copies of `a`.
And we also need a test for this.3.0Akim DemailleAkim Demaillehttps://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/204Context: display string_letter2018-04-28T14:11:13+02:00Akim DemailleContext: display string_letterCurrently we display `lal<string>` and `lal<char>` the same way: `[...]`.Currently we display `lal<string>` and `lal<char>` the same way: `[...]`.3.0Akim DemailleAkim Demaillehttps://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/201automatonset: complement produces an open context2018-02-03T14:31:47+01:00Akim Demailleautomatonset: complement produces an open contextIn `standard.py` we have:
```
check(qexp('[abc]*{c}'), zero('abc'))
```
It is commented because the lhs has an opened context, not the rhs. It was not seen before because we were not showing whether the context was open or not.In `standard.py` we have:
```
check(qexp('[abc]*{c}'), zero('abc'))
```
It is commented because the lhs has an opened context, not the rhs. It was not seen before because we were not showing whether the context was open or not.3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/198random_label: a functor?2017-10-31T06:51:12+01:00Akim Demaillerandom_label: a functor?random_weight can be used with a functor, which saves the repeated parsing of the params, especially in places like random_automaton or random_expression.
random_label should be similar.random_weight can be used with a functor, which saves the repeated parsing of the params, especially in places like random_automaton or random_expression.
random_label should be similar.3.0Akim DemailleAkim Demaillehttps://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/197is_proper_tape2017-10-31T06:49:12+01:00Akim Demailleis_proper_tapeThis property is weird. Do we really need it? It appears to be used in `is_free(automaton)`This property is weird. Do we really need it? It appears to be used in `is_free(automaton)`3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/196is deterministic, etc.2018-05-01T07:09:31+02:00Akim Demailleis deterministic, etc.In the process of moving to lal/lan, we now have algorithms that used to require a free labelset that no longer do. So for instance, `is_deterministic` used to refuse to work on lan, which was a problem btw when this lan automaton was p...In the process of moving to lal/lan, we now have algorithms that used to require a free labelset that no longer do. So for instance, `is_deterministic` used to refuse to work on lan, which was a problem btw when this lan automaton was proper. But now we have the converse issue: is_deterministic returns true on automaton which is deterministic if `\e` is viewed as a letter.
This is not acceptable. OpenFST does have this behaviour, but it would be a real nuisance when Vcsn is used for teaching: if you are not proper, you cannot be deterministic.
So we need an intermediate property, and make sure is-deterministic answers properly.
This applies to other properties. See in particular what `automaton.info` returns.3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/195expansions: stop denormalisation?2017-10-28T10:50:09+02:00Akim Demailleexpansions: stop denormalisation?3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/187expansions: check for possible ill-formed ones with `:` and `&:`2017-10-28T10:51:10+02:00Akim Demailleexpansions: check for possible ill-formed ones with `:` and `&:`Be sure we cannot generate things like `a.[0]`.Be sure we cannot generate things like `a.[0]`.3.0Akim DemailleAkim Demaillehttps://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/186identities: update documentation2017-10-31T06:25:22+01:00Akim Demailleidentities: update documentation- document the new identities about composition
- update sacs to mention the new ids- document the new identities about composition
- update sacs to mention the new ids3.0Akim DemailleAkim Demaillehttps://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/184scc: many issues2017-10-31T06:25:48+01:00Akim Demaillescc: many issuesCheck that files for:
- confusion bw num_of_states and states_size
- support of lazy-automata
- returns non-const references
- should rather return a copy with std::move
And check if there are other similar problems elsewhere.Check that files for:
- confusion bw num_of_states and states_size
- support of lazy-automata
- returns non-const references
- should rather return a copy with std::move
And check if there are other similar problems elsewhere.3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/183lightest: it does not support lazy automata2017-10-31T06:25:59+01:00Akim Demaillelightest: it does not support lazy automata```Python
a = exp1('abc').derived_term(lazy=True)
a.lightest()
```
return empty.
This is because we use a fixed size vector indexed by the number of states. But with lazy automata, this can change.
Automata should provide a state_map_...```Python
a = exp1('abc').derived_term(lazy=True)
a.lightest()
```
return empty.
This is because we use a fixed size vector indexed by the number of states. But with lazy automata, this can change.
Automata should provide a state_map_t structure that we should just be able to use.3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/176Fix naming conventions2017-07-25T10:51:02+02:00Akim DemailleFix naming conventionsUse `es` and `e` for expressions, and `xs`, `x` for expansions. Stop using `rs` and `r`, etc.Use `es` and `e` for expressions, and `xs`, `x` for expansions. Stop using `rs` and `r`, etc.3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/173Move to using signed `int`2017-07-25T10:51:02+02:00Akim DemailleMove to using signed `int`Using `unsigned` seems a good idea, but actually, there are plenty of good reasons not to. Check if we don't get faster on `int` transition_t, state_t, etc.Using `unsigned` seems a good idea, but actually, there are plenty of good reasons not to. Check if we don't get faster on `int` transition_t, state_t, etc.3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/172bin: use vcsn configuration2018-04-28T14:15:18+02:00Akim Demaillebin: use vcsn configurationA lot from vcsn.in can be removed: we no longer need to handle `@PYTHON@` etc., `configuration` should do it for us.A lot from vcsn.in can be removed: we no longer need to handle `@PYTHON@` etc., `configuration` should do it for us.3.0https://gitlab.lre.epita.fr/vcsn/vcsn/-/issues/170Context: more consistent printing2017-07-25T10:51:02+02:00Akim DemailleContext: more consistent printingIt is not nice to print `lal(a-z), b` as `{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}→𝔹`, it should be something like `[a-z]?→𝔹`.
When moving to lal is lan, we should be extra clear about this.It is not nice to print `lal(a-z), b` as `{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}→𝔹`, it should be something like `[a-z]?→𝔹`.
When moving to lal is lan, we should be extra clear about this.3.0