<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tagless-Final on Home</title>
    <link>https://blog.rafaelfernandez.dev/tags/tagless-final/</link>
    <description>Recent content in Tagless-Final on Home</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Rafael Fernandez</copyright>
    <lastBuildDate>Thu, 26 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.rafaelfernandez.dev/tags/tagless-final/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>criteria4s 1. The filter you were always going to rewrite</title>
      <link>https://blog.rafaelfernandez.dev/posts/criteria4s-1-write-your-filters-once-run-them-everywhere/</link>
      <pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/criteria4s-1-write-your-filters-once-run-them-everywhere/</guid>
      <description>Write a predicate once and run it against SQL, MongoDB, Elasticsearch, or any backend. An introduction to criteria4s and its practical take on the Expression Problem.</description>
      
    </item>
    
    <item>
      <title>criteria4s. The filter you were always going to rewrite</title>
      <link>https://blog.rafaelfernandez.dev/posts/criteria4s-1-write-your-filters-once-run-them-everywhere/</link>
      <pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/criteria4s-1-write-your-filters-once-run-them-everywhere/</guid>
      <description>Write a predicate once and run it against SQL, MongoDB, Elasticsearch, or any backend. An introduction to criteria4s and its practical take on the Expression Problem.</description>
      
    </item>
    
    <item>
      <title>Tagless Final is denotational semantics in disguise</title>
      <link>https://blog.rafaelfernandez.dev/posts/tagless-final-is-denotational-semantics/</link>
      <pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/tagless-final-is-denotational-semantics/</guid>
      <description>Every trait in your hexagonal architecture is a tagless-final algebra. Every impl is an interpreter. You have been writing denotational semantics without knowing it. We trace the connection from Kiselyov&amp;rsquo;s paper through Scala&amp;rsquo;s Cats-Effect to Rust&amp;rsquo;s port traits, and show why the pattern that academics call &amp;lsquo;finally tagless&amp;rsquo; is the same pattern that practitioners call &amp;lsquo;dependency injection.&amp;rsquo;</description>
      
    </item>
    
  </channel>
</rss>
