Faster make-class<cache

release
slava 2006-07-24 04:34:59 +00:00
parent 5d78177abd
commit 6c4c36126a
1 changed files with 5 additions and 3 deletions

View File

@ -71,11 +71,13 @@ SYMBOL: class<cache
: class< ( cls1 cls2 -- ? )
class<cache get [ hash hash-member? ] [ (class<) ] if* ;
: smaller-classes ( class -- )
classes [ swap (class<) ] subset-with ;
: smaller-classes ( class seq -- )
[ swap (class<) ] subset-with ;
: make-class<cache ( -- hash )
classes [ dup smaller-classes [ dup ] map>hash ] map>hash ;
classes dup [
2dup swap smaller-classes [ dup ] map>hash
] map>hash nip ;
: with-class<cache ( quot -- )
[ make-class<cache class<cache set call ] with-scope ;