]> gitweb.factorcode.org Git - factor.git/commitdiff
Use keys/values where appropriate
authorDoug Coleman <doug.coleman@gmail.com>
Tue, 18 May 2010 03:20:46 +0000 (22:20 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Fri, 21 May 2010 17:48:04 +0000 (12:48 -0500)
17 files changed:
basis/db/tuples/tuples.factor
basis/game/input/x11/x11.factor
basis/grouping/grouping-docs.factor
basis/help/lint/checks/checks.factor
basis/io/encodings/iana/iana.factor
basis/math/primes/factors/factors.factor
basis/tools/completion/completion.factor
basis/unicode/data/data.factor
basis/windows/com/wrapper/wrapper.factor
basis/xml/elements/elements.factor
extra/demos/demos.factor
extra/elf/elf.factor
extra/geo-ip/geo-ip.factor
extra/gpu/render/render.factor
extra/koszul/koszul.factor
extra/llvm/invoker/invoker.factor
extra/project-euler/206/206.factor

index d193b5921e6aa7ef0f4548eb6735411004f7e18b..19e7760c46c489e64b4ea299bffb0f1b2efe9def 100644 (file)
@@ -75,7 +75,7 @@ PRIVATE>
 ERROR: no-slots-named class seq ;
 : check-columns ( class columns -- )
     [ nip ] [
-        [ [ first ] map ]
+        [ keys ]
         [ all-slots [ name>> ] map ] bi* diff
     ] 2bi
     [ drop ] [ no-slots-named ] if-empty ;
index 1e103ad0fa13e6c221d880f88f888efbd1dab26b..c1f1c59fc0dc01d8c87a526b773f262ba11cac6c 100644 (file)
@@ -77,7 +77,7 @@ M: linux x>hid-bit-order
     } ; inline
      
 : x-bits>hid-bits ( bit-array -- bit-array )
-    256 iota [ 2array ] { } 2map-as [ first ] filter [ second ] map
+    256 iota [ 2array ] { } 2map-as [ first ] filter values
     x>hid-bit-order [ nth ] curry map
     256 <bit-array> swap [ t swap pick set-nth ] each ;
         
index 0c9db38f4bc8d29009d94fe08519af04d8736eb6..c91eb231ab6fee5f5d4e3235501ea3791e9bef8e 100644 (file)
@@ -32,8 +32,8 @@ ARTICLE: "grouping" "Groups and clumps"
             "{ 1 2 3 4 } 2 clump ." "{ { 1 2 } { 2 3 } { 3 4 } }"
         }
         { $unchecked-example
-            "USING: grouping ;"
-            "{ 1 2 3 4 } dup" "2 <clumps> unclip-last [ [ first ] map ] dip append sequence= ." "t"
+            "USING: grouping assocs sequences ;"
+            "{ 1 2 3 4 } dup" "2 <clumps> unclip-last [ keys ] dip append sequence= ." "t"
         }
     }
     { "With circular clumps, collecting the first element of each subsequence yields the original sequence. Collecting the " { $snippet "n" } "th element of each subsequence would rotate the original sequence " { $snippet "n" } " elements rightward:"
@@ -42,8 +42,8 @@ ARTICLE: "grouping" "Groups and clumps"
             "{ 1 2 3 4 } 2 circular-clump ." "{ { 1 2 } { 2 3 } { 3 4 } { 4 1 } }"
         }
         { $unchecked-example
-            "USING: grouping ;"
-            "{ 1 2 3 4 } dup" "2 <circular-clumps> [ first ] map sequence= ." "t"
+            "USING: grouping assocs sequences ;"
+            "{ 1 2 3 4 } dup" "2 <circular-clumps> keys sequence= ." "t"
         }
         { $unchecked-example
             "USING: grouping ;"
index 87b44595d27e9d10db7108a13153754f158ae2d2..cd389d6367de3e22db17a2fcd1a4e764f519cdc2 100644 (file)
@@ -34,7 +34,7 @@ SYMBOL: vocab-articles
 
 : extract-values ( element -- seq )
     \ $values swap elements dup empty? [
-        first rest [ first ] map
+        first rest keys
     ] unless ;
 
 : extract-value-effects ( element -- seq )
index a2a919da0db276e1eeb473b6420dc253ed0f3c36..544a6a8072258f16165f5b6ed758d4f891d6eddb 100644 (file)
@@ -22,7 +22,7 @@ PRIVATE>
     utf8 file-lines { "" } split [
         [ " " split ] map
         [ first { "Name:" "Alias:" } member? ] filter
-        [ second ] map { "None" } diff
+        values { "None" } diff
     ] map harvest ;
 
 : make-aliases ( file -- n>e )
index 7cdfd552a1ab5c07de2824e5935f647b5976680c..dd73b0a073e1257b108e37fb14a59e7c639b8133 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2007-2009 Samuel Tardieu.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: arrays combinators kernel make math math.functions
+USING: arrays assocs combinators kernel make math math.functions
 math.primes math.ranges sequences sequences.product sorting
 io math.parser ;
 IN: math.primes.factors
@@ -32,7 +32,7 @@ PRIVATE>
 : group-factors ( n -- seq )
     dup prime? [ 1 2array 1array ] [ (group-factors) ] if ; flushable
 
-: unique-factors ( n -- seq ) group-factors [ first ] map ; flushable
+: unique-factors ( n -- seq ) group-factors keys ; flushable
 
 : factors ( n -- seq )
     group-factors [ first2 swap <array> ] map concat ; flushable
index 7b9c8b43bc167bdcbc8a099934e12035d384ebd7..d62c192ac1768d42fab6149fff960e71299c08d9 100644 (file)
@@ -54,7 +54,7 @@ IN: tools.completion
     sort-keys <reversed>
     [ 0 [ first max ] reduce 3 /f ] keep
     [ first < ] with filter
-    [ second ] map ;
+    values ;
 
 : complete ( full short -- score )
     [ dupd fuzzy score ] 2keep
index ff4e64df295eccea8b43febcb10e484e8fd3a547..b2cb4d205d380f9d0ef64a1f92a413bfaa813e25 100644 (file)
@@ -209,7 +209,7 @@ load-data {
 } cleave
 
 : postprocess-class ( -- )
-    combine-map [ [ second ] map ] map concat
+    combine-map [ values ] map concat
     [ combining-class not ] filter
     [ 0 swap class-map set-at ] each ;
 
index 6f92c8b860cfd8f97f0481b4f7f6e7feef210110..20de2a9e4e3d9149060b1e037caf4a6414217340 100644 (file)
@@ -118,7 +118,7 @@ unless
     ] 2map ;
 
 : (make-callbacks) ( implementations -- sequence )
-    dup [ first ] map (make-iunknown-methods)
+    dup keys (make-iunknown-methods)
     [ [ first2 ] 2dip swap (make-interface-callbacks) ]
     curry map-index ;
 
index 1e59c199091ce90705359a5640c63c23c7a9ce33..39afcc8fca721b5cafb789d13509d5ee16feb9fd 100644 (file)
@@ -55,7 +55,7 @@ IN: xml.elements
     ">" expect ;
 
 : assure-no-extra ( seq -- )
-    [ first ] map {
+    keys {
         T{ name f "" "version" f }
         T{ name f "" "encoding" f }
         T{ name f "" "standalone" f }
index 9c60d8ad1a7eedcbd3d8e2f8520674b7ec8114e9..991c2e03190890a6790b3b05c9000ccb9a5991dd 100644 (file)
@@ -3,7 +3,7 @@ ui.gadgets ui.gadgets.buttons ui.gadgets.packs ui.gadgets.borders
 ui.gadgets.scrollers ui.tools.listener accessors ;
 IN: demos
 
-: demo-vocabs ( -- seq ) "demos" tagged [ second ] map concat [ name>> ] map ;
+: demo-vocabs ( -- seq ) "demos" tagged values concat [ name>> ] map ;
 
 : <run-vocab-button> ( vocab-name -- button )
     dup '[ drop [ _ run ] \ run call-listener ] <border-button> ;
index 19bb3bfbf919a8e43319602ff5bf748bd62d7141..62c9e4ea746f964153d4ae1c4dd79ca2cc8a345d 100644 (file)
@@ -499,7 +499,7 @@ TYPED:: elf-segment-sections ( segment: Elf32/64_Phdr sections: Elf32/64_Shdr-ar
     segment [ p_offset>> dup ] [ p_filesz>> + ] bi [a,b)                            :> segment-interval
     sections [ dup [ sh_offset>> dup ] [ sh_size>> + ] bi [a,b) 2array ] { } map-as :> section-intervals
     section-intervals [ second segment-interval interval-intersect empty-interval = not ]
-    filter [ first ] map ;
+    filter keys ;
 
 TYPED:: virtual-address-segment ( elf: Elf32/64_Ehdr address -- program-header/f )
     elf elf-program-headers elf-loadable-segments [
index f23848ce301a4738a8ebe4961ca69983adf0d366..9dedb6410b051b6b0e7f246c7f08bf53bb24274a 100644 (file)
@@ -40,7 +40,7 @@ MEMO: ip-db ( -- seq )
 : filter-overlaps ( alist -- alist' )
     2 clump
     [ first2 [ first second ] [ first first ] bi* < ] filter
-    [ first ] map ;
+    keys ;
 
 MEMO: ip-intervals ( -- interval-map )
     ip-db [ [ [ from>> ] [ to>> ] bi 2array ] keep ] { } map>assoc
index 1d80a86cf6ac7034a974ad95fca5b060f78f3221..10bddc3752efb7b92c520fe37bcc377965eef2df 100755 (executable)
@@ -552,7 +552,7 @@ SYNTAX: UNIFORM-TUPLE:
     [ [ length ] [ >int-array ] bi glDrawBuffers ] if ;
 
 : bind-named-output-attachments ( program-instance framebuffer attachments -- )
-    rot '[ first _ swap output-index ] sort-with [ second ] map
+    rot '[ first _ swap output-index ] sort-with values
     bind-unnamed-output-attachments ;
 
 : bind-output-attachments ( program-instance framebuffer attachments -- )
index 58c90df6e9438d3cbecf5f8580603d14efaa07ae..ff1547ed27a9eb226017ebbdd270421a2ba1ffe7 100644 (file)
@@ -198,8 +198,8 @@ DEFER: (d)
 
 : bigraded-betti ( u-generators z-generators -- seq )
     [ basis graded ] bi@ tensor bigraded-ker/im-d
-    [ [ [ first ] map ] map ] keep
-    [ [ second ] map 2 head* { 0 0 } prepend ] map
+    [ [ keys ] map ] keep
+    [ values 2 head* { 0 0 } prepend ] map
     rest dup first length 0 <array> suffix
     [ v- ] 2map ;
 
index 27fdeeb618d114a388ed106da3a29d72b2a3148c..9d6bfc8a5a525e71d67817a28df9e68be4156c54 100644 (file)
@@ -32,7 +32,7 @@ TUPLE: function name alien return params ;
     LLVMGetFirstFunction [ (functions) ] { } make [ <function> ] map ;
 
 : function-effect ( function -- effect )
-    [ params>> [ first ] map ] [ return>> void? 0 1 ? ] bi <effect> ;
+    [ params>> keys ] [ return>> void? 0 1 ? ] bi <effect> ;
 
 : install-function ( function -- )
     dup name>> "alien.llvm" create-vocab drop
@@ -53,4 +53,4 @@ TUPLE: function name alien return params ;
     [ normalize-path ] [ file-name ] bi
     [ load-into-jit ] keep install-module ;
     
-<< "alien.llvm" create-vocab drop >>
\ No newline at end of file
+<< "alien.llvm" create-vocab drop >>
index 056376237030f1f4f136896ef8a64bf5124ede7f..2cc9a40925a974c5d350cbc10bc5ea81c1096a9e 100644 (file)
@@ -30,7 +30,7 @@ CONSTANT: lo 1010101030
 CONSTANT: hi 1389026570
 
 : form-fitting? ( n -- ? )
-    number>digits 2 group [ first ] map
+    number>digits 2 group keys
     { 1 2 3 4 5 6 7 8 9 0 } = ;
 
 : candidates ( -- seq )