Skip to content

Treat "Word Automata" as first-class objects #34

@shallit43

Description

@shallit43

Right now, "Word Automata" like T, F, TR, etc. are second-class objects in Walnut, in the sense that although you can use them in Walnut expressions, you can't return them as results (except in special cases, like in the "combine" command). This means that you have to do extra work if, for example, you want to define a new Word Automaton, say something that has the effect of defining a Word Automaton G such that G[n] := F[2*n+5].

There should be some way to create a Word Automaton directly by operations on other Word Automata, and maybe even ordinary automata, with the convention that an ordinary automaton is treated like a Word Automaton with outputs 1 ("true") and 0 ("false"). I don't see any reason, for example, that you shouldn't be able to define a new Word Automaton X by saying something like X[n] := T[2n+3]+RS[3n+4]. Or even something like X[n] = T[n] if n even and RS[n] if n odd.

Of course part of the issue here is figuring out exactly what would be allowed and what the right syntax should be...

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions