]> gitweb.factorcode.org Git - factor.git/commitdiff
deprimitivize tuck and put it to pasture
authorJoe Groff <arcata@gmail.com>
Fri, 6 Nov 2009 04:47:05 +0000 (22:47 -0600)
committerJoe Groff <arcata@gmail.com>
Fri, 6 Nov 2009 04:47:05 +0000 (22:47 -0600)
basis/compiler/tests/intrinsics.factor
basis/compiler/tree/debugger/debugger.factor
basis/compiler/tree/propagation/recursive/recursive-tests.factor
basis/cpu/ppc/bootstrap.factor
basis/cpu/x86/bootstrap.factor
basis/inverse/inverse.factor
basis/shuffle/shuffle-docs.factor
basis/shuffle/shuffle.factor
basis/stack-checker/known-words/known-words.factor
core/bootstrap/primitives.factor
core/kernel/kernel-docs.factor

index a26ba5a27ac0575643281b26d7911a89b0ceafc1..b2159e9c095dd17e971140a71bad44eaec00db00 100755 (executable)
@@ -21,7 +21,6 @@ IN: compiler.tests.intrinsics
 [ 2 1 3 ] [ 1 2 3 [ swapd ] compile-call ] unit-test
 [ 2 ] [ 1 2 [ nip ] compile-call ] unit-test
 [ 3 ] [ 1 2 3 [ 2nip ] compile-call ] unit-test
-[ 2 1 2 ] [ 1 2 [ tuck ] compile-call ] unit-test
 [ 1 2 1 ] [ 1 2 [ over ] compile-call ] unit-test
 [ 1 2 3 1 ] [ 1 2 3 [ pick ] compile-call ] unit-test
 [ 2 1 ] [ 1 2 [ swap ] compile-call ] unit-test
index 4bf4cf88f02bb4efb92c0cd341d9977c12dff984..63f145d752a24aaf53474647f9de6e7c22a2e4f4 100644 (file)
@@ -51,7 +51,6 @@ MATCH-VARS: ?a ?b ?c ;
         { { { ?b ?a } { ?a ?b } } [ swap ] }
         { { { ?b ?a ?c } { ?a ?b ?c } } [ swapd ] }
         { { { ?a ?b } { ?a ?a ?b } } [ dupd ] }
-        { { { ?a ?b } { ?b ?a ?b } } [ tuck ] }
         { { { ?a ?b ?c } { ?a ?b ?c ?a } } [ pick ] }
         { { { ?a ?b ?c } { ?c ?a ?b } } [ -rot ] }
         { { { ?a ?b ?c } { ?b ?c ?a } } [ rot ] }
index 974bb584eba38b70b82bb59611e59a34908626ae..42325d97ca8ee132d59f2c86a2630a9aa19210a5 100644 (file)
@@ -27,14 +27,16 @@ IN: compiler.tree.propagation.recursive.tests
 ] unit-test
 
 [ t ] [
+    T{ interval f { -268435456 t } { 268435455 t } }
     T{ interval f { 1 t } { 268435455 t } }
-    T{ interval f { -268435456 t } { 268435455 t } } tuck
+    over
     integer generalize-counter-interval =
 ] unit-test
 
 [ t ] [
+    T{ interval f { -268435456 t } { 268435455 t } }
     T{ interval f { 1 t } { 268435455 t } }
-    T{ interval f { -268435456 t } { 268435455 t } } tuck
+    over
     fixnum generalize-counter-interval =
 ] unit-test
 
index c16d564e13751d96e07009048a791bb515565233..5d3caca20625c8040b70203af7d29aa03e5a24c3 100644 (file)
@@ -329,14 +329,6 @@ CONSTANT: rs-reg 14
     3 ds-reg 4 STWU\r
 ] \ dupd define-sub-primitive\r
 \r
-[\r
-    3 ds-reg 0 LWZ\r
-    4 ds-reg -4 LWZ\r
-    3 ds-reg 4 STWU\r
-    4 ds-reg -4 STW\r
-    3 ds-reg -8 STW\r
-] \ tuck define-sub-primitive\r
-\r
 [\r
     3 ds-reg 0 LWZ\r
     4 ds-reg -4 LWZ\r
index 98a51889629d87da7de27bc8ae5441928d3275bb..c993a1fdeca988b94cf5b253359b51ac23cc6030 100644 (file)
@@ -335,15 +335,6 @@ big-endian off
     ds-reg [] temp0 MOV
 ] \ dupd define-sub-primitive
 
-[
-    temp0 ds-reg [] MOV
-    temp1 ds-reg -1 bootstrap-cells [+] MOV
-    ds-reg bootstrap-cell ADD
-    ds-reg [] temp0 MOV
-    ds-reg -1 bootstrap-cells [+] temp1 MOV
-    ds-reg -2 bootstrap-cells [+] temp0 MOV
-] \ tuck define-sub-primitive
-
 [
     temp0 ds-reg [] MOV
     temp1 ds-reg bootstrap-cell neg [+] MOV
index 1e941afed05914db2be6554876ad32f8c1f8cd82..4ecb1e12a8a133e52f4db1bcd845bbf154927f6b 100755 (executable)
@@ -141,7 +141,6 @@ MACRO: undo ( quot -- ) [undo] ;
 \ 2dup [ over =/fail over =/fail ] define-inverse
 \ 3dup [ pick =/fail pick =/fail pick =/fail ] define-inverse
 \ pick [ [ pick ] dip =/fail ] define-inverse
-\ tuck [ swapd [ =/fail ] keep ] define-inverse
 
 \ bi@ 1 [ [undo] '[ _ bi@ ] ] define-pop-inverse
 \ tri@ 1 [ [undo] '[ _ tri@ ] ] define-pop-inverse
index ebb87eda7a66c2c3b2a37e9f97fd089c676115d2..363727a6c5c75fa8916f860a4dd22ee72d774653 100644 (file)
@@ -4,3 +4,4 @@ IN: shuffle
 HELP: spin  $complex-shuffle ;
 HELP: roll  $complex-shuffle ;
 HELP: -roll $complex-shuffle ;
+HELP: tuck  $complex-shuffle ;
index 4388aedb3e9d8a68171c0cc797f106fc76feed9a..0ff41edec621ffc1b74d33f0603b722539cc0228 100644 (file)
@@ -22,6 +22,8 @@ MACRO: shuffle-effect ( effect -- )
 SYNTAX: shuffle(
     ")" parse-effect suffix! \ shuffle-effect suffix! ;
 
+: tuck ( x y -- y x y ) swap over ; inline deprecated
+
 : spin ( x y z -- z y x ) swap rot ; inline deprecated
 
 : roll ( x y z t -- y z t x ) [ rot ] dip swap ; inline deprecated
index 26b122257f0292c3fbff5e2a5745c4296d59c0ed..db492f97feb9b06fe8d94b34be709b7a03239386 100644 (file)
@@ -43,7 +43,6 @@ IN: stack-checker.known-words
     { swapd (( x y z -- y x z       )) }
     { nip   (( x y   -- y           )) }
     { 2nip  (( x y z -- z           )) }
-    { tuck  (( x y   -- y x y       )) }
     { over  (( x y   -- x y x       )) }
     { pick  (( x y z -- x y z x     )) }
     { swap  (( x y   -- y x         )) }
index 07e5eee1c300256d2b2e4962006b4b609da7b997..702590516cb1ade9ebdc8e90c5831cbc65c605b2 100644 (file)
@@ -340,7 +340,6 @@ tuple
     { "swapd" "kernel" (( x y z -- y x z )) }
     { "nip" "kernel" (( x y -- y )) }
     { "2nip" "kernel" (( x y z -- z )) }
-    { "tuck" "kernel" (( x y -- y x y )) }
     { "over" "kernel" (( x y -- x y x )) }
     { "pick" "kernel" (( x y z -- x y z x )) }
     { "swap" "kernel" (( x y -- y x )) }
index 7327285ffd0bb79b5483bf964f412ffccb0682ba..9a4fd4495ac1c07780227ba2769528f3fc544cb6 100644 (file)
@@ -25,7 +25,6 @@ HELP: rot   ( x y z -- y z x ) $complex-shuffle ;
 HELP: -rot  ( x y z -- z x y ) $complex-shuffle ;
 HELP: dupd  ( x y -- x x y )   $complex-shuffle ;
 HELP: swapd ( x y z -- y x z ) $complex-shuffle ;
-HELP: tuck  ( x y -- y x y )   $complex-shuffle ;
 
 HELP: datastack ( -- ds )
 { $values { "ds" array } }
@@ -820,7 +819,6 @@ $nl
 "Duplicating stack elements deep in the stack:"
 { $subsections
     dupd
-    tuck
 }
 "Permuting stack elements deep in the stack:"
 { $subsections