Awesome! At Vital Labs we use Aleph in production for our HTTP and (soon to be) websocket services. I have nothing but good things to say about it. It makes using Netty a breeze in Clojure.
For an unrelated side project, I have been using Aleph to communicate over UDP with an old MMORPG called Star Wars Galaxies. Since UDP is not stream oriented, some of the architecture which make Aleph easy to reason about through Manifold for HTTP/TCP do not seem to carry over as cleanly when dealing with UDP services.
Would you be open to writing a comprehensive UDP example for Aleph so that potential users could see how the author intends such services to be written in tandem with your other libraries, namely Manifold, Gloss, and byte-streams?
In particular, SWG uses a convoluted protocol which involves optional XOR decryption of the body using an integer exchanged in the first packet you see from the game client (and saved for all future communication with the client until they go link dead), followed by optional decompression with DEFLATE of the body (not the header nor footer) depending on a value in the decrypted first byte of the footer, followed by variable-length (opcode driven) body decoding. To deal with the problem of unreliable transmission, you also need to ack sequenced packets before responding to a specific kind of message. Sometimes this needs to be repeated due to loss, etc. To respond you also need to invert the decoding process, so compress -> encrypt -> etc.
Since many of these requirements break the more functional, streaming nature of Manifold's design I have found that the code quickly devolves into madness. I imagine it would be very enlightening to see how you would solve these or similar problems with Aleph.
Thanks for the great library,
Adrian