Differences From Artifact [da49077739a2cefa]:
File user/crc/irc.retro part of check-in [1434cca35f] - crcx irc.retro now uses chained vocabularies by crc on 2010-08-14 14:29:34. [annotate] [view]
To Artifact [23e28dfc17b8ab45]:
File user/crc/irc.retro part of check-in [5b177ebbc9] - Fix IRC client by charleschilders on 2010-09-12 16:54:14. [annotate] [view]
@@ -15,53 +15,57 @@
( skim Read from server, pausing after each line. If )
( esc is hit, stop, otherwise continue. )
( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
-chain: irc
+: get accept ;
+
+with net'
+
+chain: irc'
( Data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
- create crlf 10 , 13 , 0 ,
- 2 elements socket channel
+ create CRLF 10 , 13 , 0 ,
+ 2 elements ircSocket channel
( Code ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
- : send ( $- ) @socket \net.send drop ;
- : sendn ( $- ) send crlf send ;
- : token ( "-a ) 32 accept tib ;
- : read ( -c ) @socket \net.recv ;
- : pong ( - ) s" PONG :kornbluth.freenode.net" sendn ;
+ : write ( $- ) @ircSocket send drop ;
+ : write+ ( $- ) write CRLF write ;
+ : read ( -c ) @ircSocket recv ;
+ : pong ( - ) "PONG :kornbluth.freenode.net" write+ ;
{{
- : r ( - )
- repeat read dup 10 = over 13 = or if; emit again ;
+ : r ( - ) repeat read dup 10 = over 13 = or if; emit again ;
---reveal---
: line ( - ) r r pong reset cr ;
: lines ( n- ) for line next ;
: skim ( "- ) repeat key 27 = if; line again ;
}}
- : in ( "- ) token keepString !channel ;
+ : in ( "- ) getToken keepString !channel ;
{{
- : to ( - ) s" PRIVMSG " send @channel send s" :" send ;
- : msg ( "- ) 27 accept tib sendn ;
+ : to ( - ) s" PRIVMSG " write @channel write s" :" write ;
+ : msg ( "- ) 27 get tib write+ ;
---reveal---
: say ( "- ) to msg pong ;
}}
: /server ( "- )
- token 6667 \net.socket dup !socket \net.connect drop ;
- : /nick ( "- ) s" NICK " send token sendn ;
- : /join ( "- ) s" JOIN " send token sendn ;
+ getToken 6667 socket dup !ircSocket connect drop ;
+ : /nick ( "- ) s" NICK " write getToken write+ ;
+ : /join ( "- ) s" JOIN " write getToken write+ ;
{{
- : who ( "- ) s" USER " send token send ;
- : ident ( - ) s" 8 * : Charles Childers" sendn ;
+ : who ( "- ) s" USER " write getToken write ;
+ : ident ( - ) s" 8 * : Charles Childers" write+ ;
---reveal---
: /user ( "- ) who ident ;
}}
;chain
-with irc
+hide get
+
+with irc'
( Make Connection ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
/server kornbluth.freenode.net
/nick rx-irc
/user crc_rxirc
/join #retro
in #retro