[erlang-questions] UBF

Hynek Vychodil <>
Thu Jan 15 12:34:27 CET 2009

I have written UBF inspired type notation (schema) for REST API
specification in our project. This schema was initially used for
documentation and more later for type checking. Due practical use I found
some drawback.

UBF is not extensible in backward compatibility manner as XML or Protocol
buffer (Google) is.
UBF type system is not expressive as real project can need. Would be usable
if types can by described in functional manner:
     metaIn() = {meta, name(), author()};
     metaOut() = {meta, name(), author(), timestamp()};
     metric(X) = {metric, X, content()};
     metricIn() = metric(metaIn());
     metricOut() = metric(mataOut());
Another successive type system enhancement is ability to add variant to
existing list or tuple or dictionary (see above).
UBF is lack of dictionary construct (as Erlang) and my attempt to add this
to type system is not as nice as original

Anyway I found UBF as very inspirative piece of work.
    UBF is far simplier than XML or ASN.1 or other equivalents.
    Contracts would be very usefull in big projects. (Unfortunately its
using is hard to put trough management.)
    UBF coding and decoding is very nice and simple.

On Thu, Jan 15, 2009 at 10:13 AM, Steve Davis <
> wrote:

> All,
> Having just had a discussion with a friend about client server
> protocol design, I remembered to reference back to Joe's proposal for
> UBF. I re-read the pdf paper and the power of "programming by
> contract" really struck home with me on re-read in a *big way*.
> Despite the fact that UBF seems to have been rather inactive
> development-wise for 5 years, it really does look to me like it's the
> right solution for us (a large amount of small messages, various
> client platforms/technologies).
> So I'm wondering...
> * Does anybody have experience of using UBF?
> * Was this experience of using UBF 100% positive?
> * Can anyone think of any downside to using UBF over XML/WSDL (apart
> from the obvious cultural ones)?
> thanks!
> /s
> _______________________________________________
> erlang-questions mailing list
> http://www.erlang.org/mailman/listinfo/erlang-questions

--Hynek (Pichi) Vychodil

Analyze your data in minutes. Share your insights instantly. Thrill your
boss.  Be a data hero!
Try Good Data now for free: www.gooddata.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090115/f9a8f136/attachment.html>

More information about the erlang-questions mailing list