<div dir="ltr">I don&#39;t have much to contribute to serialization etc, but psoa is `parameterized state of affairs&#39;, and I think it comes from the situation semantics literature.<div><br></div><div>Emily</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 24, 2020 at 6:36 PM <a href="mailto:goodman.m.w@gmail.com">goodman.m.w@gmail.com</a> &lt;<a href="mailto:goodman.m.w@gmail.com">goodman.m.w@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 25, 2020 at 7:07 AM Alexandre Rademaker &lt;<a href="mailto:arademaker@gmail.com" target="_blank">arademaker@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Hi Michael and Stephan,<br>
<br>
A good place to learn about the Lisp format is <br>
<a href="http://www.gigamonkeys.com/book/a-few-format-recipes.html" rel="noreferrer" target="_blank">http://www.gigamonkeys.com/book/a-few-format-recipes.html</a><br>
<br>
<span class="gmail_default" style="font-family:arial,helvetica,sans-serif">[...]</span></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Thanks Alexandre for the links and the explanation.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I tried reading some elisp docs and a guide on format in order to understand the expression when Stephan posted it, but after about 20 minutes I decided that was too much effort just to understand an email, so I gave up.<br></div></div><br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
It looks like the serialisation/encode of EDS in pydelphin is also robust to empty top:<br>
<br>
<a href="https://github.com/delph-in/pydelphin/blob/develop/delphin/codecs/eds.py#L257" rel="noreferrer" target="_blank">https://github.com/delph-in/pydelphin/blob/develop/delphin/codecs/eds.py#L257</a><br></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Hmm, I guess I anticipated that because I allow an empty top in the data structure. Thanks for digging that up!</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
But the decode/parse is not, see tests below. Actually, encode should not emit a colon in the first line and, of course, there is this discussion about the line-oriented format that would require a broad review of the encode/decode of EDS.<br></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">I think the colon was deliberate to avoid potential ambiguity with the identifier of the first node. Stephan instead wants to make newlines obligatory. I&#39;m happy to make newlines + indentation the default for EDS native serialization, but I&#39;m not prepared to get rid of the ability to write single-line EDS.<br></div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
I have submitted a PR to Michael solving the translation from MRS to EDS, but I didn’t touch in the decode/encode functions. <br></blockquote><div><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Thanks, I&#39;ll take a look.</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I found the Lisp code in the lkb/src/mrs/dependencies.lisp file, so it is part of the LKB source code. I am curious, what `psoa` stands for?<br>
<br></blockquote><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">&quot;probable-state-of-affairs&quot;. But I&#39;m not sure where that terminology comes from.<br></div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br><span class="gmail_default" style="font-family:arial,helvetica,sans-serif">[...]</span><br>
&gt;&gt;&gt; edsnative.decode(x)<br>
Traceback (most recent call last):<br>
  File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;<br>
  File &quot;/Users/ar/venv/lib/python3.8/site-packages/delphin/codecs/eds.py&quot;, line 110, in decode<br>
    lexer = _EDSLexer.lex(s.splitlines())<br>
AttributeError: &#39;EDS&#39; object has no attribute &#39;splitlines&#39;<br></blockquote><div><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Here you have attempted to decode x, which is the EDS data structure. Instead you&#39;d want to do `edsnative.decode(edsnative.encode(x))`, but that also fails because it expects the top variable before the colon. It appears my robustness attempt was incomplete.</div></div><br>-- <br><div dir="ltr">-Michael Wayne Goodman</div></div>
</blockquote></div>