]> gitweb.factorcode.org Git - factor.git/commitdiff
Clean up some <file-reader> usages to use file-lines, file>csv, and file>xml instead
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 16 Feb 2009 02:45:06 +0000 (20:45 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 16 Feb 2009 02:45:06 +0000 (20:45 -0600)
basis/html/templates/chloe/chloe.factor
basis/io/encodings/8-bit/8-bit.factor
basis/io/encodings/iana/iana.factor
basis/unicode/collation/collation.factor
basis/unicode/data/data.factor
basis/xmode/catalog/catalog.factor
basis/xmode/loader/loader.factor
core/io/encodings/encodings-tests.factor
core/io/files/files-tests.factor
extra/benchmark/xml/xml.factor
extra/usa-cities/usa-cities.factor

index 439b207063bd4f39b80d90c73b3f74ab6689831a..da0d45a9d4f1489556896b4e093f11a54804ec31 100644 (file)
@@ -107,7 +107,7 @@ TUPLE: cached-template path last-modified quot ;
     path>> ".xml" append
     [ ]
     [ file-info modified>> ]
-    [ utf8 <file-reader> read-xml compile-template ] tri
+    [ file>xml compile-template ] tri
     \ cached-template boa ;
 
 \ load-template DEBUG add-input-logging
index b3519a79906b73f143174f26cc8862a70d96f330..bad2d9fd822f51b3b49d0f73b2c2c5adf9ab31d1 100644 (file)
@@ -34,7 +34,7 @@ IN: io.encodings.8-bit
 
 : encoding-file ( file-name -- stream )
     "vocab:io/encodings/8-bit/" swap ".TXT"
-    3append ascii <file-reader> ;
+    3append ;
 
 : process-contents ( lines -- assoc )
     [ "#" split1 drop ] map harvest
@@ -47,8 +47,8 @@ IN: io.encodings.8-bit
 : ch>byte ( assoc -- newassoc )
     [ swap ] assoc-map >hashtable ;
 
-: parse-file ( stream -- byte>ch ch>byte )
-    lines process-contents
+: parse-file ( path -- byte>ch ch>byte )
+    ascii file-lines process-contents
     [ byte>ch ] [ ch>byte ] bi ;
 
 SYMBOL: 8-bit-encodings
index 07b0429696ec18da6c44e2cf3cb28d919d0e0665..a8555ac3393bc74d70d633eed2765e04d69e263a 100644 (file)
@@ -21,14 +21,14 @@ ERROR: missing-name encoding ;
     dup e>n-table get-global at [ ] [ missing-name ] ?if ;
 
 <PRIVATE
-: parse-iana ( stream -- synonym-set )
-    lines { "" } split [
+: parse-iana ( file -- synonym-set )
+    utf8 file-lines { "" } split [
         [ " " split ] map
         [ first { "Name:" "Alias:" } member? ] filter
         [ second ] map { "None" } diff
     ] map harvest ;
 
-: make-aliases ( stream -- n>e )
+: make-aliases ( file -- n>e )
     parse-iana [ [ first ] [ ] bi ] H{ } map>assoc ;
 
 : initial-n>e ( -- assoc )
@@ -45,7 +45,7 @@ ERROR: missing-name encoding ;
 PRIVATE>
 
 "vocab:io/encodings/iana/character-sets"
-utf8 <file-reader> make-aliases aliases set-global
+make-aliases aliases set-global
 
 n>e-table [ initial-n>e ] initialize
 e>n-table [ initial-e>n ] initialize
index 78727b16e24eb2aa9049e50914a316f91b13a217..2a94d501bdce30de81e10bc4db287f554760ce80 100755 (executable)
@@ -24,12 +24,11 @@ TUPLE: weight primary secondary tertiary ignorable? ;
     ";" split1 [ [ blank? ] trim ] bi@\r
     [ " " split [ hex> ] "" map-as ] [ parse-weight ] bi* ;\r
 \r
-: parse-ducet ( stream -- ducet )\r
-    lines filter-comments\r
+: parse-ducet ( file -- ducet )\r
+    ascii file-lines filter-comments\r
     [ parse-line ] H{ } map>assoc ;\r
 \r
-"vocab:unicode/collation/allkeys.txt"\r
-ascii <file-reader> parse-ducet to: ducet\r
+"vocab:unicode/collation/allkeys.txt" parse-ducet to: ducet\r
 \r
 ! Fix up table for long contractions\r
 : help-one ( assoc key -- )\r
index d40024eb1ea8f7eec2f2639de43f009212cb51c3..de8d28ad2e812452e5eb7d150944a12410879c30 100644 (file)
@@ -196,9 +196,9 @@ load-properties to: properties
 
 SYMBOL: interned
 
-: parse-script ( stream -- assoc )
+: parse-script ( filename -- assoc )
     ! assoc is code point/range => name
-    lines filter-comments [ split-; ] map ;
+    ascii file-lines filter-comments [ split-; ] map ;
 
 : range, ( value key -- )
     swap interned get
@@ -218,7 +218,7 @@ SYMBOL: interned
     [ expand-ranges ] with-variable ;
 
 : load-script ( filename -- table )
-    ascii <file-reader> parse-script process-script ;
+    parse-script process-script ;
 
 [ name>char [ "Invalid character" throw ] unless* ]
 name>char-hook set-global
index 47186d2090c754c587cc04618b1654b2fe28777c..7a935d31a424b6619f9219a5302c30fe29784d92 100644 (file)
@@ -37,8 +37,7 @@ MEMO: mode-names ( -- modes )
 MEMO: (load-mode) ( name -- rule-sets )
     modes at [
         file>>
-        "vocab:xmode/modes/" prepend
-        utf8 <file-reader> parse-mode
+        "vocab:xmode/modes/" prepend parse-mode
     ] [
         "text" (load-mode)
     ] if* ;
index 70466913a09b8213eba7ba9a09c000b8df5801c9..ef1defc4da55f7ce27962fe6833152a8d46878f3 100644 (file)
@@ -84,5 +84,5 @@ TAGS>
         [ merge-rule-set-props ] with each
     ] when* ;
 
-: parse-mode ( stream -- rule-sets )
-    read-xml parse-mode-tag ;
+: parse-mode ( filename -- rule-sets )
+    file>xml parse-mode-tag ;
index cb066dd3a5247003787a3ccb6322395b65692222..fa8832deab5958f26dcd229007d0e3f206e749de 100644 (file)
@@ -4,18 +4,18 @@ namespaces accessors io.encodings ;
 IN: io.streams.encodings.tests
 
 [ { } ]
-[ "vocab:io/test/empty-file.txt" ascii <file-reader> lines ]
+[ "vocab:io/test/empty-file.txt" ascii file-lines ]
 unit-test
 
-: lines-test ( stream -- line1 line2 )
-    [ readln readln ] with-input-stream ;
+: lines-test ( file encoding -- line1 line2 )
+    [ readln readln ] with-file-reader ;
 
 [
     "This is a line."
     "This is another line."
 ] [
     "vocab:io/test/windows-eol.txt"
-    ascii <file-reader> lines-test
+    ascii lines-test
 ] unit-test
 
 [
@@ -23,7 +23,7 @@ unit-test
     "This is another line."
 ] [
     "vocab:io/test/mac-os-eol.txt"
-    ascii <file-reader> lines-test
+    ascii lines-test
 ] unit-test
 
 [
@@ -31,7 +31,7 @@ unit-test
     "This is another line."
 ] [
     "vocab:io/test/unix-eol.txt"
-    ascii <file-reader> lines-test
+    ascii lines-test
 ] unit-test
 
 [
index c49fcb7aea819ad23dce1cd7abc64c12fd4ab5bf..ce15a6977324774dcb629660bf4f3324690acba4 100644 (file)
@@ -14,15 +14,15 @@ IN: io.files.tests
 [
     "This is a line.\rThis is another line.\r"
 ] [
-    "vocab:io/test/mac-os-eol.txt" latin1 <file-reader>
-    [ 500 read ] with-input-stream
+    "vocab:io/test/mac-os-eol.txt" latin1
+    [ 500 read ] with-file-reader
 ] unit-test
 
 [
     255
 ] [
-    "vocab:io/test/binary.txt" latin1 <file-reader>
-    [ read1 ] with-input-stream >fixnum
+    "vocab:io/test/binary.txt" latin1
+    [ read1 ] with-file-reader >fixnum
 ] unit-test
 
 [ ] [
@@ -39,11 +39,11 @@ IN: io.files.tests
 ] [
     [
         "separator-test.txt" temp-file
-        latin1 <file-reader> [
+        latin1 [
             "J" read-until 2array ,
             "i" read-until 2array ,
             "X" read-until 2array ,
-        ] with-input-stream
+        ] with-file-reader
     ] { } make
 ] unit-test
 
index 5f8955b97c7a847e8eace917e81758d0a4e89237..0450331ddfbfc56754804c0ff6d8c5a0a700cec4 100644 (file)
@@ -6,7 +6,7 @@ IN: benchmark.xml
 
 : xml-benchmark ( -- )
     "vocab:xmode/modes/" [
-        [ utf8 <file-reader> read-xml drop ] each
+        [ file>xml drop ] each
     ] with-directory-files ;
 
 MAIN: xml-benchmark
index 25ec30ac78673bac67927e9c6d34f2cfa84f970e..0ee2a114dd7b486702f1bb3d08a7f3bafc868a1f 100644 (file)
@@ -28,8 +28,8 @@ TUPLE: city
 first-zip name state latitude longitude gmt-offset dst-offset ;
 
 MEMO: cities ( -- seq )
-    "resource:extra/usa-cities/zipcode.csv" ascii <file-reader>
-    csv rest-slice [
+    "resource:extra/usa-cities/zipcode.csv" ascii file>csv
+    rest-slice [
         [
             {
                 [ string>number ]