2
<p><span class="h-card" translate="no"><a href="https://infosec.exchange/@adamshostack" class="u-url mention">@<span>adamshostack</span></a></span> Sssh, we do not speak of these things on non-covert channels!</p>
<p><span class="h-card" translate="no"><a href="https://hachyderm.io/@jschuster" class="u-url mention">@<span>jschuster</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@mudri" class="u-url mention">@<span>mudri</span></a></span> <br />This is a very reasonable question. It is hard to answer because there isn&#39;t a canonical answer for what the output of the parser is.</p><p>For instance, a typical parser does not type-check (which is clearly context-sensitive). But not everything may be context-free. E.g.: the AST may not just have &quot;names&quot;, but may have bound instances referring to binding locations. If so, the parser needs to keep track of them as it goes along, which is context-sensitive.</p><p>Make sense?</p>
<p><span class="h-card" translate="no"><a href="https://scholar.social/@khinsen" class="u-url mention">@<span>khinsen</span></a></span> <span class="h-card" translate="no"><a href="https://fosstodon.org/@nilesh" class="u-url mention">@<span>nilesh</span></a></span> <br />The simpler answer is, macro expansion happens before parsing. It requires trees, hence it follows the reader; but it has constructs the parser may not know about and, more to the point, *does not need to* know about. So you can have all these extensions without having to change the core AST.</p><p>In practice, some Lisps have sufficiently complex macro systems that you have to interleave expansion and parsing: e.g., if a macro can ask questions like &quot;is this variable bound&quot;.</p>
<p><span class="h-card" translate="no"><a href="https://types.pl/@disconcision" class="u-url mention">@<span>disconcision</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@zhxsdm" class="u-url mention">@<span>zhxsdm</span></a></span> <span class="h-card" translate="no"><a href="https://mathstodon.xyz/@j2kun" class="u-url mention">@<span>j2kun</span></a></span> <br />So they renamed it away from Luna to Enso to avoid collisions, thereby creating a new (admittedly very obscure) collision? It&#39;s particularly confusing because there are so many potential similarities between the two Enso&#39;s! (And funnily, I don&#39;t know any other tool called Luna, though they must be several.)</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@shriramk" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>shriramk</span></a></span> Your love of that ancient religion hasn’t helped you conjure up the stolen data tapes!</p>
<p><span class="h-card" translate="no"><a href="https://mathstodon.xyz/@juli" class="u-url mention">@<span>juli</span></a></span> Yes indeed! That is in fact exactly why the article says &quot;blocks—the ultimate bicameral syntax&quot;.</p>
<p>Weapons from a more civilized age.</p><p>In the late 80s, PL and DB really embraced at Brown: both Zdonik and Kanellakis chaired DBPL. Plus on the OO side: Zdonik ⭢ OODBs, Wegner ⭢ Cardelli-Wegner, William Cook ⭢ modern OO theory! Will was always influenced by that DBPL vision.</p>
Attached image 0
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> Missed a bracket.</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> I love it going to share that at work</p>
Attached image 0