lua-users home
lua-l archive

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


* Josh Simmons:

> * Trivial to parse in every language without making errors.

Apparently, this is not entirely true:

            val, ext = parse(ext)

            -- If val is nil, then ext is actually an error message.
            if not val then
                return val, ext
            end

            local val, ext = parse(ext)
            if not val then
                return nil, ext
            end

Your implementation does not round-trip, either.

> * Resistant to buffer overflows and other problems.

Your implementation results in near-quadratic run time in terms of the
input string length.

> * Fast and low resource intensive.

The format requires buffering all data before decoding can start.
This means that decoding arbitrary messages requires unbounded
storage.

> * Transport agnostic, so it works with streams, messages, files,
> anything that's 8-bit clean.

The format is non-streaming, so it cannot itself serve as a transport
for byte streams.