Added LOOP+ and expressed LOOP as a special case.
authorTim Vaughan <tgvaughan@gmail.com>
Tue, 26 Apr 2016 09:33:11 +0000 (21:33 +1200)
committerTim Vaughan <tgvaughan@gmail.com>
Tue, 26 Apr 2016 09:33:11 +0000 (21:33 +1200)
src/lib.4th

index c9e07bf..f4e9908 100644 (file)
 
 : I RSP@ 2- @ ;
 
-: LOOP IMMEDIATE
-        ' R> , ' R> , ' 1+ , ' 2DUP , ' - ,
+: LOOP+ IMMEDIATE
+        ' R> , ' R> , ' -ROT , ' + , ' 2DUP , ' - ,
         ' SWAP , ' >R , ' SWAP , ' >R ,
         ' 0<= , ' 0BRANCH ,
         HERE @ - ,
         ' RDROP , ' RDROP ,
 ;
 
+: LOOP IMMEDIATE
+    ' LIT , 1 ,
+    [COMPILE] LOOP+
+;
+
 
 \ COMMENTS ----------------------------------------------------------------------