>> >> >> >> >> >> >> >> >> ;" TS-RBC FIX TS-WJFN TS-WBUF TS-WBC FIX \"REST\" TS-EXTRA ANY>" TB-RBC FIX TB-WJFN TB-WBUF TB-WBC FIX> > > ) MODE RJFN WJFN BSZ (WRITE? <>) (BUF? <>)) #DECL ((NAME MODS BYTES) STRING (IBUF? OBUF?) (NEW? BUF?) (MODE BSZ) FIX (RJFN WJFN) ) FIX>>) (<=? .MODS "CREATE"> FIX>>) (<=? .MODS "MODIFY"> FIX>>) (T )> ) (<=? .BYTES "BINARY"> ) (T )> > > ,BUFFERED> )> )> )>)> )> 0 )> 0] TWAY-BASE>)>> ) ()>> \ ) (IBUF ) VAL) #DECL ((CHANNEL) CHANNEL (DATA) (IBUF) ) > ; "This allows CHANNELs to do funny buffering without re-inventing the wheel." >> )> >)> > <>) (T > 1>> > .VAL)>) (T '(RETURN 2)>> 7> ) (.VAL)>)>)>> ) (JFN ) (BUF >) NB CT) #DECL ((CHANNEL) CHANNEL (DATA) (JFN) FIX (BUF) (CT) ) >>>> >> .CT)>> ) (CONT 0) "AUX" (DATA ) (IBUF ) BC) #DECL ((CHANNEL) CHANNEL (BUF) (BC LEN CONT) FIX (DATA) (IBUF) ) :FIX>> <- >>>> >> <+ .CONT .BC>)>) (T > )> > > ) >>> > > > .TRANS> )>> .IBUF >) ( > > .TRANS> )>> >)>> > > > > >)> <0? .TRANS>> ) (T > <0? >> )> >)>>)>> \ ) (JFN ) (BUF )) #DECL ((CHANNEL) CHANNEL (BYTE) (DATA) (JFN) ) )> '(RETURN 2)>) (T >)> <1 .BUF ) ()>> > 1>>)> .BYTE> ) >> >> <- >>> )>)> >>> ) (JFN ) (BC ) (BUF )) #DECL ((CHANNEL) CHANNEL (DATA) (JFN) (BC) FIX (BUF) (FORCE?) ) >> )> )> T)>> ) "AUX" (DATA ) (JFN ) (OBUF )) #DECL ((CHANNEL) CHANNEL (BUF) (JFN) (LEN) FIX) )> :FIX>> *7*> *7*>>> )> >> <- :FIX :FIX>)>) (0)>) (T ) ( >)> :FIX .LEN>> > > .TRANS> )>> .BUF >) ( > > .TRANS> )>> >)> > >> .TRANS>> > >>)>> \ )) #DECL ((CHANNEL) CHANNEL (DATA) ) )> >)> > >)> > )) #DECL ((CHANNEL) CHANNEL (DATA) ) > > > > >>>)> > > >>>)>)> T>