lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hi,

I am releasing LTN012. Here is the abstract:

    Certain operations can be implemented in the form of filters. A filter
    is a function that processes data received in consecutive function
    calls, returning partial results chunk by chunk.  Examples of operations
    that can be implemented as filters include the end-of-line normalization
    for text, Base64 and Quoted-Printable transfer content encodings, the
    breaking of text into lines, SMTP byte stuffing, and there are many
    others.  Filters become even more powerful when we allow them to be
    chained together to create composite filters. Filters can be seen as
    middle nodes in a chain of data transformations. Sources an sinks are
    the corresponding end points of these chains. A source is a function
    that produces data, chunk by chunk, and a sink is a function that takes
    data, chunk by chunk. In this technical note, we define an elegant
    interface for filters, sources, sinks and chaining. We evolve our
    interface progressively, until we reach a high degree of generality. We
    discuss difficulties that arise during the implementation of this
    interface and we provide solutions and examples.

It is temporarily at:

    http://www.cs.princeton.edu/~diego/ltn012.html

This LTN explains some of the cool ideas we are using in the new
LuaSocket, but that can be used elsewhere.  Comments are welcome!

[]s,
Diego.