It’s been a long time coming but over the longer weekend I finished rewriting of HOPS ↗ from python to rust. Throughout the rewriting, there were some new ideas of what could be included, unfinished parts of which are coded. Now, after a long time, I believe the resulting page to be in a better state than it was before so it was finally released. The biggest changes are as follows.

  • expanded the considered graph classes
  • completed rules for inference of transitive parameter bounds, which includes processing
    • equivalencies
    • mutually bounded parameters
    • parameters inferred from graph classes
    • combined parameters
  • completed rules for hiding inferences that are not needed in the Hasse diagram
  • added a table with overview of all pairwise parameter relations
  • initiated a templating system for creating handmade content
  • added generated content to the websites for sources
  • partitioned the project into code and the generated content, making it easier to control deployment

There are still many things that need to be done but I see that the project is getting somewhere. Some of the things that I plan are:

  • fill in sources for the relations that now have “unknown” source
  • add a rule where from $A<B$ and $A<C$ we can infer $A<B+C$
  • add new parameters, e.g. elimination distance, mim-width, etc.
  • fill in the blanks in the pairwise comparison table (vast majority is known, just unfilled right now)
  • add a page with some basic information about the formalisms displayed on the page
  • export the data into json and make it available through a static API – as json files placed on particular addresses
  • fill in some handcrafted content for the more popular parameters

One can imagine that in the future the website would provide an interactive mode and a way to create custom diagrams. These features, though possible, are too far to be considered for now. I may add some partial tools we used in the past for similar purposes or some tutorials but I will probably let development of interactive features to someone else.