Headfirst Search
In another post, I prattled on at some length about the scala Set
class. To understand its nuances, it was helpful to print out a graph of class and trait inheritance.
Here's a contrived example that's simpler than Set
:
trait C1 {}
trait C2 {}
trait D extends C1 with C2 {}
trait E1 extends D {}
trait E2 extends D {}
trait E3 extends C2 {}
trait F extends E1 with E2 with E3 {}
The hierarchy of F looks like:
C1 C2
\ / \
D \
/ \ \
E1 E2 E3
\ /__/
F
which the proposed utility will display as:
interface F
interface E1
interface D
interface C1
interface C2 …