Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove State struct #17

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Commits on Oct 14, 2023

  1. Remove State struct

    The State struct is presumably intended to be used by users of Automa, such that
    all the information related to the state of an Automa machine, which needs to be
    stored in a BioJulia Reader type, is implemented one place.
    Presumably, the idea was that it would make it easier for users to reason about
    what is needed when implementing a reader.
    
    However, it's not a good idea for several reasons:
    1. It hardly makes it easier to reason about that users need to bring in this
       package in order to store a state related to Automa - if this struct should
       exist at all, it should be in Automa.jl
    2. It's debatable what kind of information needs to be stored, and this also
       depends on the specific reader type. For example, FASTX does not need to
       to store the `filled::Bool` field.
    3. It's easier to reason about for users and authors if all state related to a
       reader is stored in the reader itself, instead of in a field defined in
       another package
    4. This forces a dependency on TranscodingStreams on this package, which is
       unnecessary for most users of BioGenerics.
    jakobnissen committed Oct 14, 2023
    Configuration menu
    Copy the full SHA
    7d56bbe View commit details
    Browse the repository at this point in the history