]> gitweb.factorcode.org Git - factor.git/commitdiff
replace add* and add with prefix and suffix
authorEduardo Cavazos <dharmatech@finkelstein.stackeffects.info>
Tue, 1 Apr 2008 00:18:05 +0000 (18:18 -0600)
committerEduardo Cavazos <dharmatech@finkelstein.stackeffects.info>
Tue, 1 Apr 2008 00:18:05 +0000 (18:18 -0600)
62 files changed:
core/alien/c-types/c-types.factor
core/alien/compiler/compiler.factor
core/alien/structs/structs-docs.factor
core/alien/structs/structs.factor
core/classes/algebra/algebra.factor
core/classes/classes.factor
core/classes/mixin/mixin.factor
core/classes/tuple/tuple.factor
core/combinators/combinators.factor
core/cpu/x86/assembler/assembler.factor
core/cpu/x86/intrinsics/intrinsics.factor
core/cpu/x86/sse2/sse2.factor
core/generic/generic.factor
core/generic/standard/standard.factor
core/inference/backend/backend.factor
core/inference/class/class.factor
core/inference/dataflow/dataflow.factor
core/inference/transforms/transforms.factor
core/io/encodings/encodings.factor
core/optimizer/known-words/known-words.factor
core/optimizer/specializers/specializers.factor
core/parser/parser.factor
core/slots/slots.factor
core/splitting/splitting.factor
core/vocabs/loader/loader.factor
core/vocabs/vocabs.factor
extra/benchmark/fasta/fasta.factor
extra/cfdg/cfdg.factor
extra/color-picker/color-picker.factor
extra/delegate/delegate.factor
extra/editors/editors.factor
extra/faq/faq.factor
extra/fry/fry.factor
extra/help/markup/markup.factor
extra/koszul/koszul.factor
extra/lazy-lists/lazy-lists.factor
extra/locals/locals.factor
extra/logging/logging.factor
extra/lsys/tortoise/graphics/graphics.factor
extra/math/combinatorics/combinatorics.factor
extra/multi-methods/multi-methods.factor
extra/opengl/gl/extensions/extensions.factor
extra/oracle/oracle.factor
extra/parser-combinators/parser-combinators.factor
extra/peg/peg.factor
extra/project-euler/043/043.factor
extra/project-euler/common/common.factor
extra/qualified/qualified.factor
extra/regexp/regexp.factor
extra/regexp2/regexp2.factor
extra/sequences/lib/lib.factor
extra/springies/springies.factor
extra/state-machine/state-machine.factor
extra/tetris/board/board.factor
extra/tools/deploy/backend/backend.factor
extra/tools/vocabs/vocabs.factor
extra/tools/walker/walker.factor
extra/ui/commands/commands-docs.factor
extra/ui/gadgets/grid-lines/grid-lines.factor
extra/ui/gadgets/panes/panes.factor
extra/unix/process/process.factor
extra/xmode/rules/rules.factor

index d874243d717f93a8f77638f40fd379baa4b84d29..ae99f9e6bf591741ad0a0ebf4bca751b04c51430 100755 (executable)
@@ -45,7 +45,7 @@ GENERIC: c-type ( name -- type ) foldable
 
 : parse-array-type ( name -- array )
     "[" split unclip
-    >r [ "]" ?tail drop string>number ] map r> add* ;
+    >r [ "]" ?tail drop string>number ] map r> prefix ;
 
 M: string c-type ( name -- type )
     CHAR: ] over member? [
@@ -162,7 +162,7 @@ DEFER: >c-ushort-array
     >r >c-ushort-array r> byte-array>memory ;
 
 : (define-nth) ( word type quot -- )
-    >r heap-size [ rot * ] swap add* r> append define-inline ;
+    >r heap-size [ rot * ] swap prefix r> append define-inline ;
 
 : nth-word ( name vocab -- word )
     >r "-nth" append r> create ;
@@ -199,12 +199,12 @@ M: long-long-type box-return ( type -- )
     f swap box-parameter ;
 
 : define-deref ( name vocab -- )
-    >r dup CHAR: * add* r> create
-    swap c-getter 0 add* define-inline ;
+    >r dup CHAR: * prefix r> create
+    swap c-getter 0 prefix define-inline ;
 
 : define-out ( name vocab -- )
     over [ <c-object> tuck 0 ] over c-setter append swap
-    >r >r constructor-word r> r> add* define-inline ;
+    >r >r constructor-word r> r> prefix define-inline ;
 
 : c-bool> ( int -- ? )
     zero? not ;
@@ -257,7 +257,7 @@ M: long-long-type box-return ( type -- )
     #! staging violations
     dup array? [
         unclip >r [ dup word? [ word-def call ] when ] map
-        r> add*
+        r> prefix
     ] when ;
 
 : malloc-file-contents ( path -- alien len )
index 3e0062c85ac150a1c351c70f8fa19954aa522423..1a9d5b5392044e2d5ad30e693d2a86872c54b308 100755 (executable)
@@ -18,7 +18,7 @@ IN: alien.compiler
 
 : alien-node-parameters* ( node -- seq )
     dup parameters>>
-    swap return>> large-struct? [ "void*" add* ] when ;
+    swap return>> large-struct? [ "void*" prefix ] when ;
 
 : alien-node-return* ( node -- ctype )
     return>> dup large-struct? [ drop "void" ] when ;
index 6c7775de2bb289d3d6d23159ccaabd84ba23152a..e7e576293fe3df422923737a74c2753f22d9649b 100755 (executable)
@@ -8,7 +8,7 @@ kernel words slots assocs namespaces ;
     dup ?word-name swap 2array
     over slot-spec-name
     rot slot-spec-type 2array 2array
-    [ { $instance } swap add ] assoc-map ;
+    [ { $instance } swap suffix ] assoc-map ;
 
 : $spec-reader-values ( slot-spec class -- )
     ($spec-reader-values) $values ;
@@ -16,9 +16,9 @@ kernel words slots assocs namespaces ;
 : $spec-reader-description ( slot-spec class -- )
     [
         "Outputs the value stored in the " ,
-        { $snippet } rot slot-spec-name add ,
+        { $snippet } rot slot-spec-name suffix ,
         " slot of " ,
-        { $instance } swap add ,
+        { $instance } swap suffix ,
         " instance." ,
     ] { } make $description ;
 
@@ -43,9 +43,9 @@ M: word slot-specs "slots" word-prop ;
 : $spec-writer-description ( slot-spec class -- )
     [
         "Stores a new value to the " ,
-        { $snippet } rot slot-spec-name add ,
+        { $snippet } rot slot-spec-name suffix ,
         " slot of " ,
-        { $instance } swap add ,
+        { $instance } swap suffix ,
         " instance." ,
     ] { } make $description ;
 
index e5de8ab83e7d0e20837a6f9b755a675e40840bc1..491f4351a34df69716a712424b843204cbf8c848 100755 (executable)
@@ -16,7 +16,7 @@ IN: alien.structs
     ] reduce ;
 
 : define-struct-slot-word ( spec word quot -- )
-    rot slot-spec-offset add* define-inline ;
+    rot slot-spec-offset prefix define-inline ;
 
 : define-getter ( type spec -- )
     [ set-reader-props ] keep
index 2945bd254646fe1f41d0adbc33da15b84ca8f08e..5d7c114cbca126e49266c70a0c819e63a24ee1df 100755 (executable)
@@ -138,10 +138,10 @@ C: <anonymous-complement> anonymous-complement
     members>> [ class-and ] with map <anonymous-union> ;\r
 \r
 : left-anonymous-intersection-and ( first second -- class )\r
-    >r members>> r> add <anonymous-intersection> ;\r
+    >r members>> r> suffix <anonymous-intersection> ;\r
 \r
 : right-anonymous-intersection-and ( first second -- class )\r
-    members>> swap add <anonymous-intersection> ;\r
+    members>> swap suffix <anonymous-intersection> ;\r
 \r
 : (class-and) ( first second -- class )\r
     {\r
@@ -158,10 +158,10 @@ C: <anonymous-complement> anonymous-complement
     } cond ;\r
 \r
 : left-anonymous-union-or ( first second -- class )\r
-    >r members>> r> add <anonymous-union> ;\r
+    >r members>> r> suffix <anonymous-union> ;\r
 \r
 : right-anonymous-union-or ( first second -- class )\r
-    members>> swap add <anonymous-union> ;\r
+    members>> swap suffix <anonymous-union> ;\r
 \r
 : (class-or) ( first second -- class )\r
     {\r
index 435c7413a35e6971101baacabc32a35283cf876b..d6d1a7212151c490c08df33d045ffffa5fc9ca61 100755 (executable)
@@ -72,7 +72,7 @@ M: word reset-class drop ;
 
 ! update-map
 : class-uses ( class -- seq )
-    dup members swap superclass [ add ] when* ;
+    dup members swap superclass [ suffix ] when* ;
 
 : class-usages ( class -- assoc )
     [ update-map get at ] closure ;
index eb6b3bd6e2a8c462bca13a3cd20ee479276105c9..b771aa89208dc6bb6e8d73b8b30749110a77073d 100755 (executable)
@@ -35,7 +35,7 @@ TUPLE: check-mixin-class mixin ;
     swap redefine-mixin-class ; inline
 
 : add-mixin-instance ( class mixin -- )
-    [ 2drop ] [ [ add ] change-mixin-class ] if-mixin-member? ;
+    [ 2drop ] [ [ suffix ] change-mixin-class ] if-mixin-member? ;
 
 : remove-mixin-instance ( class mixin -- )
     [ [ swap remove ] change-mixin-class ] [ 2drop ] if-mixin-member? ;
index a452d0eeece69fa7235857d8fc76cd3ba73d7c40..fcce6a7b454900a9b296ef937e1bb14556b39b9e 100755 (executable)
@@ -34,7 +34,7 @@ PRIVATE>
 : tuple>array ( tuple -- array )
     dup tuple-layout
     [ layout-size swap [ array-nth ] curry map ] keep
-    layout-class add* ;
+    layout-class prefix ;
 
 : >tuple ( seq -- tuple )
     dup first tuple-layout <tuple> [
index e19847dbd4155a2e87697fab8e015a5e89d64d43..484c7ab730cd3ad3e73d0b4c11168c2db1e2f6aa 100755 (executable)
@@ -43,7 +43,7 @@ ERROR: no-case ;
 : with-datastack ( stack quot -- newstack )
     datastack >r
     >r >array set-datastack r> call
-    datastack r> swap add set-datastack 2nip ; inline
+    datastack r> swap suffix set-datastack 2nip ; inline
 
 : recursive-hashcode ( n obj quot -- code )
     pick 0 <= [ 3drop 0 ] [ rot 1- -rot call ] if ; inline
@@ -66,7 +66,7 @@ M: hashtable hashcode*
     reverse [ no-cond ] swap alist>quot ;
 
 : linear-case-quot ( default assoc -- quot )
-    [ >r [ dupd = ] curry r> \ drop add* ] assoc-map
+    [ >r [ dupd = ] curry r> \ drop prefix ] assoc-map
     alist>quot ;
 
 : (distribute-buckets) ( buckets pair keys -- )
index 796388ffe1c06fb417401f6ef64fe486a1819295..a3ab256ea1936b198a00968d9894e7cc1dd0d9f5 100755 (executable)
@@ -230,7 +230,7 @@ UNION: operand register indirect ;
 
 : opcode-or ( opcode mask -- opcode' )
     swap dup array?
-    [ 1 cut* first rot bitor add ] [ bitor ] if ;
+    [ 1 cut* first rot bitor suffix ] [ bitor ] if ;
 
 : 1-operand ( op reg rex.w opcode -- )
     #! The 'reg' is not really a register, but a value for the
index f5409a24f54d3065eb09c4d27c46550f8634fdd8..261ada025b3ae4e93fb67dd56de310d99ae4961f 100755 (executable)
@@ -156,7 +156,7 @@ IN: cpu.x86.intrinsics
 
 ! Fixnums
 : fixnum-op ( op hash -- pair )
-    >r [ "x" operand "y" operand ] swap add r> 2array ;
+    >r [ "x" operand "y" operand ] swap suffix r> 2array ;
 
 : fixnum-value-op ( op -- pair )
     H{
@@ -251,7 +251,7 @@ IN: cpu.x86.intrinsics
 \ fixnum- \ SUB overflow-template
 
 : fixnum-jump ( op inputs -- pair )
-    >r [ "x" operand "y" operand CMP ] swap add r> 2array ;
+    >r [ "x" operand "y" operand CMP ] swap suffix r> 2array ;
 
 : fixnum-value-jump ( op -- pair )
     { { f "x" } { [ small-tagged? ] "y" } } fixnum-jump ;
index 98e42fa7fe26fbfc0a443b1ee52819e968698715..9c477b413252d7f10648cf895e47385d5e7160e7 100755 (executable)
@@ -8,7 +8,7 @@ math.floats.private layouts quotations ;
 IN: cpu.x86.sse2
 
 : define-float-op ( word op -- )
-    [ "x" operand "y" operand ] swap add H{
+    [ "x" operand "y" operand ] swap suffix H{
         { +input+ { { float "x" } { float "y" } } }
         { +output+ { "x" } }
     } define-intrinsic ;
@@ -23,7 +23,7 @@ IN: cpu.x86.sse2
 ] each
 
 : define-float-jump ( word op -- )
-    [ "x" operand "y" operand UCOMISD ] swap add
+    [ "x" operand "y" operand UCOMISD ] swap suffix
     { { float "x" } { float "y" } } define-if-intrinsic ;
 
 {
index 131b7e57c9b9f67225df8fef96babfafc8bc11ee..7dba7eb7091bbd0e677b78002efefb5f99a7f81d 100755 (executable)
@@ -157,7 +157,7 @@ M: assoc update-methods ( assoc -- )
 
 M: generic subwords
     dup "methods" word-prop values
-    swap "default-method" word-prop add ;
+    swap "default-method" word-prop suffix ;
 
 M: generic forget-word
     dup subwords [ forget ] each (forget-word) ;
index 4447c5a2640c75473d568b31d7d9d9256118839a..13b5278735c0bd23e8da482419006dd7d7479aeb 100755 (executable)
@@ -34,8 +34,8 @@ ERROR: no-method object generic ;
 : empty-method ( word -- quot )
     [
         picker % [ delegate dup ] %
-        unpicker over add ,
-        error-method \ drop add* , \ if ,
+        unpicker over suffix ,
+        error-method \ drop prefix , \ if ,
     ] [ ] make ;
 
 : class-predicates ( assoc -- assoc )
@@ -137,7 +137,7 @@ ERROR: no-method object generic ;
     ] if ;
 
 : standard-methods ( word -- alist )
-    dup methods swap default-method add*
+    dup methods swap default-method prefix
     [ 1quotation ] assoc-map ;
 
 M: standard-combination make-default-method
index 2a2e6995eb264413f6b11e166dd5ce368a021e55..5ca9b1b2e774db56be4cd66426f6fee1ee545468 100755 (executable)
@@ -92,7 +92,7 @@ M: wrapper apply-object
     r> recursive-state set ;
 
 : infer-quot-recursive ( quot word label -- )
-    recursive-state get -rot 2array add* infer-quot ;
+    recursive-state get -rot 2array prefix infer-quot ;
 
 : time-bomb ( error -- )
     [ throw ] curry recursive-state get infer-quot ;
@@ -109,7 +109,7 @@ TUPLE: recursive-quotation-error quot ;
         dup value-literal callable? [
             dup value-literal
             over value-recursion
-            rot f 2array add* infer-quot
+            rot f 2array prefix infer-quot
         ] [
             drop bad-call
         ] if
@@ -430,7 +430,7 @@ M: #call-label collect-recursion*
     [ [ swap collect-recursion* ] curry each-node ] { } make ;
 
 : join-values ( node -- )
-    collect-recursion [ node-in-d ] map meta-d get add
+    collect-recursion [ node-in-d ] map meta-d get suffix
     unify-lengths unify-stacks
     meta-d [ length tail* ] change ;
 
index ed36ca489064ea12d12f2d23fab4d2eeea18f5e7..4aac98ce410954943b8584fa5e7b1f36a37ca969 100755 (executable)
@@ -289,7 +289,7 @@ M: #label infer-classes-around ( #label -- )
     dup annotate-node
     dup infer-classes-before
     dup infer-children
-    dup collect-recursion over add
+    dup collect-recursion over suffix
     pick annotate-entry
     node-child (infer-classes) ;
 
index 0b6cf040283a79eac079153e5445ddcd0d7a44f7..7fa2fbbcd3da32e5a9798dd5335f2feb76273b83 100755 (executable)
@@ -205,7 +205,7 @@ UNION: #branch #if #dispatch ;
         2dup 2slip rot [
             2drop t
         ] [
-            >r dup node-children swap node-successor add r>
+            >r dup node-children swap node-successor suffix r>
             [ node-exists? ] curry contains?
         ] if
     ] [
index 200208c6a5be9eb1032121134ee74f8277d545ea..4cfe0432a5fa0b73ce20f7da0ef76e8d4144f56c 100755 (executable)
@@ -56,7 +56,7 @@ M: pair (bitfield-quot) ( spec -- quot )
     [ shift bitor ] append 2curry ;
 
 : bitfield-quot ( spec -- quot )
-    [ (bitfield-quot) ] map [ 0 ] add* concat ;
+    [ (bitfield-quot) ] map [ 0 ] prefix concat ;
 
 \ bitfield [ bitfield-quot ] 1 define-transform
 
index 2ef26096e08234f46975632beb19119e9e8c7a62..398fb6a068462a46fcabfee236b3617078bdaef2 100755 (executable)
@@ -59,7 +59,7 @@ M: tuple <decoder> f decoder construct-boa ;
     over decoder-cr [
         over cr-
         "\n" ?head [
-            over stream-read1 [ add ] when*
+            over stream-read1 [ suffix ] when*
         ] when
     ] when nip ;
 
index aef48452de11a94905152fba478fe744596f7d9a..108c715ef09254ff75d036a6dee01d3718453229 100755 (executable)
@@ -60,7 +60,7 @@ sequences.private combinators ;
     [ value-literal sequence? ] [ drop f ] if ;
 
 : member-quot ( seq -- newquot )
-    [ [ t ] ] { } map>assoc [ drop f ] add [ nip case ] curry ;
+    [ [ t ] ] { } map>assoc [ drop f ] suffix [ nip case ] curry ;
 
 : expand-member ( #call -- )
     dup node-in-d peek value-literal member-quot f splice-quot ;
index 560a174289139b8696b7c0e3366130f87c51ff09..cbdb1b9ec4af6a93802852ab64f01af7d13ac200 100755 (executable)
@@ -32,7 +32,7 @@ IN: optimizer.specializers
 \r
 : method-declaration ( method -- quot )\r
     dup "method-generic" word-prop dispatch# object <array>\r
-    swap "method-class" word-prop add* ;\r
+    swap "method-class" word-prop prefix ;\r
 \r
 : specialize-method ( quot method -- quot' )\r
     method-declaration [ declare ] curry prepend ;\r
index 36e5decd05caac01b3ab23b7e8808af153a0b2db..58c68a3614b302305944a0470151dd8b9a05a961 100755 (executable)
@@ -294,7 +294,7 @@ M: no-word-error summary
     scan {
         { ";" [ tuple f ] }
         { "<" [ scan-word ";" parse-tokens ] }
-        [ >r tuple ";" parse-tokens r> add* ]
+        [ >r tuple ";" parse-tokens r> prefix ]
     } case ;
 
 ERROR: staging-violation word ;
index dfd5c1b32a113bf993a037de2877fb7b9521c372..945678a0d81aa87f8cb666efc719c9736216f7c0 100755 (executable)
@@ -14,7 +14,7 @@ C: <slot-spec> slot-spec
     >r create-method r> define ;
 
 : define-slot-word ( class slot word quot -- )
-    rot >fixnum add* define-typecheck ;
+    rot >fixnum prefix define-typecheck ;
 
 : reader-quot ( decl -- quot )
     [
index 9be1d5fc64a532575485c6071baa62b74ca28fb4..260a08c0447090236c46dd17493e11c1801ef50b 100755 (executable)
@@ -76,5 +76,5 @@ INSTANCE: groups sequence
             1 head-slice* [
                 "\r" ?tail drop "\r" split
             ] map
-        ] keep peek "\r" split add concat
+        ] keep peek "\r" split suffix concat
     ] if ;
index 57947eefb031cc89c9b93ba2f8bb2ce5c354aa3a..1489750154be7d5b35b765850b456de802144cb4 100755 (executable)
@@ -20,7 +20,7 @@ V{
 
 : vocab-dir+ ( vocab str/f -- path )
     >r vocab-name "." split r>
-    [ >r dup peek r> append add ] when*
+    [ >r dup peek r> append suffix ] when*
     "/" join ;
 
 : vocab-dir? ( root name -- ? )
index 886417b715a73df72ef31e5a9c4e0d8050686342..a6a5a014a77a7db52eeb49a730bc281b728e8850 100755 (executable)
@@ -82,7 +82,7 @@ SYMBOL: load-vocab-hook ! ( name -- )
 
 : child-vocab? ( prefix name -- ? )
     2dup = pick empty? or
-    [ 2drop t ] [ swap CHAR: . add head? ] if ;
+    [ 2drop t ] [ swap CHAR: . suffix head? ] if ;
 
 : child-vocabs ( vocab -- seq )
     vocab-name vocabs [ child-vocab? ] with subset ;
index 30c3beb1ef43449b46c878e9eae5cfb9128536e1..215b677e1620a934d8fb794de841a35dc5c81ef4 100755 (executable)
@@ -49,7 +49,7 @@ HINTS: random fixnum ;
 
 : make-cumulative ( freq -- chars floats )
     dup keys >byte-array
-    swap values >float-array unclip [ + ] accumulate swap add ;
+    swap values >float-array unclip [ + ] accumulate swap suffix ;
 
 :: select-random ( seed chars floats -- seed elt )
     floats seed random -rot
index 8a1d93aceb25a8e2b9ce7617fd2452fc303b7443..63fd55a550a3235a126b9e1ba9d7181cc92268ff 100644 (file)
@@ -32,7 +32,7 @@ VAR: color
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-: hsva>rgba ( hsva -- rgba ) [ 3 head hsv>rgb ] [ peek ] bi add ;
+: hsva>rgba ( hsva -- rgba ) [ 3 head hsv>rgb ] [ peek ] bi suffix ;
 
 : gl-set-hsba ( hsva -- ) hsva>rgba gl-color ;
 
index 647c83d667e82b3c62abe2d193276d2bfd159b1a..0480235dfee43c35e9655e1cccdaf83ce2ec207f 100755 (executable)
@@ -21,7 +21,7 @@ M: color-preview model-changed
     swap model-value over set-gadget-interior relayout-1 ;
 
 : <color-model> ( model -- model )
-    [ [ 256 /f ] map 1 add <solid> ] <filter> ;
+    [ [ 256 /f ] map 1 suffix <solid> ] <filter> ;
 
 : <color-sliders> ( -- model gadget )
     3 [ drop 0 0 0 255 <range> ] map
index 7f24d6258fc605a5e512da69553407d4f6ae42a7..eadd1a03e818b355cc32bcb8b1c69c0a0921d00c 100755 (executable)
@@ -27,7 +27,7 @@ M: tuple-class group-words
     swap [ slot-spec-writer ] map append ;
 
 : define-consult-method ( word class quot -- )
-    pick add >r swap create-method r> define ;
+    pick suffix >r swap create-method r> define ;
 
 : define-consult ( class group quot -- )
     >r group-words swap r>
index 85d58e75728f9b4cdbc2b50a11592ef409572a51..c442dfaa94d43180513b66cf70ca694a5f819a82 100755 (executable)
@@ -43,7 +43,7 @@ SYMBOL: edit-hook
 
 : fix ( word -- )
     "Fixing " write dup pprint " and all usages..." print nl
-    dup usage swap add* [
+    dup usage swap prefix [
         "Editing " write dup .
         "RETURN moves on to the next usage, C+d stops." print
         flush
index c6d9cd04d292a3d17efbc766982522078bad8e29..1022a02d7ed8622dc2208eedada3b91a7fefb224 100644 (file)
@@ -69,7 +69,7 @@ C: <faq> faq
 
 : html>faq ( div -- faq )
     unclip swap { "h3" "ol" } [ tags-named ] with map
-    first2 >r f add* r> [ html>question-list ] 2map <faq> ;
+    first2 >r f prefix r> [ html>question-list ] 2map <faq> ;
 
 : header, ( faq -- )
     dup faq-header ,
index 490ce992ab5092768fa3f9a16ff9eae1026e8039..d983bd271564dc979217e83e56eb4067a58e3003 100755 (executable)
@@ -28,7 +28,7 @@ DEFER: (fry)
             ! to avoid confusion, remove if fry goes core
             { namespaces:, [ [ curry ] ((fry)) ] }
 
-            [ swap >r add r> (fry) ]
+            [ swap >r suffix r> (fry) ]
         } case
     ] if ;
 
index 5dc7255eed45248b0a4d431c4bf6333f3b07b4a4..e933894674f0bc459061be3b3d029e8c905bc003 100755 (executable)
@@ -235,7 +235,7 @@ M: string ($instance)
 
 : values-row ( seq -- seq )
     unclip \ $snippet swap ?word-name 2array
-    swap dup first word? [ \ $instance add* ] when 2array ;
+    swap dup first word? [ \ $instance prefix ] when 2array ;
 
 : $values ( element -- )
     "Inputs and outputs" $heading
index f286690d37254fbd133b90da4b2646fdb86c6dc5..add37173b753a043aee9d1e5e0cee917f8640540 100755 (executable)
@@ -184,7 +184,7 @@ DEFER: (d)
     [ length ] keep [ (graded-ker/im-d) ] curry map ;
 
 : graded-betti ( generators -- seq )
-    basis graded graded-ker/im-d flip first2 1 head* 0 add* v- ;
+    basis graded graded-ker/im-d flip first2 1 head* 0 prefix v- ;
 
 ! Bi-graded for two-step complexes
 : (bigraded-ker/im-d) ( u-deg z-deg bigraded-basis -- null/rank )
@@ -203,7 +203,7 @@ DEFER: (d)
     [ basis graded ] bi@ tensor bigraded-ker/im-d
     [ [ [ first ] map ] map ] keep
     [ [ second ] map 2 head* { 0 0 } prepend ] map
-    1 tail dup first length 0 <array> add
+    1 tail dup first length 0 <array> suffix
     [ v- ] 2map ;
 
 ! Laplacian
index 52cca64b2f3ab1bb2a3adc55b7d1353247428376..f642d8881c99323df14a2c77b3af56d3f5cec2b5 100644 (file)
@@ -365,7 +365,7 @@ M: lazy-concat nil? ( lazy-concat -- bool )
     drop nil
   ] [
     [ car ] keep cdr [ car lcartesian-product ] keep cdr list>array swap [
-      swap [ swap [ add ] lmap-with ] lmap-with lconcat
+      swap [ swap [ suffix ] lmap-with ] lmap-with lconcat
     ] reduce
   ] if ;
 
index 5da0225be9e83cd2be6dd45de85d78322cf0fe9b..fe4bd65c149bbcaaf59f11e09c8b4696a391cb32 100755 (executable)
@@ -108,7 +108,7 @@ UNION: special local quote local-word local-reader local-writer ;
 : point-free-end ( quot args -- newquot )
     over peek special?
     [ drop-locals >r >r peek r> localize r> append ]
-    [ drop-locals nip swap peek add ]
+    [ drop-locals nip swap peek suffix ]
     if ;
 
 : (point-free) ( quot args -- newquot )
@@ -130,9 +130,9 @@ GENERIC: free-vars ( form -- vars )
 
 : add-if-free ( vars object -- vars )
   {
-      { [ dup local-writer? ] [ "local-reader" word-prop add ] }
-      { [ dup lexical? ]      [ add ] }
-      { [ dup quote? ]        [ quote-local add ] }
+      { [ dup local-writer? ] [ "local-reader" word-prop suffix ] }
+      { [ dup lexical? ]      [ suffix ] }
+      { [ dup quote? ]        [ quote-local suffix ] }
       { [ t ]                 [ free-vars append ] }
   } cond ;
 
index 42545500a553d1cce769fd688a94bd7078887826..664337c3d3ec78f9c1e8526a1629c1e507233975 100755 (executable)
@@ -17,7 +17,7 @@ SYMBOL: CRITICAL
     { DEBUG NOTICE NOTICE WARNING ERROR CRITICAL } ;\r
 \r
 : send-to-log-server ( array string -- )\r
-    add* "log-server" get send ;\r
+    prefix "log-server" get send ;\r
 \r
 SYMBOL: log-service\r
 \r
index d8429e7aaf97159f8a7d5f5f2362c7f5c441d29b..87536476eeeb115a377975479d53c9e3f5fa5c93 100644 (file)
@@ -77,7 +77,7 @@ VAR: color-table
   { 0.25 0.25 0.25 } ! dark grey
   { 0.75 0.75 0.75 } ! medium grey
   { 1    1    1 }    ! white
-} [ 1 add ] map >color-table ;
+} [ 1 suffix ] map >color-table ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
index 99a098ca097bc134ef4e89948c7c3b0329c4bc49..487d9828ea3d4bc2094b14f8c4474b42534dabe1 100644 (file)
@@ -18,7 +18,7 @@ IN: math.combinatorics
     0 [ over 0 > ] [ 1+ [ /mod ] keep swap ] [ ] unfold reverse 2nip ;
 
 : (>permutation) ( seq n -- seq )
-    [ [ dupd >= [ 1+ ] when ] curry map ] keep add* ;
+    [ [ dupd >= [ 1+ ] when ] curry map ] keep prefix ;
 
 : >permutation ( factoradic -- permutation )
     reverse 1 cut [ (>permutation) ] each ;
index ac62fb08f98f553d5f4257e16f170a4144ca59b5..5ea19bc95747341531dc00de3d940e94864e0147 100755 (executable)
@@ -191,14 +191,14 @@ M: hook-combination generic-prologue
     [ delete-at ] with-methods ;
 
 : method>spec ( method -- spec )
-    dup method-classes swap method-generic add* ;
+    dup method-classes swap method-generic prefix ;
 
 : parse-method ( -- quot classes generic )
     parse-definition dup 2 tail over second rot first ;
 
 : METHOD:
     location
-    >r parse-method [ define-method ] 2keep add* r>
+    >r parse-method [ define-method ] 2keep prefix r>
     remember-definition ; parsing
 
 ! For compatibility
index 01725ee9a9daf644a29da902d054e69b8b3993ac..fd9be4eb1291d90d1bd667f6d2279b4de7bdebf6 100644 (file)
@@ -38,7 +38,7 @@ reset-gl-function-number-counter
     gl-function-calling-convention
     scan
     scan dup
-    scan drop "}" parse-tokens swap add*
+    scan drop "}" parse-tokens swap prefix
     gl-function-number
     [ gl-function-pointer ] 2curry swap
     ";" parse-tokens [ "()" subseq? not ] subset
index d725de5994d9dc4474aa9045f33a06a676630593..a30ce648542d6bc95c7b21518bffcaf02f9c3c72 100644 (file)
@@ -236,13 +236,13 @@ C: <connection> connection
 
 : fetch-each ( object -- object )
     fetch-statement [
-        buf get alien>char-string res get swap add res set
+        buf get alien>char-string res get swap suffix res set
         fetch-each
     ] [ ] if ;
 
 : run-query ( object -- object )
     execute-statement [
-        buf get alien>char-string res get swap add res set
+        buf get alien>char-string res get swap suffix res set
         fetch-each
     ] [ ] if ;
 
index d6aacf9645f110346c105d4bf3c9d2f491487230..d8fccfb8f9f5b5050d276997187b07564f290956 100755 (executable)
@@ -132,7 +132,7 @@ TUPLE: and-parser parsers ;
 
 : <&> ( parser1 parser2 -- parser )
     over and-parser? [
-        >r and-parser-parsers r> add
+        >r and-parser-parsers r> suffix
     ] [
         2array
     ] if and-parser construct-boa ;
@@ -239,11 +239,11 @@ M: some-parser parse ( input parser -- result )
 
 : <:&> ( parser1 parser2 -- result )
     #! Same as <&> except flatten the result.
-    <&> [ first2 add ] <@ ;
+    <&> [ first2 suffix ] <@ ;
 
 : <&:> ( parser1 parser2 -- result )
     #! Same as <&> except flatten the result.
-    <&> [ first2 swap add* ] <@ ;
+    <&> [ first2 swap prefix ] <@ ;
 
 : <:&:> ( parser1 parser2 -- result )
     #! Same as <&> except flatten the result.
index 68aab7d82043fc49f534df3ba83b93443584a990..514a29781e5e58b42f56fd1be4b9ff82335dd28d 100755 (executable)
@@ -104,7 +104,7 @@ C: <head> peg-head
 :: (setup-lr) ( r l s -- )
   s head>> l head>> eq? [
     l head>> s (>>head)
-    l head>> [ s rule>> add ] change-involved-set drop
+    l head>> [ s rule>> suffix ] change-involved-set drop
     r l s next>> (setup-lr)
   ] unless ;
 
@@ -136,7 +136,7 @@ C: <head> peg-head
           h [ p heads get at ]
         |
     h [
-      m r h involved-set>> h rule>> add member? not and [
+      m r h involved-set>> h rule>> suffix member? not and [
         fail p <memo-entry>
       ] [
         r h eval-set>> member? [
index ffe3a4bca14d6b6474c42c7cbef5f4388f9a38d0..cf09277f31ba09c0314b2fe0dd1b4baf05a41f54 100644 (file)
@@ -76,10 +76,10 @@ PRIVATE>
     dup first 2 tail* swap second 2 head = ;
 
 : clean ( seq -- seq )
-    [ unclip 1 head add* concat ] map [ all-unique? ] subset ;
+    [ unclip 1 head prefix concat ] map [ all-unique? ] subset ;
 
 : add-missing-digit ( seq -- seq )
-    dup natural-sort 10 seq-diff first add* ;
+    dup natural-sort 10 seq-diff first prefix ;
 
 : interesting-pandigitals ( -- seq )
     17 candidates { 13 11 7 5 3 2 } [
index 087b216b3a848cfd2fa10bfe627687ff8314804a..5829f66c0164c379f1398f76e8a7a42fb9d335c2 100644 (file)
@@ -72,7 +72,7 @@ PRIVATE>
 
 : max-path ( triangle -- n )
     dup length 1 > [
-        2 cut* first2 max-children [ + ] 2map add max-path
+        2 cut* first2 max-children [ + ] 2map suffix max-path
     ] [
         first first
     ] if ;
@@ -95,7 +95,7 @@ PRIVATE>
 ! Not strictly needed, but it is nice to be able to dump the triangle after the
 ! propagation
 : propagate-all ( triangle -- newtriangle )
-    reverse [ first dup ] keep 1 tail [ propagate dup ] map nip reverse swap add ;
+    reverse [ first dup ] keep 1 tail [ propagate dup ] map nip reverse swap suffix ;
 
 : sum-divisors ( n -- sum )
     dup 4 < [ { 0 1 3 4 } nth ] [ (sum-divisors) ] if ;
index b4eb4558fa390e135cf78b125f9b272d049a6016..69e4c09b6e11c992e5767299739e13df057d5b2c 100644 (file)
@@ -4,7 +4,7 @@ IN: qualified
 
 : define-qualified ( vocab-name -- )
     dup require
-    dup vocab-words swap CHAR: : add
+    dup vocab-words swap CHAR: : suffix
     [ -rot >r append r> ] curry assoc-map
     use get push ;
 
index fa36a7c6f84751baabbcc5766e7d5462a2e48e68..b0cd61bd8f60b94fe3a26ecf6f0249068ee3d422 100755 (executable)
@@ -21,7 +21,7 @@ SYMBOL: ignore-case?
     if 2curry ;
 
 : or-predicates ( quots -- quot )
-    [ \ dup add* ] map [ [ t ] ] f short-circuit \ nip add ;
+    [ \ dup prefix ] map [ [ t ] ] f short-circuit \ nip suffix ;
 
 : <@literal [ nip ] curry <@ ;
 
index 1f2bbde1712ee114b641dca74f6629f455c63c96..8c26d880f19c3f2adf62e5cbb0cab0e7f4eee78c 100644 (file)
@@ -21,7 +21,7 @@ SYMBOL: ignore-case?
     if 2curry ;
     
 : or-predicates ( quots -- quot )
-    [ \ dup add* ] map [ [ t ] ] f short-circuit \ nip add ;
+    [ \ dup prefix ] map [ [ t ] ] f short-circuit \ nip suffix ;
 
 : literal-action [ nip ] curry action ;
 
index 0b93552e76d20e8fcabcb935ef7cbfff9a2f1044..d246b16b8d31710188758802ccc0e55bfa38dad5 100755 (executable)
@@ -94,7 +94,7 @@ MACRO: firstn ( n -- )
 
 : monotonic-split ( seq quot -- newseq )
     [
-        >r dup unclip add r>
+        >r dup unclip suffix r>
         v, [ pick ,, call [ v, ] unless ] curry 2each ,v
     ] { } make ;
 
index 3a1af786e220ff643e12f41665d778707f567be9..cd6e1a7cfb6e0bff13430ab747c77750acef8c20 100644 (file)
@@ -235,7 +235,7 @@ C: <spring> spring
   6 nrot 6 nrot 2array
   5 nrot 5 nrot 2array
   0 0 2array <node>
-  nodes> swap add >nodes ;
+  nodes> swap suffix >nodes ;
 
 : spng ( id id-a id-b k damp rest-length -- )
   6 nrot drop
@@ -243,4 +243,4 @@ C: <spring> spring
   5 nrot node-id
   5 nrot node-id
   <spring>
-  springs> swap add >springs ;
+  springs> swap suffix >springs ;
index cd3cfc63240ea6d279782f05b65cf1a9d156913e..489b7aaeb47ad438aac8dee4d13d2b3392e1d88a 100755 (executable)
@@ -6,7 +6,7 @@ IN: state-machine
     ! STATES: set-name state1 state2 ... ;
     ";" parse-tokens
     [ length ] keep
-    unclip add
+    unclip suffix
     [ create-in swap 1quotation define ] 2each ; parsing
 
 TUPLE: state place data ;
index 13850f6bd770c0ef1f14137aa4493af7ec53ea42..93bbebf34fe01b1bd2db140f0002550fc0a02d06 100644 (file)
@@ -37,7 +37,7 @@ TUPLE: board width height rows ;
 
 : add-row ( board -- )
     dup board-rows over board-width f <array>
-    add* swap set-board-rows ;
+    prefix swap set-board-rows ;
 
 : top-up-rows ( board -- )
     dup board-height over board-rows length = [
index b019326ed5dbc1bac60fe60eed960a17768db18d..395c4ff924ac79a5dc5af36556c39ac14331ee08 100755 (executable)
@@ -46,7 +46,7 @@ IN: tools.deploy.backend
 
 : staging-image-name ( profile -- name )
     "staging."
-    swap strip-word-names? [ "strip" add ] when
+    swap strip-word-names? [ "strip" suffix ] when
     "-" join ".image" 3append temp-file ;
 
 DEFER: ?make-staging-image
@@ -75,7 +75,7 @@ DEFER: ?make-staging-image
     ] { } make ;
 
 : run-factor ( vm flags -- )
-    swap add* dup . run-with-output ; inline
+    swap prefix dup . run-with-output ; inline
 
 : make-staging-image ( profile -- )
     vm swap staging-command-line run-factor ;
index d7610c21c8940adb9b1254c5f135e58771837697..2f941ad2ce5a043168d09cfab217a5c1fa4c19bb 100755 (executable)
@@ -230,7 +230,7 @@ MEMO: all-vocabs-seq ( -- seq )
     try-everything load-failures. ;\r
 \r
 : unrooted-child-vocabs ( prefix -- seq )\r
-    dup empty? [ CHAR: . add ] unless\r
+    dup empty? [ CHAR: . suffix ] unless\r
     vocabs\r
     [ find-vocab-root not ] subset\r
     [\r
@@ -242,7 +242,7 @@ MEMO: all-vocabs-seq ( -- seq )
     vocab-roots get [\r
         dup pick (all-child-vocabs) [ >vocab-link ] map\r
     ] { } map>assoc\r
-    swap unrooted-child-vocabs f swap 2array add ;\r
+    swap unrooted-child-vocabs f swap 2array suffix ;\r
 \r
 : all-child-vocabs-seq ( prefix -- assoc )\r
     vocab-roots get swap [\r
index 2aed793a593b3ca2df50220e47309e41d83596ad..d548c0a4f56d080ee5e4ccc7a895b853236b0b66 100755 (executable)
@@ -49,10 +49,10 @@ DEFER: start-walker-thread
 \ break t "break?" set-word-prop
 
 : walk ( quot -- quot' )
-    \ break add* [ break rethrow ] recover ;
+    \ break prefix [ break rethrow ] recover ;
 
 : add-breakpoint ( quot -- quot' )
-    dup [ break ] head? [ \ break add* ] unless ;
+    dup [ break ] head? [ \ break prefix ] unless ;
 
 : (step-into-quot) ( quot -- ) add-breakpoint call ;
 
@@ -114,7 +114,7 @@ SYMBOL: +stopped+
     ] change-frame ;
 
 : step-out-msg ( continuation -- continuation' )
-    [ nip \ break add ] change-frame ;
+    [ nip \ break suffix ] change-frame ;
 
 {
     { call [ (step-into-quot) ] }
index 789d9b9e6a91ced72667f702601998a99335dde2..ed524148e370ab9170a32db6e10bbdea6508f79d 100644 (file)
@@ -14,7 +14,7 @@ IN: ui.commands
 : command-map. ( command-map -- )
     [ command-map-row ] map
     { "Shortcut" "Command" "Word" "Notes" }
-    [ \ $strong swap ] { } map>assoc add*
+    [ \ $strong swap ] { } map>assoc prefix
     $table ;
 
 : $command-map ( element -- )
index fce88c0ebbf8d15e73393560988d49f11b290ec4..533116824bb48213d744c427f1a6b0847e081ce3 100755 (executable)
@@ -18,7 +18,7 @@ SYMBOL: grid-dim
     grid-dim get spin set-axis ;
 
 : draw-grid-lines ( gaps orientation -- )
-    grid get rot grid-positions grid get rect-dim add [
+    grid get rot grid-positions grid get rect-dim suffix [
         grid-line-from/to gl-line
     ] with each ;
 
index 52c5ca8a026de990685befd4cb3431b8143e396d..91b7f0f2250ccb89402528d5d7653ffddb044492 100755 (executable)
@@ -352,7 +352,7 @@ M: f sloppy-pick-up*
 
 : sloppy-pick-up ( loc gadget -- path )
     2dup sloppy-pick-up* dup
-    [ [ wet-and-sloppy sloppy-pick-up ] keep add* ]
+    [ [ wet-and-sloppy sloppy-pick-up ] keep prefix ]
     [ 3drop { } ]
     if ;
 
index fc8103b6568b46a3c3b42c77fecff92b73c0d4a1..ba02f15c7a29e0ca12e645d9967c6773d2bcc6bd 100755 (executable)
@@ -9,7 +9,7 @@ IN: unix.process
 ! io.launcher instead.
 
 : >argv ( seq -- alien )
-    [ malloc-char-string ] map f add >c-void*-array ;
+    [ malloc-char-string ] map f suffix >c-void*-array ;
 
 : exec ( pathname argv -- int )
     [ malloc-char-string ] [ >argv ] bi* execv ;
index 28237a7b2c7cef6f5e04d7a4a10f32cb8a42920a..8c74d616568e747d6bc83d0dbe23207690a900e0 100755 (executable)
@@ -113,7 +113,7 @@ M: regexp text-hash-char drop f ;
 : rule-chars* ( rule -- string )
     dup rule-chars
     swap rule-start matcher-text
-    text-hash-char [ add ] when* ;
+    text-hash-char [ suffix ] when* ;
 
 : add-rule ( rule ruleset -- )
     >r dup rule-chars* >upper swap