<story><title>JsonLogic</title><url>https://jsonlogic.com/</url></story><parent_chain><item><author>whalesalad</author><text>Ultimately it’s all data. The difference between this and lisp is just a bunch of extra characters and noise in the stream.&lt;p&gt;What is really the meaningful difference between this and an s-expression language? “” and {}, really. It’s a different way to serialize the same thing.&lt;p&gt;So I’d argue a lot of the criticism is valid.&lt;p&gt;We do, as an industry, tend to run in circles.</text></item><item><author>joshlemer</author><text>A lot of shallow, smug snark coming into the comments section from people who know what s-expressions are and I guess want to brag about that for some reason. S expressions are cool but that&amp;#x27;s just _a syntax_, there are other possible syntaxes for expressions, and it&amp;#x27;s perfectly fine that somebody chooses to embed a language in JSON rather than s-expressions. Everyone suggesting to use Scheme or Clojure or Common Lisp and dropping the meme-quote that everyone eventually reimplements Lisp are missing the fact that this language is designed to be evaluated deterministically, so it does not support looping or functions and is Turing-Incomplete, unlike Clojure&amp;#x2F;Scheme&amp;#x2F;CommonLisp.</text></item></parent_chain><comment><author>brundolf</author><text>The difference is the collection of extremely powerful parsers, tooling, language support, etc that already exist for this syntax. There&amp;#x27;s a proper Content-Type header, blazing-fast native parsing in web apps, you could store it directly in MongoDB or the like without an extra serialization&amp;#x2F;parse step, you could query it with jq. Heck, you could statically-check these expressions using TypeScript.&lt;p&gt;Lispers are always pointing out how the parenthesis-and-whitespace notation is just incidental; how s-expressions are really something deeper that isn&amp;#x27;t bound to a specific syntax, and how this is a strength. The OP is a &lt;i&gt;demonstration&lt;/i&gt; of that strength.</text></comment>
<story><title>JsonLogic</title><url>https://jsonlogic.com/</url></story><parent_chain><item><author>whalesalad</author><text>Ultimately it’s all data. The difference between this and lisp is just a bunch of extra characters and noise in the stream.&lt;p&gt;What is really the meaningful difference between this and an s-expression language? “” and {}, really. It’s a different way to serialize the same thing.&lt;p&gt;So I’d argue a lot of the criticism is valid.&lt;p&gt;We do, as an industry, tend to run in circles.</text></item><item><author>joshlemer</author><text>A lot of shallow, smug snark coming into the comments section from people who know what s-expressions are and I guess want to brag about that for some reason. S expressions are cool but that&amp;#x27;s just _a syntax_, there are other possible syntaxes for expressions, and it&amp;#x27;s perfectly fine that somebody chooses to embed a language in JSON rather than s-expressions. Everyone suggesting to use Scheme or Clojure or Common Lisp and dropping the meme-quote that everyone eventually reimplements Lisp are missing the fact that this language is designed to be evaluated deterministically, so it does not support looping or functions and is Turing-Incomplete, unlike Clojure&amp;#x2F;Scheme&amp;#x2F;CommonLisp.</text></item></parent_chain><comment><author>athrowaway3z</author><text>I remember years ago when i first came to hackernews there was a project very similar to this. An engineer blog proud of the AST they encoded as JSON.&lt;p&gt;I had only a vague idea of what an AST was, but the highest upvoted comment was clearly saying: This is dumb, we have dedicated formats for turning text into ASTs. ( i.e. a programming language ).&lt;p&gt;In the past decade+? i have learned what an AST is and have now twice, in a professional setting, prevented an engineer from re-inventing this very concept.&lt;p&gt;If i had to choose if hackernews is a place where smug snark comments crack down on re-inventing known concepts or a happy place where every idea is a good one i will choose  the former.&lt;p&gt;And once every blue moon we get to laugh and look back at snarky comments such as this: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=9224&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=9224&lt;/a&gt;</text></comment>