The Lambda Lab
/
projects
/
scheme.forth.jl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
613a9d6
)
Tiny refactor.
author
Tim Vaughan
<tgvaughan@gmail.com>
Tue, 19 Jul 2016 08:33:23 +0000
(20:33 +1200)
committer
Tim Vaughan
<tgvaughan@gmail.com>
Tue, 19 Jul 2016 08:35:15 +0000
(20:35 +1200)
scheme.4th
patch
|
blob
|
history
diff --git
a/scheme.4th
b/scheme.4th
index
e2162be
..
1f02114
100644
(file)
--- a/
scheme.4th
+++ b/
scheme.4th
@@
-82,6
+82,20
@@
variable nextfree
: objeq? ( obj obj -- bool )
rot = -rot = and ;
: objeq? ( obj obj -- bool )
rot = -rot = and ;
+: 2rot ( a1 a2 b1 b2 c1 c2 -- b1 b2 c1 c2 a1 a2 )
+ >R >R ( a1 a2 b1 b2 )
+ 2swap ( b1 b2 a1 a2 )
+ R> R> ( b1 b2 a1 a2 c1 c2 )
+ 2swap
+;
+
+: -2rot ( a1 a2 b1 b2 c1 c2 -- c1 c2 a1 a2 b1 b2 )
+ 2swap ( a1 a2 c1 c2 b1 b2 )
+ >R >R ( a1 a2 c1 c2 )
+ 2swap ( c1 c2 a1 a2 )
+ R> R>
+;
+
\ }}}
\ ---- Pre-defined symbols ---- {{{
\ }}}
\ ---- Pre-defined symbols ---- {{{
@@
-725,7
+739,7
@@
defer eval
2swap definition-var 2swap ( env var val )
2swap definition-var 2swap ( env var val )
-
>R >R 2swap R> R> 2swap
( var val env )
+
2rot
( var val env )
define-var
ok-symbol
define-var
ok-symbol
@@
-739,7
+753,7
@@
defer eval
2swap assignment-var 2swap ( env var val )
2swap assignment-var 2swap ( env var val )
-
>R >R 2swap R> R> 2swap
( var val env )
+
2rot
( var val env )
set-var
ok-symbol
set-var
ok-symbol