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

Add a diagram to show the relationship between typeclasses #95

Closed
julien-truffaut opened this issue Feb 6, 2015 · 13 comments
Closed

Add a diagram to show the relationship between typeclasses #95

julien-truffaut opened this issue Feb 6, 2015 · 13 comments

Comments

@julien-truffaut
Copy link
Contributor

Even something as basic as the diagram from semigroupoid would be very useful. We can iterate and make it look nicer on a second step.

@non
Copy link
Contributor

non commented Feb 6, 2015

This is a great idea 👍

@xuwei-k
Copy link
Contributor

xuwei-k commented Feb 6, 2015

@julien-truffaut
Copy link
Contributor Author

Awesome!

@joshmarcus
Copy link
Contributor

FWIW, I think the semigroupoid layout (text or not) is easier to digest and is a little more accessible.

@ceedubs
Copy link
Contributor

ceedubs commented Feb 6, 2015

Oh wow the boxes in @xuwei-k's diagram are links to the source. That's fantastic!

@stew
Copy link
Contributor

stew commented Jun 5, 2015

ok, so we have sat on this for way too many months. can someone just integrate the @xuwei-k into our docs somewhere?

Is this something we can regenerate easily when stuff chnages? @xuwei-k ?

@xuwei-k
Copy link
Contributor

xuwei-k commented Jun 5, 2015

@ceedubs ceedubs added this to the cats-0.1.0 milestone Jun 21, 2015
@non
Copy link
Contributor

non commented Jun 22, 2015

I really like the idea of auto-generating diagrams a la sbt-class-diagram. However, I decided to take a crack at making a graph by hand to see if I could use color and layout to help give folks a better intuition about what is going on: http://plastic-idolatry.com/erik/cats-graph.png.

What do you all think? Auto-generating the graph (and keeping it automatically-updated) is really nice, but I think having colors, method names, and a manually layout may be nice too.

@julien-truffaut
Copy link
Contributor Author

Nice, I think it is worth to have a hand made diagram, it can be much clearer and typeclasses should be pretty stable (in a few a releases).

@kevinwright
Copy link

Can we have the best of both worlds?

If sbt-class-diagram is already there, then it seems we're okay with a
dependency on graphviz.
So how doable is it to annotate typeclasses with colour and grouping hints
that get passed through to the dotty source?

On 22 June 2015 at 09:06, Julien Truffaut [email protected] wrote:

Nice, I think it is worth to have a hand made diagram, it can be much
clearer and typeclasses should be pretty stable (in a few a releases).


Reply to this email directly or view it on GitHub
https://github.com/non/cats/issues/95#issuecomment-114035082.

Kevin Wright
mail: [email protected]
gtalk / msn : [email protected]
quora: http://www.quora.com/Kevin-Wright
google+: http://gplus.to/thecoda
[email protected]
twitter: @thecoda
vibe / skype: kev.lee.wright
steam: kev_lee_wright

"My point today is that, if we wish to count lines of code, we should not
regard them as "lines produced" but as "lines spent": the current
conventional wisdom is so foolish as to book that count on the wrong side
of the ledger" ~ Dijkstra

@non
Copy link
Contributor

non commented Jun 22, 2015

@kevinwright That's an interesting idea.

@xuwei-k Do you think it would be possible to provide styling grouping hints to sbt-class-diagram? Do you have a sense of how well that might work?

@non
Copy link
Contributor

non commented Jun 22, 2015

(Also, here is the diagram for the C[_, _] type classes: http://plastic-idolatry.com/erik/cats-graph2.png)

@kailuowang
Copy link
Contributor

I am going count this as fixed by #1416

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants