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
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…
4 Likes