Diagram with all Julia types?


#1

Hello.

Is there any big diagram showing all Julia types together?

I’ve found several partial diagrams such as



But do you know where can find a diagram with all these (and more) together?


#2

I recognise two of those graphs… :slight_smile:

A graph showing most of them is a PDF 2129.48 cm wide and only 16.8 cm tall. About 70 feet wide. It could be an interesting project to get it printed.

Here’s what the left hand end of the graph looks like (it’s about 5% of the image):

Here’s an interesting section to the right:


#3

A script that prints an ASCII diagram can be found in the Julia repository: https://github.com/JuliaLang/julia/blob/master/examples/typetree.jl.


#4

Great.
I guess it would be easier to read it if it were vertical.
How could I generate it vertically?


#5

A bit more manageable at only 20 feet tall. Here’s the top of it:

I’m not sure it’s very useful; you’d do better to explore the areas you’re interested in at the REPL…


#6

An interactive “browser” showing super-, sub-, and sibling types could be an interesting project though.


#7

There is typetree.jl (probably not up to date for v0.6).

See there for the v0.2 tree produced by typetree.jl. Here is a link to the previous julia forum on google groups that discusses the topic of producing a diagram of the types tree.


#8

The type graph is big because all functions are subtypes of the function type. If you remove the function type and its subtypes, the graph becomes far more reasonable to display.


#9

I think this graph view is the preferred method some use to learn a codebase. // i.e. not just Julia’s type system

Maybe it could be generalized along the lines brought forward in: