aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/common/lib/forth2012/core-ext/roll.frt
diff options
context:
space:
mode:
Diffstat (limited to 'amforth-6.5/common/lib/forth2012/core-ext/roll.frt')
-rw-r--r--amforth-6.5/common/lib/forth2012/core-ext/roll.frt7
1 files changed, 7 insertions, 0 deletions
diff --git a/amforth-6.5/common/lib/forth2012/core-ext/roll.frt b/amforth-6.5/common/lib/forth2012/core-ext/roll.frt
new file mode 100644
index 0000000..385c14a
--- /dev/null
+++ b/amforth-6.5/common/lib/forth2012/core-ext/roll.frt
@@ -0,0 +1,7 @@
+
+: roll ( x0 x1 .. xn n -- x1 .. xn x0 ) \ core-ext
+ dup 0> 0= if
+ drop
+ else
+ swap >r 1- recurse r> swap
+ then ;