leonbohn / lama

Learning and Manipulation of Automata
MIT License
4 stars 0 forks source link

Introduce `Void` type to replace unit type `()` wherever possible #47

Closed leonbohn closed 8 months ago

leonbohn commented 8 months ago

This implements the Void type mentioned in #46 .

As a consequence, the trait bounds of most automata types have moved further out of the library core. This means that the underlying implementations BTS and HashTS only assume a minimum of bounds on the type of state and edge colors Q and C respectively. This means that the MooreLike and MealyLike traits have pretty much become useless, as they still require the user to specify a bound on the edges.

This will be addressed, once #35 is tackled since a better (unifying) Automaton type will allow Moore and Mealy machines to be simple type aliases for some specific instantiation of Automaton.