<story><title>Surprisingly Turing-Complete</title><url>http://www.gwern.net/Turing-complete</url></story><parent_chain><item><author>Grue3</author><text>I&amp;#x27;m so tired of &amp;quot;CSS is Turing Complete&amp;quot; meme being propagated. TC is a powerful result with important consequences. Namely the impossibility to solve Halting problem. But CSS is deterministic and a CSS &amp;quot;program&amp;quot; always halts.&lt;p&gt;&amp;quot;But, but, we are making an &lt;i&gt;assumption&lt;/i&gt; that a user has to click this particular button until the page doesn&amp;#x27;t change anymore (assuming infinitely long page [1])&amp;quot;&lt;p&gt;To which I say, poppycock. The purpose of CSS language is to apply styles to the webpage. Once it is processed, the CSS &amp;quot;program&amp;quot; has done it&amp;#x27;s purpose and is finished (i.e. halted). Running the same CSS &amp;quot;program&amp;quot; over and over again until it consistently produces identical results is not the point of CSS (unlike, say LaTeX&amp;#x2F;BibTeX compilation process, where you need to compile one file several times to get citation page numbers right, which &lt;i&gt;is&lt;/i&gt; Turing complete). You might want to call it something else, like RCSS (repeated CSS). Then, RCSS is Turing complete, but plain CSS isn&amp;#x27;t. Much like a calculator that can calculate z^2 + C isn&amp;#x27;t necessarily Turing complete, while a graphical calculator that can draw a Mandelbrot fractal by iterating that formula is.&lt;p&gt;[1] which is acceptable, due to infinite memory assumption of a regular Turing machine</text></item></parent_chain><comment><author>gwern</author><text>I don&amp;#x27;t consider that a remotely relevant argument. CSS is intended to style webpages at all times, webpages which are dynamic; CSS has never had a &amp;#x27;purpose&amp;#x27; of rendering once and only once since oh, I don&amp;#x27;t know, 1997 or so. You might as well object to the _Magic: the Gathering_ example because it assumes a human to play each card mechanically; or you might as well object to the very first Turing machine in Turing&amp;#x27;s paper because he asks us to assume a setup where it&amp;#x27;s a human (or &amp;#x27;computer&amp;#x27; as they were then known as) following the instructions mechanically.</text></comment>
<story><title>Surprisingly Turing-Complete</title><url>http://www.gwern.net/Turing-complete</url></story><parent_chain><item><author>Grue3</author><text>I&amp;#x27;m so tired of &amp;quot;CSS is Turing Complete&amp;quot; meme being propagated. TC is a powerful result with important consequences. Namely the impossibility to solve Halting problem. But CSS is deterministic and a CSS &amp;quot;program&amp;quot; always halts.&lt;p&gt;&amp;quot;But, but, we are making an &lt;i&gt;assumption&lt;/i&gt; that a user has to click this particular button until the page doesn&amp;#x27;t change anymore (assuming infinitely long page [1])&amp;quot;&lt;p&gt;To which I say, poppycock. The purpose of CSS language is to apply styles to the webpage. Once it is processed, the CSS &amp;quot;program&amp;quot; has done it&amp;#x27;s purpose and is finished (i.e. halted). Running the same CSS &amp;quot;program&amp;quot; over and over again until it consistently produces identical results is not the point of CSS (unlike, say LaTeX&amp;#x2F;BibTeX compilation process, where you need to compile one file several times to get citation page numbers right, which &lt;i&gt;is&lt;/i&gt; Turing complete). You might want to call it something else, like RCSS (repeated CSS). Then, RCSS is Turing complete, but plain CSS isn&amp;#x27;t. Much like a calculator that can calculate z^2 + C isn&amp;#x27;t necessarily Turing complete, while a graphical calculator that can draw a Mandelbrot fractal by iterating that formula is.&lt;p&gt;[1] which is acceptable, due to infinite memory assumption of a regular Turing machine</text></item></parent_chain><comment><author>duaneb</author><text>&amp;gt; Namely the impossibility to solve Halting problem.&lt;p&gt;Also the possibility to compute anything possible computing with a turing machine. The fact that you can embed this logic into a style description language accidentally is a meme worth propagating, in my opinion.</text></comment>