<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Lox on kidoni.dev</title>
    <link>https://kidoni.dev/tags/lox/</link>
    <description>Recent content in Lox on kidoni.dev</description>
    <generator>Hugo -- 0.157.0</generator>
    <language>en-US</language>
    <lastBuildDate>Fri, 20 Feb 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://kidoni.dev/tags/lox/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Vibe Coding a Lox Compiler, Part 0: Background</title>
      <link>https://kidoni.dev/posts/vibe-lox-pt0-preamble/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://kidoni.dev/posts/vibe-lox-pt0-preamble/</guid>
      <description>Using Claude Code to build a compiler and blog about it&amp;#34;</description>
    </item>
    <item>
      <title>Vibe Coding a Lox Compiler, Part 1: Introduction &amp; Compilers 101</title>
      <link>https://kidoni.dev/posts/vibe-lox-pt1-introduction/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://kidoni.dev/posts/vibe-lox-pt1-introduction/</guid>
      <description>An introduction to the series and a Compilers 101 primer covering tokenization, parsing, ASTs, interpreters, VMs, and native compilation.</description>
    </item>
    <item>
      <title>Vibe Coding a Lox Compiler, Part 2: Tokenization</title>
      <link>https://kidoni.dev/posts/vibe-lox-pt2-tokenization/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://kidoni.dev/posts/vibe-lox-pt2-tokenization/</guid>
      <description>How vibe-lox turns raw Lox source text into a stream of typed tokens using the winnow parser-combinator library.</description>
    </item>
    <item>
      <title>Vibe Coding a Lox Compiler, Part 3: Parsing &amp; the Abstract Syntax Tree</title>
      <link>https://kidoni.dev/posts/vibe-lox-pt3-parsing/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://kidoni.dev/posts/vibe-lox-pt3-parsing/</guid>
      <description>How vibe-lox turns a flat token stream into a typed Abstract Syntax Tree using a hand-written recursive descent parser.</description>
    </item>
    <item>
      <title>Vibe Coding a Lox Compiler, Part 4: The Tree-Walk Interpreter</title>
      <link>https://kidoni.dev/posts/vibe-lox-pt4-interpreter/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://kidoni.dev/posts/vibe-lox-pt4-interpreter/</guid>
      <description>How vibe-lox executes Lox programs by walking the AST — including the resolver, scoped environments, closures, and OOP.</description>
    </item>
    <item>
      <title>Vibe Coding a Lox Compiler, Part 5: The Bytecode VM</title>
      <link>https://kidoni.dev/posts/vibe-lox-pt5-vm/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://kidoni.dev/posts/vibe-lox-pt5-vm/</guid>
      <description>How vibe-lox compiles Lox to bytecode and executes it on a stack-based virtual machine — roughly 3× faster than tree-walking.</description>
    </item>
    <item>
      <title>Vibe Coding a Lox Compiler, Part 6: LLVM IR &amp; Native Compilation</title>
      <link>https://kidoni.dev/posts/vibe-lox-pt6-llvm/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://kidoni.dev/posts/vibe-lox-pt6-llvm/</guid>
      <description>How vibe-lox compiles Lox to LLVM IR and native executables using the inkwell crate, a C runtime, and LLVM&amp;#39;s TargetMachine.</description>
    </item>
    <item>
      <title>Vibe Coding a Lox Compiler, Part 7: The REPL</title>
      <link>https://kidoni.dev/posts/vibe-lox-pt7-repl/</link>
      <pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://kidoni.dev/posts/vibe-lox-pt7-repl/</guid>
      <description>Building an interactive Lox REPL with backslash commands and tab completion using the rustyline crate.</description>
    </item>
  </channel>
</rss>
