From 4322e5f6146aeb211464d9a6e4350bfd3d9b9c49 Mon Sep 17 00:00:00 2001 From: ruv <2678296+ruv@users.noreply.github.com> Date: Wed, 27 Mar 2024 22:13:55 +0300 Subject: [PATCH] FIX double.fs -- missed immediacy `IMMEDIATE` is missed for `2LITERAL` and R-words. --- double.fs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/double.fs b/double.fs index ba0ce20..5690933 100644 --- a/double.fs +++ b/double.fs @@ -11,10 +11,10 @@ primitive 2@ : 2CONSTANT ( x1 x2 -- ) CREATE , , DOES> 2@ ; primitive POSTPONE -: 2>R ( x1 x2 -- ) ( R: -- x2 x1 ) POSTPONE >R POSTPONE >R ; -: 2R> ( R: x1 x2 -- ) ( -- x2 x1 ) POSTPONE R> POSTPONE R> ; -: 2R@ ( R: x1 x2 -- x1 x2 ) ( -- x2 x1 ) POSTPONE 2R> POSTPONE 2DUP POSTPONE 2>R ; +: 2>R ( x1 x2 -- ) ( R: -- x2 x1 ) POSTPONE >R POSTPONE >R ; IMMEDIATE +: 2R> ( R: x1 x2 -- ) ( -- x2 x1 ) POSTPONE R> POSTPONE R> ; IMMEDIATE +: 2R@ ( R: x1 x2 -- x1 x2 ) ( -- x2 x1 ) POSTPONE 2R> POSTPONE 2DUP POSTPONE 2>R ; IMMEDIATE : 2ROT ( d1 d2 d3 -- d2 d3 d1 ) 2>R 2SWAP 2R> 2SWAP ; primitive LITERAL -: 2LITERAL ( x1 x2 -- ) SWAP POSTPONE LITERAL POSTPONE LITERAL ; +: 2LITERAL ( x1 x2 -- ) SWAP POSTPONE LITERAL POSTPONE LITERAL ; IMMEDIATE