This structure was originally requested by the LuaDist team, but it makes things harder for everyone else because you can no longer just clone vstruct into your lua_path and require it. Since (a) LuaDist can wrap this project in a subdir more easily than other users can unwrap it and (b) the LuaDist project is dead anyways, I'm undoing this.
see this thread: http://lua-users.org/lists/lua-l/2008-11/msg00075.html
…dbits methods There is no readahead optimization at the moment, so IO consisting of many small reads is likely to murder performance (again).
…ger handled by vstruct.unpack) and document it.
…ing with lua convention
ast.parse has been simplified, and now just returns the root node of the AST. Argument checking is performed in the vstruct.api library and in the wrappers in vstruct.init; vstruct.api.compile is also responsible for wrapping the root node in something the user can call methods on.
…of errors. Previously, if a pack or unpack raised, it would interrupt the test before any of the calls to record(). With this change, it will record the result of each operation as soon as it completes, so any operation that completes without raising will get a result recorded.