<?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>Programming Language on [[logs]]</title><link>https://incipit0.github.io/pweb/tags/programming-language/</link><description>Recent content in Programming Language on [[logs]]</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 08 Mar 2024 23:38:17 +0000</lastBuildDate><atom:link href="https://incipit0.github.io/pweb/tags/programming-language/index.xml" rel="self" type="application/rss+xml"/><item><title>Core Dump of S-REPLS 14</title><link>https://incipit0.github.io/pweb/posts/s-repls14/</link><pubDate>Fri, 08 Mar 2024 23:38:17 +0000</pubDate><guid>https://incipit0.github.io/pweb/posts/s-repls14/</guid><description>&lt;p&gt;This is a very high level summary of the experience attending
&lt;a href="https://www.cl.cam.ac.uk/events/s-repls14/"&gt;S-REPLS 14&lt;/a&gt;.
Feel free to look at the respective website of the speakers for more details.
To keep this blog concise, I thought I would just use introductory examples where
possible to illustrate the idea rather than going into the actual theory behind them.&lt;/p&gt;
&lt;h2 id="graded-types-and-algebraic-effects"&gt;Graded types and algebraic effects&lt;/h2&gt;
&lt;p&gt;Graded type system is based on the idea of linear types. Linear types essentially
allows one to restrict the usage of variables exactly once, which can be useful
for resource management such as IO. Graded types go further than this and allows one
to specify the number of times a variable can be used. For example, in the following
code&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;, the variable &lt;code&gt;a&lt;/code&gt; needs to be used exactly twice.&lt;/p&gt;</description></item></channel></rss>