<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Functional-Programming on Home</title>
    <link>https://blog.rafaelfernandez.dev/tags/functional-programming/</link>
    <description>Recent content in Functional-Programming on Home</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Rafael Fernandez</copyright>
    <lastBuildDate>Sat, 04 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.rafaelfernandez.dev/tags/functional-programming/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>The type system has a type system</title>
      <link>https://blog.rafaelfernandez.dev/posts/the-type-system-has-a-type-system/</link>
      <pubDate>Sat, 04 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/the-type-system-has-a-type-system/</guid>
      <description>Type constructors are functors. Polymorphic functions are natural transformations. Kinds are the simply-typed lambda calculus one level up. The category theory behind F[_], explained with Scala 3.</description>
      
    </item>
    
    <item>
      <title>What List is when it&#39;s not a type</title>
      <link>https://blog.rafaelfernandez.dev/posts/what-list-is-when-it-is-not-a-type/</link>
      <pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/what-list-is-when-it-is-not-a-type/</guid>
      <description>A more human explanation of type constructors, kinds, and higher-kinded types in Scala 3. What &lt;code&gt;F[_]&lt;/code&gt; really means, and why &lt;code&gt;List&lt;/code&gt; is sometimes not a type.</description>
      
    </item>
    
    <item>
      <title>The Elm Architecture: a loop that fits in your head</title>
      <link>https://blog.rafaelfernandez.dev/posts/the-elm-architecture-a-loop-that-fits-in-your-head/</link>
      <pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.rafaelfernandez.dev/posts/the-elm-architecture-a-loop-that-fits-in-your-head/</guid>
      <description>Model, Update, View. Three pieces, one loop, zero surprises. We explain The Elm Architecture from scratch with side-by-side examples in Rust and Scala, trace where the pattern came from, why it keeps showing up in TUIs and functional codebases, and when it stops being the right tool.</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>
