[erlang-questions] Chinese whisper problem

Joe Armstrong <>
Fri Nov 25 16:18:09 CET 2011


I guess you all know about Chinese whispers.

You send a whispered message round a circle and see if you get the same
message back.

The computer variant is as follows:

Send a complex data structure round a circle, and see if you get the same
message back.

The circle is a ring of processes written in *different* programming
languages.
The message is a complex message, containing primitives such as integers,
booleans
and strings and constructed types "sequence of" "tuple of" etc.

Messages are sent over sockets. I want each language to unpack the message
into the
internal form that is appropriate for that form, and then reconstruct the
message from the internal form.

This is something that I think *should be very easy* but is in fact very
difficult.

In a previous post I outlined how Erlang could talk to javascript but this
method is not  simple
and not compete - it would break done, for example if the integers were
bignums.

What should we use for the internal form? JSON is untyped so will give us
lots of problems.
ASN.1 is great but badly supported in many PLs - xml? - but the schemas are
horrible.
Thrift? - Google protocol buffers ... some kind of self-describing binary
format would seem
appropriate - bert for example.

I really would be nice to solve this problem is the simplest possible way
so that it
was very easy to send whispers round a circle and get back what you sent.

/Joe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20111125/04ce5a28/attachment.html>


More information about the erlang-questions mailing list