]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'master' into specialized-arrays
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 2 Dec 2008 22:20:32 +0000 (16:20 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 2 Dec 2008 22:20:32 +0000 (16:20 -0600)
26 files changed:
basis/cpu/x86/assembler/assembler.factor
basis/cpu/x86/assembler/syntax/syntax.factor
basis/io/buffers/buffers-tests.factor
basis/io/encodings/utf16/utf16.factor
basis/io/monitors/monitors.factor
basis/io/monitors/recursive/recursive.factor
basis/io/pools/pools.factor
basis/io/streams/duplex/duplex.factor
basis/io/timeouts/timeouts.factor
basis/io/unix/backend/backend.factor
basis/io/unix/linux/monitors/monitors.factor
basis/io/unix/macosx/monitors/monitors.factor
basis/io/unix/select/select.factor
basis/io/unix/sockets/sockets.factor
basis/io/unix/unix-tests.factor
basis/io/windows/files/files.factor
basis/io/windows/nt/backend/backend.factor
basis/io/windows/nt/files/files.factor
basis/io/windows/nt/launcher/launcher.factor
basis/io/windows/nt/privileges/privileges.factor
basis/io/windows/nt/sockets/sockets.factor
basis/io/windows/sockets/sockets.factor
basis/io/windows/windows.factor
basis/models/range/range.factor
basis/tools/scaffold/scaffold.factor
basis/unix/statfs/statfs.factor

index 05fe3a80939ac1437523ca42b5c641a47dd45174..27c00cb3c0f2b1a88c39ee7fa01e9e225961a63b 100644 (file)
@@ -130,7 +130,7 @@ M: register modifier drop BIN: 11 ;
 GENERIC# n, 1 ( value n -- )
 
 M: integer n, >le % ;
-M: byte n, >r value>> r> n, ;
+M: byte n, [ value>> ] dip n, ;
 : 1, ( n -- ) 1 n, ; inline
 : 4, ( n -- ) 4 n, ; inline
 : 2, ( n -- ) 2 n, ; inline
@@ -209,7 +209,7 @@ M: object operand-64? drop f ;
 : short-operand ( reg rex.w n -- )
     #! Some instructions encode their single operand as part of
     #! the opcode.
-    >r dupd prefix-1 reg-code r> + , ;
+    [ dupd prefix-1 reg-code ] dip + , ;
 
 : opcode, ( opcode -- ) dup array? [ % ] [ , ] if ;
 
@@ -224,7 +224,7 @@ M: object operand-64? drop f ;
 : 1-operand ( op reg,rex.w,opcode -- )
     #! The 'reg' is not really a register, but a value for the
     #! 'reg' field of the mod-r/m byte.
-    first3 >r >r over r> prefix-1 r> opcode, swap addressing ;
+    first3 [ [ over ] dip prefix-1 ] dip opcode, swap addressing ;
 
 : immediate-operand-size-bit ( imm dst reg,rex.w,opcode -- imm dst reg,rex.w,opcode )
     pick integer? [ first3 BIN: 1 opcode-or 3array ] when ;
@@ -250,7 +250,7 @@ M: object operand-64? drop f ;
     ] if ;
 
 : (2-operand) ( dst src op -- )
-    >r 2dup t rex-prefix r> opcode,
+    [ 2dup t rex-prefix ] dip opcode,
     reg-code swap addressing ;
 
 : direction-bit ( dst src op -- dst' src' op' )
@@ -271,11 +271,11 @@ M: object operand-64? drop f ;
 PRIVATE>
 
 : [] ( reg/displacement -- indirect )
-    dup integer? [ >r f f f r> ] [ f f f ] if <indirect> ;
+    dup integer? [ [ f f f ] dip ] [ f f f ] if <indirect> ;
 
 : [+] ( reg displacement -- indirect )
     dup integer?
-    [ dup zero? [ drop f ] when >r f f r> ]
+    [ dup zero? [ drop f ] when [ f f ] dip ]
     [ f f ] if
     <indirect> ;
 
index d267baaf4f02abc46a6e85b9f036a0798b4b68f7..6ddec4af07e87ff914a9339b47c8ed68f2677058 100644 (file)
@@ -4,8 +4,8 @@ USING: kernel words sequences lexer parser fry ;
 IN: cpu.x86.assembler.syntax
 
 : define-register ( name num size -- )
-    >r >r "cpu.x86.assembler" create dup define-symbol r> r>
-    >r dupd "register" set-word-prop r>
+    [ "cpu.x86.assembler" create dup define-symbol ] 2dip
+    [ dupd "register" set-word-prop ] dip
     "register-size" set-word-prop ;
 
 : define-registers ( names size -- )
index b3c5c4ee905751ead7fb1d51e90d86aecfc2075d..4425e081069a5e198578910cca2f7af95e009130 100644 (file)
@@ -5,7 +5,7 @@ destructors ;
 
 : buffer-set ( string buffer -- )
     over >byte-array over ptr>> byte-array>memory
-    >r length r> buffer-reset ;
+    [ length ] dip buffer-reset ;
 
 : string>buffer ( string -- buffer )
     dup length <buffer> tuck buffer-set ;
index 037087e452ee6518591f39146a7d75154dfaa632..167d7534d101a6eab87fef09cf76ebf060ea4ab4 100644 (file)
@@ -25,7 +25,7 @@ ERROR: missing-bom ;
 : quad-be ( stream byte -- stream char )
     double-be over stream-read1 [
         dup -2 shift BIN: 110111 number= [
-            >r 2 shift r> BIN: 11 bitand bitor
+            [ 2 shift ] dip BIN: 11 bitand bitor
             over stream-read1 swap append-nums HEX: 10000 +
         ] [ 2drop dup stream-read1 drop replacement-char ] if
     ] when* ;
index 7f33f0caa69c62d7e27b1ac778355ee927e3ff92..72f2bc80c5d1be305770596b082ae5089b5dba52 100644 (file)
@@ -53,7 +53,7 @@ SYMBOL: +rename-file-new+
 SYMBOL: +rename-file+
 
 : with-monitor ( path recursive? quot -- )
-    >r <monitor> r> with-disposal ; inline
+    [ <monitor> ] dip with-disposal ; inline
 
 {
     { [ os macosx? ] [ "io.unix.macosx.monitors" require ] }
index 45979363c9d5110d19e13eb863e3a16277d2eefa..a96c6f04f14123723d0d97133b374bc1e4b700d5 100644 (file)
@@ -3,7 +3,7 @@
 USING: accessors sequences assocs arrays continuations
 destructors combinators kernel threads concurrency.messaging
 concurrency.mailboxes concurrency.promises io.files io.monitors
-debugger ;
+debugger fry ;
 IN: io.monitors.recursive
 
 ! Simulate recursive monitors on platforms that don't have them
@@ -29,10 +29,10 @@ DEFER: add-child-monitor
     qualify-path dup link-info directory? [
         [ add-child-monitors ]
         [
-            [
-                [ f my-mailbox (monitor) ] keep
+            '[
+                [ f my-mailbox (monitor) ] keep
                 monitor tget children>> set-at
-            ] curry ignore-errors
+            ] ignore-errors
         ] bi
     ] [ drop ] if ;
 
@@ -48,7 +48,7 @@ M: recursive-monitor dispose*
     monitor tget children>> [ nip dispose ] assoc-each ;
 
 : pump-step ( msg -- )
-    first3 path>> swap >r prepend-path r> monitor tget 3array
+    first3 path>> swap [ prepend-path ] dip monitor tget 3array
     monitor tget queue>>
     mailbox-put ;
 
@@ -71,9 +71,9 @@ M: recursive-monitor dispose*
 
 : pump-loop ( -- )
     receive dup synchronous? [
-        >r stop-pump t r> reply-synchronous
+        [ stop-pump t ] dip reply-synchronous
     ] [
-        [ [ update-hierarchy ] curry ignore-errors ] [ pump-step ] bi
+        [ '[ _ update-hierarchy ] ignore-errors ] [ pump-step ] bi
         pump-loop
     ] if ;
 
@@ -88,7 +88,7 @@ M: recursive-monitor dispose*
     pump-loop ;
 
 : start-pump-thread ( monitor -- )
-    dup [ pump-thread ] curry
+    dup '[ _ pump-thread ]
     "Recursive monitor pump" spawn
     >>thread drop ;
 
@@ -96,7 +96,7 @@ M: recursive-monitor dispose*
     ready>> ?promise ?linked drop ;
 
 : <recursive-monitor> ( path mailbox -- monitor )
-    >r (normalize-path) r>
+    [ (normalize-path) ] dip
     recursive-monitor new-monitor
         H{ } clone >>children
         <promise> >>ready
index aa734e68094c552d56c7908e71aeb7e7824db7bd..2c1f8ea3c3632db3b188679af0c2fcea10c96452 100644 (file)
@@ -42,7 +42,7 @@ GENERIC: make-connection ( pool -- conn )
     [ nip call ] [ drop return-connection ] 3bi ; inline
 
 : with-pooled-connection ( pool quot -- )
-    >r [ acquire-connection ] keep r>
+    [ [ acquire-connection ] keep ] dip
     [ (with-pooled-connection) ] [ ] [ 2drop dispose ] cleanup ; inline
 
 M: return-connection dispose
index 2ba504c6536c211d216b2a55ebd8f03193e6bc1a..9bf637432f1a6326e929f76604b66173230d8883 100644 (file)
@@ -27,7 +27,7 @@ M: duplex-stream dispose
     ] with-destructors ;
 
 : <encoder-duplex> ( stream-in stream-out encoding -- duplex )
-    tuck re-encode >r re-decode r> <duplex-stream> ;
+    tuck [ re-decode ] [ re-encode ] 2bi* <duplex-stream> ;
 
 : with-stream* ( stream quot -- )
     [ [ in>> ] [ out>> ] bi ] dip with-streams* ; inline
index 029cf6cac0a871b854ba3c286c6895e54fd8820d..fd1b14de19ff4fa755a5253b62b4fbfde282ff7f 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2008 Slava Pestov, Doug Coleman\r
 ! See http://factorcode.org/license.txt for BSD license.\r
 USING: kernel calendar alarms io io.encodings accessors\r
-namespaces ;\r
+namespaces fry ;\r
 IN: io.timeouts\r
 \r
 GENERIC: timeout ( obj -- dt/f )\r
@@ -14,14 +14,14 @@ M: encoder set-timeout stream>> set-timeout ;
 GENERIC: cancel-operation ( obj -- )\r
 \r
 : queue-timeout ( obj timeout -- alarm )\r
-    >r [ cancel-operation ] curry r> later ;\r
+    [ '[ _ cancel-operation ] ] dip later ;\r
 \r
 : with-timeout* ( obj timeout quot -- )\r
-    3dup drop queue-timeout >r nip call r> cancel-alarm ;\r
+    3dup drop queue-timeout [ nip call ] dip cancel-alarm ;\r
     inline\r
 \r
 : with-timeout ( obj quot -- )\r
-    over timeout [ >r dup timeout r> with-timeout* ] [ call ] if ;\r
+    over timeout [ [ dup timeout ] dip with-timeout* ] [ call ] if ;\r
     inline\r
 \r
 : timeouts ( dt -- )\r
index 5bb0b825552d889c1ce094097fc04148b018a126..85363c8404c7274acd79f05f5b641ae9c7753593 100644 (file)
@@ -5,7 +5,7 @@ math io.ports sequences strings sbufs threads unix
 vectors io.buffers io.backend io.encodings math.parser
 continuations system libc qualified namespaces make io.timeouts
 io.encodings.utf8 destructors accessors summary combinators
-locals unix.time ;
+locals unix.time fry ;
 QUALIFIED: io
 IN: io.unix.backend
 
@@ -88,19 +88,16 @@ M: io-timeout summary drop "I/O operation timed out" ;
 
 : wait-for-fd ( handle event -- )
     dup +retry+ eq? [ 2drop ] [
-        [
-            >r
-            swap handle-fd
-            mx get-global
-            r> {
+        '[
+            swap handle-fd mx get-global _ {
                 { +input+ [ add-input-callback ] }
                 { +output+ [ add-output-callback ] }
             } case
-        ] curry "I/O" suspend nip [ io-timeout ] when
+        ] "I/O" suspend nip [ io-timeout ] when
     ] if ;
 
 : wait-for-port ( port event -- )
-    [ >r handle>> r> wait-for-fd ] curry with-timeout ;
+    '[ handle>> _ wait-for-fd ] with-timeout ;
 
 ! Some general stuff
 : file-mode OCT: 0666 ;
index 12b1cf779b860abd07f05eff67071c015a631140..f27d48c6b0b3391254498e10329876f75ae59c66 100644 (file)
@@ -36,9 +36,7 @@ TUPLE: linux-monitor < monitor wd inotify watches disposed ;
     inotify-fd -rot inotify_add_watch dup io-error dup check-existing ;
 
 : add-watch ( path mask mailbox -- monitor )
-    >r
-    >r (normalize-path) r>
-    [ (add-watch) ] [ drop ] 2bi r>
+    [ [ (normalize-path) ] dip [ (add-watch) ] [ drop ] 2bi ] dip
     <linux-monitor> [ ] [ ] [ wd>> ] tri watches get set-at ;
 
 : check-inotify ( -- )
@@ -103,12 +101,12 @@ M: linux-monitor dispose* ( monitor -- )
 : next-event ( i buffer -- i buffer )
     2dup inotify-event@
     inotify-event-len "inotify-event" heap-size +
-    swap >r + r> ;
+    swap [ + ] dip ;
 
 : parse-file-notifications ( i buffer -- )
     2dup events-exhausted? [ 2drop ] [
         2dup inotify-event@ dup inotify-event-wd wd>monitor
-        >r parse-file-notify r> queue-change
+        [ parse-file-notify ] dip queue-change
         next-event parse-file-notifications
     ] if ;
 
index a5f36aa93b91f547b5650ab02fad12961f98c5be..cde1d6339a31296c21350dd0ce6f5e535b4712df 100644 (file)
@@ -2,15 +2,13 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: io.backend io.monitors
 core-foundation.fsevents continuations kernel sequences
-namespaces arrays system locals accessors destructors ;
+namespaces arrays system locals accessors destructors fry ;
 IN: io.unix.macosx.monitors
 
 TUPLE: macosx-monitor < monitor handle ;
 
 : enqueue-notifications ( triples monitor -- )
-    [
-        >r first { +modify-file+ } r> queue-change
-    ] curry each ;
+    '[ first { +modify-file+ } _ queue-change ] each ;
 
 M:: macosx (monitor) ( path recursive? mailbox -- monitor )
     [let | path [ path normalize-path ] |
index 1dd1d51e87065aeb50f8f136d9f6193b22897692..27231aee5a8adc56e303ae7ac4cba27d38c4e20f 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: alien.c-types kernel io.ports io.unix.backend
 bit-arrays sequences assocs unix math namespaces
-accessors math.order locals unix.time ;
+accessors math.order locals unix.time fry ;
 IN: io.unix.select
 
 TUPLE: select-mx < mx read-fdset write-fdset ;
@@ -28,7 +28,7 @@ TUPLE: select-mx < mx read-fdset write-fdset ;
     [ check-fd ] 3curry each ; inline
 
 : init-fdset ( fds fdset -- )
-    [ >r t swap munge r> set-nth ] curry each ;
+    '[ t swap munge _ set-nth ] each ;
 
 : read-fdset/tasks ( mx -- seq fdset )
     [ reads>> keys ] [ read-fdset>> ] bi ;
index a98432b84db6a0f7cbd0a664df304e2f2b98e1dd..5fba7badb01084c1e59467060447c4a5f8979489 100644 (file)
@@ -16,18 +16,18 @@ IN: io.unix.sockets
     0 socket dup io-error <fd> init-fd |dispose ;
 
 : set-socket-option ( fd level opt -- )
-    >r >r handle-fd r> r> 1 <int> "int" heap-size setsockopt io-error ;
+    [ handle-fd ] 2dip 1 <int> "int" heap-size setsockopt io-error ;
 
 M: unix addrinfo-error ( n -- )
     dup zero? [ drop ] [ gai_strerror throw ] if ;
 
 ! Client sockets - TCP and Unix domain
 M: object (get-local-address) ( handle remote -- sockaddr )
-    >r handle-fd r> empty-sockaddr/size <int>
+    [ handle-fd ] dip empty-sockaddr/size <int>
     [ getsockname io-error ] 2keep drop ;
 
 M: object (get-remote-address) ( handle local -- sockaddr )
-    >r handle-fd r> empty-sockaddr/size <int>
+    [ handle-fd ] dip empty-sockaddr/size <int>
     [ getpeername io-error ] 2keep drop ;
 
 : init-client-socket ( fd -- )
@@ -60,7 +60,7 @@ M: object ((client)) ( addrspec -- fd )
     SOL_SOCKET SO_REUSEADDR set-socket-option ;
 
 : server-socket-fd ( addrspec type -- fd )
-    >r dup protocol-family r> socket-fd
+    [ dup protocol-family ] dip socket-fd
     dup init-server-socket
     dup handle-fd rot make-sockaddr/size bind io-error ;
 
@@ -77,7 +77,7 @@ M: object (server) ( addrspec -- handle )
 M: object (accept) ( server addrspec -- fd sockaddr )
     2dup do-accept
     {
-        { [ over 0 >= ] [ >r 2nip <fd> init-fd r> ] }
+        { [ over 0 >= ] [ [ 2nip <fd> init-fd ] dip ] }
         { [ err_no EINTR = ] [ 2drop (accept) ] }
         { [ err_no EAGAIN = ] [
             2drop
index 7e1dc48e5f1147677c64eab4c1efa94864aa29b7..df61420c77501e2a50b0da2cccd577ea8d05f419 100644 (file)
@@ -46,7 +46,7 @@ yield
 
         "Receive 1" print
 
-        "d" get receive >r reverse r>
+        "d" get receive [ reverse ] dip
         
         "Send 1" print
         dup .
@@ -55,7 +55,7 @@ yield
 
         "Receive 2" print
 
-        "d" get receive >r " world" append r>
+        "d" get receive [ " world" append ] dip
         
         "Send 1" print
         dup .
@@ -86,7 +86,7 @@ datagram-client <local> <datagram>
 [ "olleh" t ] [
     "d" get receive
     datagram-server <local> =
-    >r >string r>
+    [ >string ] dip
 ] unit-test
 
 [ ] [
@@ -98,7 +98,7 @@ datagram-client <local> <datagram>
 [ "hello world" t ] [
     "d" get receive
     datagram-server <local> =
-    >r >string r>
+    [ >string ] dip
 ] unit-test
 
 [ ] [ "d" get dispose ] unit-test
index 4c38ee3b1289cd0ccb0d2b3ed67ecd68f3e0be54..83954e045bbe31ce8f1a2e365d8ffdbaded118bd 100755 (executable)
@@ -10,7 +10,7 @@ IN: io.windows.files
 
 : open-file ( path access-mode create-mode flags -- handle )
     [
-        >r >r share-mode default-security-attributes r> r>
+        [ share-mode default-security-attributes ] 2dip
         CreateFile-flags f CreateFile opened-file
     ] with-destructors ;
 
@@ -46,7 +46,7 @@ IN: io.windows.files
     GetLastError ERROR_ALREADY_EXISTS = not ;
 
 : set-file-pointer ( handle length method -- )
-    >r dupd d>w/w <uint> r> SetFilePointer
+    [ dupd d>w/w <uint> ] dip SetFilePointer
     INVALID_SET_FILE_POINTER = [
         CloseHandle "SetFilePointer failed" throw
     ] when drop ;
@@ -348,23 +348,23 @@ M: winnt file-systems ( -- array )
 : set-file-times ( path timestamp/f timestamp/f timestamp/f -- )
     #! timestamp order: creation access write
     [
-        >r >r >r
+        [
             normalize-path open-existing &dispose handle>>
-        r> r> r> (set-file-times)
+        ] 3dip (set-file-times)
     ] with-destructors ;
 
 : set-file-create-time ( path timestamp -- )
     f f set-file-times ;
 
 : set-file-access-time ( path timestamp -- )
-    >r f r> f set-file-times ;
+    [ f ] dip f set-file-times ;
 
 : set-file-write-time ( path timestamp -- )
-    >r f f r> set-file-times ;
+    [ f f ] dip set-file-times ;
 
 M: winnt touch-file ( path -- )
     [
         normalize-path
-        maybe-create-file >r &dispose r>
+        maybe-create-file [ &dispose ] dip
         [ drop ] [ handle>> f now dup (set-file-times) ] if
     ] with-destructors ;
index 4e335da7492854675b43c48b618da0499f737f50..8035bd66e99bd2c89c8f4dd619e31f571013f4e7 100644 (file)
@@ -18,8 +18,8 @@ C: <io-callback> io-callback
     "OVERLAPPED" malloc-object &free ;
 
 : make-overlapped ( port -- overlapped-ext )
-    >r (make-overlapped)
-    r> handle>> ptr>> [ over set-OVERLAPPED-offset ] when* ;
+    [ (make-overlapped) ] dip
+    handle>> ptr>> [ over set-OVERLAPPED-offset ] when* ;
 
 : <completion-port> ( handle existing -- handle )
      f 1 CreateIoCompletionPort dup win32-error=0/f ;
@@ -64,13 +64,9 @@ M: winnt add-completion ( win32-handle -- )
 : handle-overlapped ( us -- ? )
     wait-for-overlapped [
         dup [
-            >r drop GetLastError 1array r> resume-callback t
-        ] [
-            2drop f
-        ] if
-    ] [
-        resume-callback t
-    ] if ;
+            [ drop GetLastError 1array ] dip resume-callback t
+        ] [ 2drop f ] if
+    ] [ resume-callback t ] if ;
 
 M: win32-handle cancel-operation
     [ check-disposed ] [ handle>> CancelIo drop ] bi ;
@@ -94,7 +90,7 @@ M: winnt init-io ( -- )
 
 : wait-for-file ( FileArgs n port -- n )
     swap file-error?
-    [ 2drop 0 ] [ >r lpOverlapped>> r> twiddle-thumbs ] if ;
+    [ 2drop 0 ] [ [ lpOverlapped>> ] dip twiddle-thumbs ] if ;
 
 : update-file-ptr ( n port -- )
     handle>> dup ptr>> [ rot + >>ptr drop ] [ 2drop ] if* ;
index 2fbc8092636efc31b5ff4b0f923c3ec9d80c1518..9f25eb5eb15600760fca0adbf10146eefdbcf876 100644 (file)
@@ -59,6 +59,6 @@ M: winnt FileArgs-overlapped ( port -- overlapped )
 
 M: winnt open-append
     [ dup file-info size>> ] [ drop 0 ] recover
-    >r (open-append) r> >>ptr ;
+    [ (open-append) ] dip >>ptr ;
 
 M: winnt home "USERPROFILE" os-env ;
index 9d02fbe2fd1780a9ee741d30c05775607f624da2..de4fb99c64393063ef408d9dbbd7d603eb7b0099 100644 (file)
@@ -52,7 +52,7 @@ IN: io.windows.nt.launcher
     CreateFile dup invalid-handle? <win32-file> &dispose handle>> ;
 
 : redirect-append ( path access-mode create-mode -- handle )
-    >r >r path>> r> r>
+    [ path>> ] 2dip
     drop OPEN_ALWAYS
     redirect-file
     dup 0 FILE_END set-file-pointer ;
@@ -61,7 +61,7 @@ IN: io.windows.nt.launcher
     2drop handle>> duplicate-handle ;
 
 : redirect-stream ( stream access-mode create-mode -- handle )
-    >r >r underlying-handle handle>> r> r> redirect-handle ;
+    [ underlying-handle handle>> ] 2dip redirect-handle ;
 
 : redirect ( obj access-mode create-mode -- handle )
     {
index 8418d09a5e7eec9ff3cb5eb18b48cc787e1d33ae..106cf06b77e3f1c74e463182e3e2f91b31dd4f57 100644 (file)
@@ -20,12 +20,12 @@ TYPEDEF: TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES
 \r
 : with-process-token ( quot -- )\r
     #! quot: ( token-handle -- token-handle )\r
-    >r open-process-token r>\r
+    [ open-process-token ] dip\r
     [ keep ] curry\r
     [ CloseHandle drop ] [ ] cleanup ; inline\r
 \r
 : lookup-privilege ( string -- luid )\r
-    >r f r> "LUID" <c-object>\r
+    [ f ] dip "LUID" <c-object>\r
     [ LookupPrivilegeValue win32-error=0/f ] keep ;\r
 \r
 : make-token-privileges ( name ? -- obj )\r
@@ -39,10 +39,10 @@ TYPEDEF: TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES
         set-LUID_AND_ATTRIBUTES-Attributes\r
     ] when\r
 \r
-    >r lookup-privilege r>\r
+    [ lookup-privilege ] dip\r
     [\r
         TOKEN_PRIVILEGES-Privileges\r
-        >r 0 r> LUID_AND_ATTRIBUTES-nth\r
+        [ 0 ] dip LUID_AND_ATTRIBUTES-nth\r
         set-LUID_AND_ATTRIBUTES-Luid\r
     ] keep ;\r
 \r
index 5d94cf2d4a55ff82f34650c6a90f893fd12bde61..ecd9ea9d9b433bcbc697a3b8f763d3901677bd84 100644 (file)
@@ -176,8 +176,8 @@ TUPLE: WSASendTo-args port
 
 : make-send-buffer ( packet -- WSABUF )
     "WSABUF" malloc-object &free
-    [ >r malloc-byte-array &free r> set-WSABUF-buf ]
-    [ >r length r> set-WSABUF-len ]
+    [ [ malloc-byte-array &free ] dip set-WSABUF-buf ]
+    [ [ length ] dip set-WSABUF-len ]
     [ nip ]
     2tri ; inline
 
@@ -186,8 +186,8 @@ TUPLE: WSASendTo-args port
         swap >>port
         dup port>> handle>> handle>> >>s
         swap make-sockaddr/size
-            >r malloc-byte-array &free
-            r> [ >>lpTo ] [ >>iToLen ] bi*
+            [ malloc-byte-array &free ] dip
+            [ >>lpTo ] [ >>iToLen ] bi*
         swap make-send-buffer >>lpBuffers
         1 >>dwBufferCount
         0 >>dwFlags
index d9ab10d5e391e0bb1b56c368384a6646cbdf8f15..809af605e02090b751609af9668e9604b7707ede 100644 (file)
@@ -20,21 +20,21 @@ M: win32-socket dispose ( stream -- )
     <win32-socket> |dispose dup add-completion ;\r
 \r
 : open-socket ( addrspec type -- win32-socket )\r
-    >r protocol-family r>\r
+    [ protocol-family ] dip\r
     0 f 0 WSASocket-flags WSASocket\r
     dup socket-error\r
     opened-socket ;\r
 \r
 M: object (get-local-address) ( socket addrspec -- sockaddr )\r
-    >r handle>> r> empty-sockaddr/size <int>\r
+    [ handle>> ] dip empty-sockaddr/size <int>\r
     [ getsockname socket-error ] 2keep drop ;\r
 \r
 M: object (get-remote-address) ( socket addrspec -- sockaddr )\r
-    >r handle>> r> empty-sockaddr/size <int>\r
+    [ handle>> ] dip empty-sockaddr/size <int>\r
     [ getpeername socket-error ] 2keep drop ;\r
 \r
 : bind-socket ( win32-socket sockaddr len -- )\r
-    >r >r handle>> r> r> bind socket-error ;\r
+    [ handle>> ] 2dip bind socket-error ;\r
 \r
 M: object ((client)) ( addrspec -- handle )\r
     [ SOCK_STREAM open-socket ] keep\r
index ce75293b38a57528ad03e629d5f894af1ad6f375..94304edc05bf480a4ff0b670a127537280c2b1ba 100755 (executable)
@@ -8,7 +8,8 @@ splitting continuations math.bitwise system accessors ;
 IN: io.windows
 
 : set-inherit ( handle ? -- )
-    >r HANDLE_FLAG_INHERIT r> >BOOLEAN SetHandleInformation win32-error=0/f ;
+    [ HANDLE_FLAG_INHERIT ] dip
+    >BOOLEAN SetHandleInformation win32-error=0/f ;
 
 TUPLE: win32-handle handle disposed ;
 
index 8e230a2d0c1a22874236e65d0ab5a19500f22ae4..53d99ab1620bc6251444493eb65bef055a20ce49 100644 (file)
@@ -6,7 +6,7 @@ IN: models.range
 \r
 TUPLE: range < compose ;\r
 \r
-: <range> ( value min max page -- range )\r
+: <range> ( value page min max -- range )\r
     4array [ <model> ] map range new-compose ;\r
 \r
 : range-model ( range -- model ) dependencies>> first ;\r
index 281180126695f6abf69bfb0d639fb87666c7c6ee..d8822f51dc1eb4064d346282b3086e1edec3fda1 100644 (file)
@@ -17,23 +17,17 @@ ERROR: no-vocab vocab ;
 
 <PRIVATE
 
-: root? ( string -- ? ) vocab-roots get member?  ;
+: root? ( string -- ? ) vocab-roots get member? ;
 
-: length-changes? ( seq quot -- ? )
-    dupd call [ length ] bi@ = not ; inline
+: contains-dot? ( string -- ? ) ".." swap subseq? ;
 
-: check-vocab-name ( string -- string )
-    dup [ [ CHAR: . = ] trim ] length-changes?
-    [ vocab-name-contains-dot ] when
-
-    ".." over subseq? [ vocab-name-contains-dot ] when
+: contains-separator? ( string -- ? ) [ path-separator? ] contains? ;
 
-    dup [ path-separator? ] contains?
-    [ vocab-name-contains-separator ] when ;
+: check-vocab-name ( string -- string )
+    dup contains-dot? [ vocab-name-contains-dot ] when
+    dup contains-separator? [ vocab-name-contains-separator ] when ;
 
 : check-root ( string -- string )
-    check-vocab-name
-    dup "resource:" head? [ "resource:" prepend ] unless
     dup root? [ not-a-vocab-root ] unless ;
 
 : directory-exists ( path -- )
index 4e3ba0d9f96686290e89ac8a935fd311e631a751..9a636b795fc7f63ee6ad2f27df6a891e5f71871c 100644 (file)
@@ -8,6 +8,6 @@ os {
     { linux   [ "unix.statfs.linux"   require ] }
     { macosx  [ "unix.statfs.macosx"  require ] }
     { freebsd [ "unix.statfs.freebsd" require ] }
-    ! { netbsd  [ "unix.statfs.netbsd"  require ] }
-    ! { openbsd [ "unix.statfs.openbsd" require ] }
+    { netbsd  [ ] }
+    { openbsd [ ] }
 } case