Lambda the Ultimate

inactiveTopic UBF: Universal Binary Format
started 11/1/2002; 1:37:57 AM - last post 11/3/2002; 5:08:04 AM
Luke Gorrie - UBF: Universal Binary Format  blueArrow
11/1/2002; 1:37:57 AM (reads: 1726, responses: 3)
UBF: Universal Binary Format
Joe Armstrong's UBF is intended as a tasteful alternative to the XML family of standards. It has three layers:

  • Transport format - binary format for tree-structured data. This lowest level includes elementary datatypes like symbols, numbers, lists, "BLOBs" and so on. Although a binary format, it tends to be human readable.
  • Type system - type definitions for structured schemas/grammars.
  • Contracts - formal client/server protocol descriptions, which can be automatically enforced so that protocol violations are never seen by applications.

Described best in the paper Getting Erlang to talk to the outside world from the recent ACM SIGPLAN Erlang Workshop.

A nice feature of UBF is that it is trivial to efficiently encode and decode: a parser can be written as a very neat stack machine, treating each input character as an instruction. It doesn't require any "parser stuff" like look-ahead, backtracking, etc.


Posted to xml by Luke Gorrie on 11/1/02; 1:50:38 AM

Jo Totland - Re: UBF: Universal Binary Format  blueArrow
11/1/2002; 1:25:08 PM (reads: 1084, responses: 0)
Hmm...

Universal - no, it's not anywhere

Binary - no, this makes sense even without a hex editor

Format - no, it's a meta-format

Any better acronym out there?

Luke Gorrie - Re: UBF: Universal Binary Format  blueArrow
11/1/2002; 10:32:57 PM (reads: 1057, responses: 0)
I guess you have to count yourself lucky to find any 3-letter acronym still available these days :-)

(Snooty of me to say "Tasteful alternative" in the news summary, but there ain't no editing those slips after they're posted :-)

Andreas Fuchs - Re: UBF: Universal Binary Format  blueArrow
11/3/2002; 5:08:04 AM (reads: 943, responses: 0)
> Universal - no, it's not anywhere

Universal can also refer to its versatility, not only to its omnipresence. I would very much like to see it in the Twisted Framework (http://www.twistedmatrix.com/products/twisted/) or somewhere similarly "up there". (-:

> Binary - no, this makes sense even without a hex editor

Note that ASCII is also a binary format for representing text. Also note that UBF includes directives for embedding binary objects in the stream, which need not make sense without a Hex editor.

> Format - no, it's a meta-format

Meta-formats are formats too (-;