Data Language (DL) was originally
conceived of as the next evolutionary step in computer
graphics file formats for describing 3D geometry and
associated scene data, but its applicability is
potentially much broader. (Update: Its utility has since
been supplanted by Google's protobuf and flatbuffers, but it still contains
novel and potentially fruitful ideas.)
A document describing DL can be found here. Two implementations
currently exist. The first is a 'reference'
implementation in Standard ML to help confirm that the
design is logically sound, and to provide a starting
point for future utilities. It is available here. The
second is written in C++ and is implemented to optimize
data structures typically used by 3D graphics
applications.