From bca13622f52fbf368d142115bcc00eaf83f7ac4d Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Fri, 8 Mar 2013 23:04:31 -0800 Subject: [PATCH] classes: use faster closure in class-usages. --- core/classes/classes.factor | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/core/classes/classes.factor b/core/classes/classes.factor index 6970f88767..e2cad4bf5e 100644 --- a/core/classes/classes.factor +++ b/core/classes/classes.factor @@ -1,8 +1,9 @@ ! Copyright (C) 2004, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors assocs combinators definitions graphs kernel +USING: accessors assocs combinators definitions kernel make namespaces quotations sequences sets words words.symbol ; FROM: namespaces => set ; +FROM: graphs => add-vertex remove-vertex ; QUALIFIED: sets IN: classes @@ -132,7 +133,20 @@ GENERIC: implementors ( class/classes -- seq ) : class-usage ( class -- seq ) update-map get at ; -: class-usages ( class -- seq ) [ class-usage ] closure keys ; + + +: class-usages ( class -- seq ) + [ class-usage keys ] closure sets:members ; M: class implementors implementors-map get at sets:members ;