From 3266422c50d94a1baf160229d129e2704d92a91d Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Fri, 22 Jul 2022 15:32:32 -0500 Subject: [PATCH] core: add negate --- core/kernel/kernel.factor | 4 +++- core/sequences/sequences.factor | 10 +++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/core/kernel/kernel.factor b/core/kernel/kernel.factor index e102818c4b..82e8553f5f 100644 --- a/core/kernel/kernel.factor +++ b/core/kernel/kernel.factor @@ -277,6 +277,8 @@ UNION: boolean POSTPONE: t POSTPONE: f ; : most ( x y quot -- z ) 2keep ? ; inline +: negate ( quot -- quot' ) [ not ] compose ; inline + ! Loops : loop ( ... pred: ( ... -- ... ? ) -- ... ) [ call ] keep [ loop ] curry when ; inline recursive @@ -291,7 +293,7 @@ UNION: boolean POSTPONE: t POSTPONE: f ; [ [ dup ] compose ] dip while drop ; inline : until ( ..a pred: ( ..a -- ..b ? ) body: ( ..b -- ..a ) -- ..b ) - [ [ not ] compose ] dip while ; inline + [ negate ] dip while ; inline ! Object protocol GENERIC: hashcode* ( depth obj -- code ) flushable diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index 5e7b01ef5d..00ce9f3f44 100644 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -538,7 +538,7 @@ PRIVATE> (2each) all-integers? ; inline : 2any? ( ... seq1 seq2 quot: ( ... elt1 elt2 -- ... ? ) -- ... ? ) - [ not ] compose 2all? not ; inline + negate 2all? not ; inline : 3each ( ... seq1 seq2 seq3 quot: ( ... elt1 elt2 elt3 -- ... ) -- ... ) (3each) each-integer ; inline @@ -593,7 +593,7 @@ PRIVATE> over filter-as ; inline : reject-as ( ... seq quot: ( ... elt -- ... ? ) exemplar -- ... subseq ) - [ [ not ] compose ] [ filter-as ] bi* ; inline + [ negate ] [ filter-as ] bi* ; inline : reject ( ... seq quot: ( ... elt -- ... ? ) -- ... subseq ) over reject-as ; inline @@ -785,7 +785,7 @@ PRIVATE> swap [ [ 0 0 ] dip (filter!) ] keep ; inline : reject! ( ... seq quot: ( ... elt -- ... ? ) -- ... seq ) - [ not ] compose filter! ; inline + negate filter! ; inline : remove! ( elt seq -- seq ) [ = ] with reject! ; @@ -1091,11 +1091,11 @@ PRIVATE> -- 2.34.1