<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Arthur Baboin</title><link>https://blog.deadgate.fr/</link><description>Recent content on Arthur Baboin</description><generator>Hugo</generator><language>en</language><copyright>© Arthur Baboin</copyright><lastBuildDate>Fri, 26 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.deadgate.fr/index.xml" rel="self" type="application/rss+xml"/><item><title>Why compile Magic: The Gathering?</title><link>https://blog.deadgate.fr/mtg-compiler/01-why-compile-mtg/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://blog.deadgate.fr/mtg-compiler/01-why-compile-mtg/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Placeholder.&lt;/strong&gt; This page exists to validate the site setup (layout, code
highlighting, the series hub). Replace the body with the real write-up.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Magic: The Gathering has tens of thousands of unique cards, each carrying rules
text written in a semi-formal natural language (&amp;ldquo;Oracle text&amp;rdquo;). A first taste of
the data we are working with:&lt;/p&gt;</description></item><item><title>Parsing Oracle text into a typed AST</title><link>https://blog.deadgate.fr/mtg-compiler/02-parsing-oracle-text/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://blog.deadgate.fr/mtg-compiler/02-parsing-oracle-text/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Placeholder.&lt;/strong&gt; This page validates Mermaid diagram rendering. Replace the
body with the real write-up.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The front end turns raw Oracle text into a typed abstract syntax tree:&lt;/p&gt;
&lt;div class="mermaid" align="center"&gt;
 
flowchart LR
 A[Oracle text] --&gt; B[Lexer]
 B --&gt; C[Tokens]
 C --&gt; D[Parser]
 D --&gt; E[Typed AST]

&lt;/div&gt;

&lt;p&gt;Each stage gets its own treatment: how the lexer handles reminder text and mana
symbols, and how the grammar copes with the long tail of one-off templating
while still producing a well-typed tree.&lt;/p&gt;</description></item><item><title>A symbolic, LLM-facing DSL</title><link>https://blog.deadgate.fr/mtg-compiler/03-symbolic-dsl/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://blog.deadgate.fr/mtg-compiler/03-symbolic-dsl/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Placeholder.&lt;/strong&gt; Scaffolding for the series. Replace the body with the real
write-up.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The typed AST round-trips to a compact symbolic DSL — the surface an LLM
generates against, then back to an AST that is guaranteed to parse:&lt;/p&gt;</description></item><item><title>Modeling effect cost</title><link>https://blog.deadgate.fr/mtg-compiler/04-effect-cost-model/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://blog.deadgate.fr/mtg-compiler/04-effect-cost-model/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Placeholder.&lt;/strong&gt; This page validates KaTeX math rendering. Replace the body
with the real write-up.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;p&gt;Once a card is a typed tree, we can score it. Model a card&amp;rsquo;s cost as the sum of
its effects&amp;rsquo; costs, each weighted by how often it triggers:&lt;/p&gt;</description></item></channel></rss>