From a7fff4f1922adc905bc3267cf40fbdf0b5d5b776 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Fri, 27 Jul 2012 09:12:29 -0700 Subject: [PATCH] sequences: slightly faster ?last. --- core/sequences/sequences.factor | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index f6cdebcc9a..211d5d71c2 100644 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -177,7 +177,9 @@ PRIVATE> : ?first ( seq -- elt/f ) 0 swap ?nth ; inline : ?second ( seq -- elt/f ) 1 swap ?nth ; inline -: ?last ( seq -- elt/f ) [ length 1 - ] [ ?nth ] bi ; inline +: ?last ( seq -- elt/f ) + [ length 1 - ] keep over 0 < + [ 2drop f ] [ nth-unsafe ] if ; inline MIXIN: virtual-sequence GENERIC: virtual-exemplar ( seq -- seq' )