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.<br><br>
UBF is not extensible in backward compatibility manner as XML or Protocol buffer (Google) is.<br>UBF type system is not expressive as real project can need. Would be usable if types can by described in functional manner:<br>
     metaIn() = {meta, name(), author()};<br>     metaOut() = {meta, name(), author(), timestamp()};<br>     metric(X) = {metric, X, content()};<br>     metricIn() = metric(metaIn());<br>     metricOut() = metric(mataOut());<br>
Another successive type system enhancement is ability to add variant to existing list or tuple or dictionary (see above).<br>UBF is lack of dictionary construct (as Erlang) and my attempt to add this to type system is not as nice as original<br>
<br>Anyway I found UBF as very inspirative piece of work.<br>    UBF is far simplier than XML or ASN.1 or other equivalents.<br>    Contracts would be very usefull in big projects. (Unfortunately its using is hard to put trough management<span class="vcb_rt"></span>.)<br>
    UBF coding and decoding is very nice and simple.<br><br><div class="gmail_quote">On Thu, Jan 15, 2009 at 10:13 AM, Steve Davis <span dir="ltr"><<a href="mailto:steven.charles.davis@gmail.com">steven.charles.davis@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">All,<br>
<br>
Having just had a discussion with a friend about client server<br>
protocol design, I remembered to reference back to Joe's proposal for<br>
UBF. I re-read the pdf paper and the power of "programming by<br>
contract" really struck home with me on re-read in a *big way*.<br>
Despite the fact that UBF seems to have been rather inactive<br>
development-wise for 5 years, it really does look to me like it's the<br>
right solution for us (a large amount of small messages, various<br>
client platforms/technologies).<br>
<br>
So I'm wondering...<br>
* Does anybody have experience of using UBF?<br>
* Was this experience of using UBF 100% positive?<br>
* Can anyone think of any downside to using UBF over XML/WSDL (apart<br>
from the obvious cultural ones)?<br>
<br>
thanks!<br>
/s<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>--Hynek (Pichi) Vychodil<br><br>Analyze your data in minutes. Share your insights instantly. Thrill your boss.  Be a data hero!<br>Try Good Data now for free: <a href="http://www.gooddata.com">www.gooddata.com</a><br>