]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/sequences/generalizations/generalizations.factor
sequences.generalizations: adding lastn, set-lastn, ?lastn.
[factor.git] / basis / sequences / generalizations / generalizations.factor
index 2abe30377ec26f3f67fd1ec62af5ed16d295c248..c0add96e78341feb0f7acdfe9ca08385dc8a2c56 100644 (file)
@@ -38,6 +38,15 @@ MACRO: set-firstn ( n -- quot )
 MACRO: ?firstn ( n -- quot )
     dup '[ _ f pad-tail _ firstn-unsafe ] ;
 
+: lastn ( seq n -- elts... )
+    [ tail-slice* ] [ firstn-unsafe ] bi ; inline
+
+: ?lastn ( seq n -- elts... )
+    [ f pad-head ] [ lastn ] bi ; inline
+
+: set-lastn ( elts... seq n -- )
+    [ tail-slice* ] [ set-firstn-unsafe ] bi ; inline
+
 : nappend ( n -- seq ) narray concat ; inline
 
 : nappend-as ( n exemplar -- seq )