I wouldn't worry too much about naming and if you want to take it over, its fine by me.
With respect to Warshall, the algorithm is computationally expensive: computing the
transitivity table for the Shen kernel takes about 26 seconds. However, once computed,
the table can be reused for any number of different programs. Ratatoskr may therefore
be faster for an individual program, but slower overall once the cost of constructing the
reusable transitivity table has been amortised.
FYI, here is the guts of it (64 loc) which works with the new stlib I just put up
(time (fdg ["KLambda\sequent.kl" "KLambda\sys.kl" "KLambda\toplevel.kl"
"KLambda\track.kl" "KLambda\t-star.kl" "KLambda\types.kl" "KLambda\writer.kl"
"KLambda\yacc.kl" "KLambda\backend.kl" "KLambda\core.kl" "KLambda\declarations.kl"
"KLambda\load.kl" "KLambda\macros.kl" "KLambda\prolog.kl" "KLambda\reader.kl"]))
run time: 26.375 secs
[[shen.<datatype-rules> shen.skip stoutput shen.a = if
shen.app cn pr shen.loading? and let < cond shen.overapplication? defun shen.*loading?* value - cons ... etc]