<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: IronFox05</title><link>https://news.ycombinator.com/user?id=IronFox05</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 02 Aug 2026 02:08:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=IronFox05" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by IronFox05 in "Clockwise/Spiral Rule (1994)"]]></title><description><![CDATA[
<p>Call me a hater but I don't like the spiral rule and I like "declaration follows use" even less.<p>How do you make an std::array of a given type? Wrap the existing type in an extra layer of std::array, we all know this, it makes sense, there's no reasonable alternative. How do you make a C-array of a given type? Oh boy, "prepend the array specifier before the list of existing array specifiers" (actually it's worse because you have to find the right possibly-empty array of existing array specifiers first, just because there's a list of array specifiers somewhere in the type doesn't mean it's the one you should be prepending to).<p>"Declaration follows use" immediately goes out the window when faced with typedeffed types being used as the base type, or (as mentioned) generics in descendant languages of C. Instead you get "declaration builds up a type by wrapping layers around a core, use breaks down a type layer by layer starting from the outside" (so, necessarily, they mirror each other). C could have worked that way, and it would have made more sense.<p>"Declaration follows use" is the type level equivalent of taking off your socks before taking off your shoes because that's the order in which you put them on.</p>
]]></description><pubDate>Fri, 31 Jul 2026 17:57:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=49126503</link><dc:creator>IronFox05</dc:creator><comments>https://news.ycombinator.com/item?id=49126503</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49126503</guid></item></channel></rss>