<div dir="ltr"><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">Rather than allowing any CL S-expression (except that all symbols must be keywords), I propose that you allow only a more restricted variety of S-expressions so that they can be readily read and processed in any other language, while being compatible with a whole bunch of Lisp's read (without full validation) and print/write functions.</div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large"><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">Specifically I propose POSE <<a href="https://github.com/s-expressions/pose/blob/master/README.adoc#specification">https://github.com/s-expressions/pose/blob/master/README.adoc#specification</a>>, which allows only a restricted set of symbols, arbitrary integers, floats, and strings, and lists.  (Most of that page is the rationale, which does not need to be read unless it interests you). </div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large"><br></div><div class="gmail_default" style="font-family:times new roman,serif;font-size:large">Code is provided to parse POSE in many languages, but the CL is not up to date, as it does not yet handle keywords, only colon-free identifiers.  (But of course there is no reason not to use your own code if you want.)</div></div>