<story><title>Little Languages</title><url>https://www.maxhallinan.com/posts/2018/12/07/little-languages/</url></story><parent_chain><item><author>sharpercoder</author><text>I&amp;#x27;m very fond of small, specific and simple languages without sacrificing inherent complexity. For me, that includes IP adresses, UUIDs, timestamps, URIs, println formatting, et cetera.&lt;p&gt;It&amp;#x27;s a shame though that we don&amp;#x27;t represent them as such in the current state of affairs but choose to implement them separately in every language. Can we have a fast, universal, feature complete parser generator that is natively supported in our mainstream languages?&lt;p&gt;For instance, think adding an ANTLR grammar into a .NET project and then be able to just do `var ipAddress = ip&amp;quot;127.0.0.1&amp;quot;;` and get full editor support with that.</text></item></parent_chain><comment><author>nathell</author><text>Clojure (and EDN) has it in the form of tagged literals.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;clojure.org&amp;#x2F;reference&amp;#x2F;reader#tagged_literals&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;clojure.org&amp;#x2F;reference&amp;#x2F;reader#tagged_literals&lt;/a&gt;</text></comment>
<story><title>Little Languages</title><url>https://www.maxhallinan.com/posts/2018/12/07/little-languages/</url></story><parent_chain><item><author>sharpercoder</author><text>I&amp;#x27;m very fond of small, specific and simple languages without sacrificing inherent complexity. For me, that includes IP adresses, UUIDs, timestamps, URIs, println formatting, et cetera.&lt;p&gt;It&amp;#x27;s a shame though that we don&amp;#x27;t represent them as such in the current state of affairs but choose to implement them separately in every language. Can we have a fast, universal, feature complete parser generator that is natively supported in our mainstream languages?&lt;p&gt;For instance, think adding an ANTLR grammar into a .NET project and then be able to just do `var ipAddress = ip&amp;quot;127.0.0.1&amp;quot;;` and get full editor support with that.</text></item></parent_chain><comment><author>wcrichton</author><text>Typed literal macros [0] are a principled way of integrating these kinds of mini-languages into a bigger general-purpose language.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cyrus-&amp;#x2F;relit&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cyrus-&amp;#x2F;relit&lt;/a&gt;</text></comment>