I think it could be an interesting project to build something with an interface kinda like Cthulhu.jl where instead of descending into @code_typed
, it displays a type hierarchy like this [1]:
Number (Core)
Complex (Base)
Real (Core)
AbstractFloat (Core)
BigFloat (Base.MPFR)
Float16 (Core)
Float32 (Core)
Float64 (Core)
AbstractIrrational (Base)
Irrational (Base)
Integer (Core)
Bool (Core)
Signed (Core)
BigInt (Base.GMP)
Int128 (Core)
Int16 (Core)
Int32 (Core)
Int64 (Core)
Int8 (Core)
Unsigned (Core)
UInt128 (Core)
UInt16 (Core)
UInt32 (Core)
UInt64 (Core)
UInt8 (Core)
Rational (Base)
and then the user can navigate through the hierarchy and see the output of methodswith
on each type, or the names exported by each module.
Perhaps that sort of functionality would help the OP?
[1] This type tree is generated by
function showtree(T::Type, level=0)
println("\t" ^ level, T, " ($(parentmodule(T)))")
for t in subtypes(T)
showtypetree(t, level+1)
end
end
showtree(Number)
which I adapted from Introducing Julia/Types - Wikibooks, open books for an open world.