<p><span class="h-card" translate="no"><a href="https://mastodon.social/@shriramk" class="u-url mention">@<span>shriramk</span></a></span> <br />I&#39;m not saying it isn&#39;t good at other things. But I don&#39;t think it&#39;s uniquely good at most things. For example, there are things that APL, Haskell or C might be better at. And I genuinely think that, for example, Lisp (Steve Russell&#39;s, not John McCarthy&#39;s or Peter Landin&#39;s) sucks at being a pen&amp;paper/blackboard notation, and that Haskell or APL or even C are much better at that. (Of course, XSLT would be even worse in that context! (Although I find it hard to think of a context at which XSLT would be better))</p><p>I think that trees are a special structure (in the context of languages) because we like it when languages are compositional.</p><p>However, I don&#39;t think that you would benefit much if you were using a language with a Lisp-like syntax that wouldn&#39;t support macros, i.e. wouldn&#39;t allow to apply its tree transformation features to its own expressions. (You would still get some benefits from generic tools that allow you to work with s-expressions, like Emacs or the GRASP thing that I&#39;m working on)</p><p>But what this &quot;self-applicability&quot; effectively does is it lets you decide exactly what your programs are going to look like, which is unlike any other programming experience that I ever had.</p><p>(At Bell Labs they had this TMG thing - which was also self-applicable - that was later replaced by Yacc which effectively allowed them to define plethora of languages, which was perhaps similar in some ways)</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></p>
Reply