From 837b22336eca418f37b627a734ef1887f6e27bcd Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Wed, 18 Apr 2012 12:00:24 -0700 Subject: [PATCH] classes.algebra: make class= and only-classoid? use short-circuit logic. --- core/classes/algebra/algebra.factor | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/classes/algebra/algebra.factor b/core/classes/algebra/algebra.factor index fcdab0eac6..078cace06b 100644 --- a/core/classes/algebra/algebra.factor +++ b/core/classes/algebra/algebra.factor @@ -67,7 +67,7 @@ M: anonymous-complement valid-classoid? class>> valid-classoid? ; M: object valid-classoid? drop f ; : only-classoid? ( obj -- ? ) - [ classoid? ] [ class? not ] bi and ; + dup classoid? [ class? not ] [ drop f ] if ; : class<= ( first second -- ? ) class<=-cache get [ (class<=) ] 2cache ; @@ -80,7 +80,7 @@ M: object valid-classoid? drop f ; } cond ; : class= ( first second -- ? ) - [ class<= ] [ swap class<= ] 2bi and ; + 2dup class<= [ swap class<= ] [ 2drop f ] if ; : class-not ( class -- complement ) class-not-cache get [ (class-not) ] cache ;