David Neto<p><span class="h-card"><a href="https://mastodon.social/@pervognsen" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>pervognsen</span></a></span> </p><p>We're probably on the same page about formal methods.</p><p>I wanted to point out a cool example I helped with: formalizing the structured control flow rules for SPIR-V.</p><p><a href="https://dl.acm.org/doi/10.1145/3571253" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="">dl.acm.org/doi/10.1145/3571253</span><span class="invisible"></span></a></p><p>This was a really nice blend of theory and practice to nail the details on a gnarly bit of the GPU intermediate language we know and love. And in the end the (prose) rules are easier to understand too.</p><p><a href="https://mastodon.gamedev.place/tags/spirv" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>spirv</span></a></p>