Skip to content

Conversation

@jakobnissen
Copy link
Member

This PR picks up some of the remaining work from Elek's recent refactoring of cluster printing. It simplifies the logical flow of contig printing by reducing the number of functions.

The logic is more clear about when printing happens: It now separates the cluster writing into two functions: One clusters and writes the associated files while clustering. Another function, used e.g. when reclustering, merely writes the files.

This commit also:

  • Fixes a bunch of type errors, making the code pass typecheck
  • More thoroughly encodes the state into the type system: i.e. if arguments A and B are needed together, or not at all, they are condensed in a single variable of type Option[tuple[A, B]].

This PR picks up some of the remaining work from Elek's recent refactoring
of cluster printing. It simplifies the logical flow of contig printing by
reducing the number of functions.

The logic is more clear about when printing happens: It now separates the
cluster writing into two functions: One clusters and writes the associated files
while clustering. Another function, used e.g. when reclustering, merely writes
the files.

This commit also:
* Fixes a bunch of type errors, making the code pass typecheck
* More thoroughly encodes the state into the type system: i.e. if arguments
  A and B are needed together, or not at all, they are condensed in a single
  variable of type Option[tuple[A, B]].
@jakobnissen jakobnissen merged commit 7826426 into master Aug 27, 2025
8 checks passed
@jakobnissen jakobnissen deleted the typefix branch August 27, 2025 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants