Update typeclasses.md
Update the infographic to modern cats/cats-effect versions
Thank you for contributing to Cats!
This is a kind reminder to run sbt +prePR and commit the changed files, if any, before submitting.
thanks for doing this.
I haven't reviewed all the links, but when I view the new svg I see Bimonad arrow to Monad going to the center of the Monad node, not the edge, like the other cases. Do you see that?
Secondly, I think the URL should be a URL that typelevel controls, not a user (so even the tpolecat URL had this problem). I wonder if we could just commit the SVG to the ghpages branch for this repo? I'm not very experienced with all the issues with that here though.
I think the URL should be a URL that typelevel controls
Totally 👍 for that. It is quite annoying that even having all the doc sources fetched in a local repo we still have to fetch the SVG (which is supposed to be a part of the docs) from elsewhere.
I wonder though, how is that SVG got generated? Can we integrate it with the docs build somehow?
I wonder though, how is that SVG got generated? Can we integrate it with the docs build somehow?
See https://github.com/tpolecat/cats-infographic
It appears to be an "OmniGraffle" file. Might be complicated to integrate into the build.
Laika will hopefully be getting support for Mermaid diagrams soon.
- https://github.com/planet42/Laika/issues/331
- https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams#creating-mermaid-diagrams
Maybe we can make a similar diagram using that.
Thanks for comments, I'll try to update graph and move it to this repo later
Hi. I decided to put just plain SVG file. It think it would be better to edit it manually when something in typeclass hierarchy is changed.
@tsobako fyi: in Cats 2.7.0 there was NonEmptyAlternative added that became a base trait for Alternative:
https://github.com/typelevel/cats/blob/d30be68a69e75324fdf1b81d6230a5c161c87fc3/core/src/main/scala/cats/NonEmptyAlternative.scala#L24
UPD. Looking at the diagram I am not sure if it is easy to squeeze NonEmptyAlternative into it. But if it was possible, it would be really cool. Anyway, it looks great, thanks!
Hi. I removed SVG diagram as it was too hard to find good editor that does not break graph structure. So I decided to rewrite the diagram into mermaid format which is easier to read.
Hi. A mermaid diagram which contains all typeclasses is hard to read, so I group typeclasses belonging to different cats libraries into several diagrams. Please review and comment
Seems like this PR got stuck for some reason. I think it is because the most recent CI failed. Just wondering, is it failing due to issues with the update itself or is it just due to CI flakiness?
It's CI flake. But I think this PR is blocked until Laika supports Mermaid.
- https://github.com/planet42/Laika/issues/331
@tsobako see some discussion/commentary in https://github.com/typelevel/cats/issues/4374#issuecomment-1383394310.