<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: Times New Roman; font-size: 12pt; color: #000000'>Joe, do you expect all the data to have meaning in all the languages it passes through? Or would it be enough to jut be able to pass on that which cannot be understood?<br><br>Robert<br><br><hr id="zwchr"><blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;">I guess you all know about Chinese whispers. <div><br></div><div>You send a whispered message round a circle and see if you get the same</div><div>message back.</div><div><br></div><div>The computer variant is as follows:</div>
<div><br></div><div>Send a complex data structure round a circle, and see if you get the same message back.</div><div><br></div><div>The circle is a ring of processes written in *different* programming languages.</div><div>
The message is a complex message, containing primitives such as integers, booleans</div><div>and strings and constructed types "sequence of" "tuple of" etc.</div><div><br></div><div>Messages are sent over sockets. I want each language to unpack the message into the</div>
<div>internal form that is appropriate for that form, and then reconstruct the message from the internal form.</div><div><br></div><div>This is something that I think *should be very easy* but is in fact very difficult.</div>
<div><br></div><div>In a previous post I outlined how Erlang could talk to javascript but this method is not  simple</div><div>and not compete - it would break done, for example if the integers were bignums.</div><div><br>
</div><div>What should we use for the internal form? JSON is untyped so will give us lots of problems.</div><div>ASN.1 is great but badly supported in many PLs - xml? - but the schemas are horrible.</div><div>Thrift? - Google protocol buffers ... some kind of self-describing binary format would seem</div>
<div>appropriate - bert for example.</div><div><br></div><div>I really would be nice to solve this problem is the simplest possible way so that it</div><div>was very easy to send whispers round a circle and get back what you sent.</div>
<div><br></div><div>/Joe</div><div><br></div><div><br></div><div><br></div><div><br></div>
<br>_______________________________________________<br>erlang-questions mailing list<br>erlang-questions@erlang.org<br>http://erlang.org/mailman/listinfo/erlang-questions<br></blockquote><br></div></body></html>