<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Monocle on Dev notes</title>
    <link>https://blog.michal.pawlik.dev/tags/monocle/</link>
    <description>Recent content in Monocle on Dev notes</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 11 Jul 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.michal.pawlik.dev/tags/monocle/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Introduction to optics in Scala</title>
      <link>https://blog.michal.pawlik.dev/posts/scala/optics/</link>
      <pubDate>Tue, 11 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://blog.michal.pawlik.dev/posts/scala/optics/</guid>
      <description>&lt;p&gt;Throughout this blog I&amp;rsquo;ve mentioned the benefits of having a strong type system a multiple times. I&amp;rsquo;ve covered &lt;a href=&#34;https://blog.michal.pawlik.dev/posts/scala/refined/&#34;&gt;type refinement for value validation&lt;/a&gt;, &lt;a href=&#34;https://blog.michal.pawlik.dev/posts/scala/scala-derivations/&#34;&gt;beginner friendly&lt;/a&gt; and &lt;a href=&#34;https://blog.michal.pawlik.dev/posts/scala/scala-derivations-show/&#34;&gt;advanced approach&lt;/a&gt; to type-class derivation or type-safe approach to &lt;a href=&#34;https://blog.michal.pawlik.dev/posts/scala/pass4s-basics/&#34;&gt;messaging with pass4s&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The possibilities are endless though, so today I want to introduce another topic, that beginners in languages like Scala or Haskell might not be aware of.&lt;/p&gt;&#xA;&lt;p&gt;In this post I&amp;rsquo;ll talk about &lt;strong&gt;Optics&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;meet-optics&#34;&gt;Meet Optics&lt;/h2&gt;&#xA;&lt;p&gt;Optics is an umbrella term for accessing and transforming immutable data. We&amp;rsquo;ll explore the world of optics with the great library &lt;a href=&#34;https://www.optics.dev/Monocle/&#34;&gt;Monocle&lt;/a&gt;. Before we get started, let&amp;rsquo;s set the stage and with some problem we can refer to.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
