Not logged in

Artifact 0da2a1dec701c00ea48618e0101061a9dd1f5b34

File user/crc/irc.retro part of check-in [a97515de3b] - Add start of IRC client by crc on 2010-06-17 13:06:37. [annotate]


( Rx to IRC Bindings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
( String Manipulation                                         )
( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
( Copyright [c] 2009 - 2010, Luke Parrish                     )
( Copyright [c] 2010, Marc Simpson                            )
( License: ISC                                                )
( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )

&net open
vocab client
((
  variable sock
  : newClient ( $p-f ) net.socket dup !sock net.connect ;
  : <send> ( $-f ) @sock net.send ;
  : <read> ( -c )  @sock net.recv ;
))

create crlf 10 , 13 , 0 ,

: send  <send> drop ;
: sendn send crlf send ;

" irc.freenode.net" 6667 newClient constant irc
" NICK rx-irc" sendn
" USER crc 8 *  : Charles Childers" sendn
" JOIN #retro" sendn

: say s" PRIVMSG #retro :" send '. accept tib send crlf send ;

: r repeat <read> dup 10 = over 13 = or if; emit again ;
: get r r reset ;
: lines repeat key 27 = if; get cr again ;