From 61371713b7f384d8520379d90d68818984cc6aef Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Tue, 28 Jul 2009 11:51:47 -0500 Subject: [PATCH] Move set-last from circular.private to sequences --- basis/circular/circular.factor | 3 +-- basis/hints/hints.factor | 4 ++++ core/sequences/sequences.factor | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/basis/circular/circular.factor b/basis/circular/circular.factor index d47b954ecf..9995567ec8 100644 --- a/basis/circular/circular.factor +++ b/basis/circular/circular.factor @@ -43,11 +43,10 @@ TUPLE: growing-circular < circular length ; M: growing-circular length length>> ; > length ] bi = ; -: set-last ( elt seq -- ) - [ length 1- ] keep set-nth ; PRIVATE> : push-growing-circular ( elt circular -- ) diff --git a/basis/hints/hints.factor b/basis/hints/hints.factor index cfd6329b1d..d10bd5f8a9 100644 --- a/basis/hints/hints.factor +++ b/basis/hints/hints.factor @@ -83,6 +83,10 @@ SYNTAX: HINTS: \ push { { vector } { sbuf } } "specializer" set-word-prop +\ last { { vector } } "specializer" set-word-prop + +\ set-last { { object vector } } "specializer" set-word-prop + \ push-all { { string sbuf } { array vector } { byte-array byte-vector } } "specializer" set-word-prop diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index 6eea872343..55d4bc9be9 100755 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -633,6 +633,8 @@ PRIVATE> : last ( seq -- elt ) [ length 1 - ] [ nth ] bi ; +: set-last ( elt seq -- ) [ length 1 - ] keep set-nth ; + : pop* ( seq -- ) [ length 1 - ] [ shorten ] bi ;