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 ;