]> gitweb.factorcode.org Git - factor.git/commitdiff
classes.predicate: faster predicate-def for anonymous-predicate
authorJohn Benediktsson <mrjbq7@gmail.com>
Fri, 13 Oct 2023 17:46:52 +0000 (10:46 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 13 Oct 2023 17:47:35 +0000 (10:47 -0700)
core/classes/predicate/predicate.factor

index 356a97c10cd43e848547b3a4cd721abfe898855a..31639c4f0cc712c82c89ac19995fe0b3a4bc1d2d 100644 (file)
@@ -44,13 +44,13 @@ M: predicate-class (flatten-class)
 M: predicate-class (classes-intersect?)
     superclass-of classes-intersect? ;
 
-M: anonymous-predicate predicate-def 
-    '[ _ 2dup instance? 
-        [ predicate>> call( obj -- ? ) ] [ 2drop f ] if ] ;
+M: anonymous-predicate predicate-def
+    [ class>> ] [ predicate>> ] bi
+    '[ dup _ instance? _ [ drop f ] if ] ;
 
 M: anonymous-predicate instance?
-    2dup class>> instance? 
-        [ predicate>> call( object -- ? ) ] [ 2drop f ] if ;
+    2dup class>> instance?
+    [ predicate>> call( object -- ? ) ] [ 2drop f ] if ;
 
 M: anonymous-predicate class-name
     class>> class-name ;