<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title><![CDATA[Aster Lang Blog]]></title>
    <link>https://aster-lang.dev/blog/</link>
    <atom:link href="https://aster-lang.dev/blog/feed.xml" rel="self" type="application/rss+xml" />
    <description><![CDATA[Product updates, language deep dives, and design notes from the Aster Lang team.]]></description>
    <language>en-US</language>
    <lastBuildDate>Thu, 07 May 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title><![CDATA[Decision traces in production: what's in ?trace=true, and why]]></title>
      <link>https://aster-lang.dev/blog/posts/2026-05-07-decision-traces-in-production</link>
      <guid isPermaLink="true">https://aster-lang.dev/blog/posts/2026-05-07-decision-traces-in-production</guid>
      <description><![CDATA[Aster Lang's decision-trace payload captures every condition, branch, and intermediate value of a rule execution. Here's what's in it, what it's for, and the design choices behind making it always-on.]]></description>
      <dc:creator><![CDATA[Aster Lang Team]]></dc:creator>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Why Truffle: the boring engine choices that make the playground fast]]></title>
      <link>https://aster-lang.dev/blog/posts/2026-04-09-why-truffle</link>
      <guid isPermaLink="true">https://aster-lang.dev/blog/posts/2026-04-09-why-truffle</guid>
      <description><![CDATA[Aster Lang's Java reference engine is built on GraalVM Truffle. Here's how that decision plays out in practice — sub-second cold starts, partial evaluation, and the trade-offs we accepted.]]></description>
      <dc:creator><![CDATA[Aster Lang Team]]></dc:creator>
      <pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Lexicon packs: shipping Aster Lang in a fourth language without writing Java]]></title>
      <link>https://aster-lang.dev/blog/posts/2026-03-19-lexicon-packs</link>
      <guid isPermaLink="true">https://aster-lang.dev/blog/posts/2026-03-19-lexicon-packs</guid>
      <description><![CDATA[Adding a new natural-language surface to Aster Lang is a configuration task, not an engineering one. Here's the contract a lexicon pack obeys and how to publish one.]]></description>
      <dc:creator><![CDATA[Aster Lang Team]]></dc:creator>
      <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Why a controlled natural language, and not a DSL?]]></title>
      <link>https://aster-lang.dev/blog/posts/2026-02-12-controlled-natural-language</link>
      <guid isPermaLink="true">https://aster-lang.dev/blog/posts/2026-02-12-controlled-natural-language</guid>
      <description><![CDATA[Aster Lang reads like a memo. That's a deliberate design choice with consequences — for who can author rules, for what AI can do with them, and for what we can't easily do.]]></description>
      <dc:creator><![CDATA[Aster Lang Team]]></dc:creator>
      <pubDate>Thu, 12 Feb 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title><![CDATA[Hello, World — and what to expect from this blog]]></title>
      <link>https://aster-lang.dev/blog/posts/2026-01-15-hello-world</link>
      <guid isPermaLink="true">https://aster-lang.dev/blog/posts/2026-01-15-hello-world</guid>
      <description><![CDATA[An introduction to the Aster Lang blog. What we'll cover, who it's for, and why we're starting it now.]]></description>
      <dc:creator><![CDATA[Aster Lang Team]]></dc:creator>
      <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
