Me and some friends wrote an IRC client in Go. We have tried it under OS X, FreeBSD, GNU/Linux and even on Windows.
Project page here:
By default it gives you a readline-like user interface with command
history and the usual command line editing with arrow keys and Emacs
keys. If you give it the argument
-sub it uses a dumb TTY interface
instead which may be usable if you write your own UI interface. So far
we have a graphical user interface written in C# (not yet released)
that works under Windows and an experimental websockets interface in
its early phases.
Tell me what you think!