<div dir="ltr">I&#39;ve got a peculiar need. Literally: it involves &quot;peculiar&quot; identifiers.<div><br></div><div>I&#39;m using s7 to convert Dune build files to Bazel build files. Dune is the standard build tool for OCaml.  Its build language syntax is s-expressions.  Unfortunately they are not quite Scheme s-expressions.  Here&#39;s one I&#39;ve come across that makes the s7 reader puke:<div><br></div><div>(run %{bin:tezos-protocol-compiler}  .)<br></div><div><br></div><div>The error message is &quot;;read-error (&quot;unexpected close paren: ... (write (define x &#39;(action .)) ...&quot;)..&quot;</div><div><br></div><div>The problem is the isolated &#39;.&#39;; if I change that to &#39;./&#39; then it reads just fine. I believe that&#39;s because &#39;./&#39; is a legal &quot;peculiar identifier&quot; (at least for R7RS) while &#39;.&#39; is not.</div><div><br></div><div>So my question is: can I extend the reader to accept &#39;.&#39; as a peculiar identifier without breaking things?  I&#39;m guessing it would be a simple change if I knew where that code is, but I&#39;m wondering about unintended consequences.</div><div><br></div><div>Of course I could warn my users that they need to use &#39;./&#39; and not &#39;.&#39; (as a directory name), but I think extending the reader would be better. The tool is not intended for general programming, and scripts written for it would have very limited scope, so it&#39;s not really critical to have a strictly conformant Scheme.</div><div><br></div><div>Thanks,</div><div><br></div><div>Gregg</div><div><br></div><div><br></div><div><br></div></div></div>