(If you're not interested in the Python implementation, please read ahead to the next section)

Hi,

I've just committed a Python wmiirc, along with an FS abstraction library (pygmi) and a 9P client library (pyxp). The code is alpha quality, at the moment, but it seems stable enough. The API is simple, and I doubt anyone with experience in Python will have any trouble figuring it out.

As for the 9P library, you may be asking why I didn't just use py9p. The answer is that I simply don't like it. Aside from the ugly code, the implementation is just too low-level. pyxp on the other hand, is based on straightforward message descriptions and contains a high level client. I also suspect (though I haven't benchmarked) that it's significantly faster.

  Alternative wmiircs:

I'm also interested in including other cannonical alternative language wmiircs in the base distribution (and making separate code snippets/plugin pages for each on the wiki), if anyone's interested in writing them. I have the following conditions for inclusion, which shouldn't be hard to meet:

* Must be simple, concise, and elegant. Abstraction is good, but within limits. Ideally, one should be able to bind a key or action in a single line. Abstraction for filesystem objects is optional.

* Must have a non-viral license. MIT would be ideal, but LGPL and similar will do.

* Must have a native-language 9P client if possible. That means no bindings around libixp unless the language doesn't provide the means to craft a native implementation. For Lua, libixp bindings will be fine.

* Must behave similarly to the stock wmiirc in its default configuration. This means the same key bindings, bar behavior, etc. Right-click menus and status monitors may may be changed at will, and extra features are certainly acceptable.

The languages I'm most interested in at the moment are:

    * Ruby (I've already chosen Rumai and its wmiirc)
    * Lua
    * Perl
    * C
    * D

I'm somewhat less interested in Java and PHP, but I'd probably accept them if they were of acceptional quality. 9P implementations exist for both of those languages.

--
Kris Maglione

Most software today is very much like an Egyptian pyramid with
millions of bricks piled on top of each other, with no structural
integrity, but just done by brute force and thousands of slaves.
        --Alan Kay


Reply via email to