(use tinyclos c3 test) (define O ) (define-class F (O) ()) (define-class E (O) ()) (define-class D (O) ()) (define-class C (D F) ()) (define-class B (D E) ()) (define-class A (B C) ()) (test-begin "c3") (test "Michele Simionato's example 1" (list A B C D E F ) (class-cpl A)) (define O ) (define-class F (O) ()) (define-class E (O) ()) (define-class D (O) ()) (define-class C (D F) ()) (define-class B (E D) ()) (define-class A (B C) ()) (test "Michele Simionato's example 2" (list A B E C D F ) (class-cpl A)) (define O ) (define-class A(O) ()) (define-class B(O) ()) (define-class C(O) ()) (define-class D(O) ()) (define-class E(O) ()) (define-class K1(A B C) ()) (define-class K2(D B E) ()) (define-class K3(D A) ()) (define-class Z(K1 K2 K3) ()) (test "Pedroni's example" (list Z K1 K2 K3 D A B C E ) (class-cpl Z)) (test-end) (test-exit)