<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
<div>Does the role of contract checker act something like validator? If so, does that imply binary_to_term/ term_to_binary does not use that because the communication happens within Erlang environment? I could totally go wrong as I am not familiar with it; but I am curious, because I learned a lot of concepts from Erlang and from reading Joe Armstrong's thesis, even though I never wrote any Erlang code at all. Really appreciate those writings. That helps me a lot in learning system design, and many other parts in programming as well.   <br></div><div dir="auto"><br></div><div>Oct 28, 2021, 21:51 by ulf@wiger.net:<br></div><blockquote class="tutanota_quote" style="border-left: 1px solid #93A3B8; padding-left: 10px; margin-left: 5px;"><div dir="ltr"><div><br></div><div>The key feature of UBF was that beyond being a serialization format, it was also a contract checker.<br></div><div>That was a very nice feature. If you'd like to do something like that today, perhaps you'd go for JSON or MessagePack encoding, JSON-Schema and Jesse.<br></div><div><br></div><div>Needless to say, Joe's solution was far more elegant. It was also far less supported, even when he was alive. Joe was always searching for the next interesting challenge, and as memory serves, he parked UBF thinking that he wasn't 100% satisfied with it. It didn't bother him to park something for a decade while trying to address that final wrinkle.<br></div><div><br></div><div>BR,<br></div><div>Ulf W<br></div><div><br></div><div><a shape="rect" rel="noopener noreferrer" target="_blank" href="https://gmail.app.vereign.com/#CiAzy_GB8f6QvveZ4EbTaXoDdsWTb_ETB6W49Cwj1RyD1xIggbHUSgcbmAeIDsfNGcBv5GttvylTY3bzBmlLx8UQ6AA=" id="seal-container-v1-2b121f83eea49a7b1f47514a026bd644601f52a0f203394da1d6a9ca74505d2f"><img style="width: 145px; height: 219px;" src="cid:ii_kvb099000" alt="Vereign Seal" id="seal-image-2b121f83eea49a7b1f47514a026bd644601f52a0f203394da1d6a9ca74505d2f" class="" width="145" height="219"></a><br></div></div><div><br></div><div class=""><div class="" dir="ltr">On Thu, Oct 28, 2021 at 7:45 AM <<a href="mailto:hamishberridge@tutanota.com" rel="noopener noreferrer" target="_blank">hamishberridge@tutanota.com</a>> wrote:<br></div><blockquote style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex; --darkreader-inline-border-left:#3e4446;" class="" data-darkreader-inline-border-left=""><div><div><br></div><div dir="auto">I haven't used Erlang, so I suppose my question is very naive. I read that UBF[1] is not maintained. So I am wondering what's used by Erlang as serialization format? Is there a new one that replaces UBF? Or UBF is still used as it, it's just not much change as it's stable? <br></div><div dir="auto"><br></div><div dir="auto">If there are UBF alternative options, what options are available? <br></div><div dir="auto"><br></div><div dir="auto">Many thanks<br></div><div dir="auto"><br></div><div dir="auto">[1]. <a target="_blank" href="https://github.com/ubf/ubf" rel="noopener noreferrer">https://github.com/ubf/ubf</a><br></div></div></blockquote></div></blockquote><div dir="auto"><br></div>  </body>
</html>