Exist a type tree of all types?

Hello,
I’am new. Exist a picture with a type tree of all Julia types?

Well, the type tree is kind of huge and gets dynamically extended by packages etc. Instead of trying to find and expect a static image, why not explore (branches of) it interactively? E.g.

julia> using AbstractTrees

julia> AbstractTrees.children(t::Type) = subtypes(t)

julia> print_tree(Number)
Number
├─ Complex
└─ Real
   ├─ AbstractFloat
   │  ├─ BigFloat
   │  ├─ Float16
   │  ├─ Float32
   │  └─ Float64
   ├─ AbstractIrrational
   │  └─ Irrational
   ├─ Integer
   │  ├─ Bool
   │  ├─ Signed
   │  │  ├─ BigInt
   │  │  ├─ Int128
   │  │  ├─ Int16
   │  │  ├─ Int32
   │  │  ├─ Int64
   │  │  └─ Int8
   │  └─ Unsigned
   │     ├─ UInt128
   │     ├─ UInt16
   │     ├─ UInt32
   │     ├─ UInt64
   │     └─ UInt8
   └─ Rational
8 Likes

Another package for this is TypeTree.jl:

using TypeTree
println(join(tt(Real), ""))

Real
 ├─ AbstractFloat
 │   ├─ BigFloat
 │   ├─ Float16
 │   ├─ Float32
 │   └─ Float64
 ├─ AbstractIrrational
 │   └─ Irrational
 ├─ Integer
 │   ├─ Bool
 │   ├─ Signed
 │   │   ├─ BigInt
 │   │   ├─ Int128
 │   │   ├─ Int16
 │   │   ├─ Int32
 │   │   ├─ Int64
 │   │   └─ Int8
 │   └─ Unsigned
 │       ├─ UInt128
 │       ├─ UInt16
 │       ├─ UInt32
 │       ├─ UInt64
 │       └─ UInt8
 └─ Rational
3 Likes
2 Likes

@cormullion, how on earth did you generate such a PDF “2129.48 cm wide x 16.8 cm tall” ??? :slight_smile:

I just used the Graphviz default settings, so the more nodes, the bigger the page. I think the biggest PDF page you can have is 15,000,000 inches square, or 38,000,000 cm, so there’s plenty of room for even more types… :rofl:

4 Likes