<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Do disturb me</title>
    <link href="https://dodisturb.me/atom.xml" rel="self" />
    <link href="https://dodisturb.me" />
    <id>https://dodisturb.me/atom.xml</id>
    <author>
        <name>Mistral Contrastin</name>
        
        <email>madgenhetic@gmail.com</email>
        
    </author>
    <updated>2023-09-30T00:00:00Z</updated>
    <entry>
    <title>Haskell LSP Laboratory</title>
    <link href="https://dodisturb.me/posts/2023-09-30-Haskell-LSP-Laboratory.html" />
    <id>https://dodisturb.me/posts/2023-09-30-Haskell-LSP-Laboratory.html</id>
    <published>true</published>
    <updated>2023-09-30T00:00:00Z</updated>
    <summary type="html"><![CDATA[In which we set up the simplest VSCode extension in TypeScript and language server protocol (LSP) server in Haskell to experiment with IDEs.]]></summary>
</entry>
<entry>
    <title>Goto Assignment: A better local Goto Definition</title>
    <link href="https://dodisturb.me/posts/2023-08-24-Goto-Assignment.html" />
    <id>https://dodisturb.me/posts/2023-08-24-Goto-Assignment.html</id>
    <published>true</published>
    <updated>2023-08-24T00:00:00Z</updated>
    <summary type="html"><![CDATA[In which we discuss a novel local code navigation more useful for exploring source code than Goto Definition. We explore its relationship to static single assignment form (SSA) intermediate representation. This post comes with a proof-of-concept Haskell LSP server and a Visual Studio Code (VSCode) extension for a simple While language.]]></summary>
</entry>
<entry>
    <title>Typed Programs Don't Leak Data</title>
    <link href="https://dodisturb.me/posts/2021-06-27-Typed-Programs-Dont-Leak-Data.html" />
    <id>https://dodisturb.me/posts/2021-06-27-Typed-Programs-Dont-Leak-Data.html</id>
    <published>true</published>
    <updated>2021-06-27T00:00:00Z</updated>
    <summary type="html"><![CDATA[In which we turn privacy violations into compile-time errors in a simple imperative language embedded in Haskell and enforce it using GADTs in style.]]></summary>
</entry>
<entry>
    <title>Verifying the Titular Properties of a Leftist Heap</title>
    <link href="https://dodisturb.me/posts/2019-10-03-Verifying-the-Titular-Properties-of-a-Leftist-Heap.html" />
    <id>https://dodisturb.me/posts/2019-10-03-Verifying-the-Titular-Properties-of-a-Leftist-Heap.html</id>
    <published>true</published>
    <updated>2019-10-03T00:00:00Z</updated>
    <summary type="html"><![CDATA[In which my job search leads me to verify the leftist and heap properties of a leftist heap using Haskell's type-level features and to test various implementations by way of simulation using QuickCheck. We also cover much of Haskell's type-level computation features from scratch.]]></summary>
</entry>
<entry>
    <title>The Essence of Datalog</title>
    <link href="https://dodisturb.me/posts/2018-12-25-The-Essence-of-Datalog.html" />
    <id>https://dodisturb.me/posts/2018-12-25-The-Essence-of-Datalog.html</id>
    <published>true</published>
    <updated>2018-12-25T00:00:00Z</updated>
    <summary type="html"><![CDATA[In which we implement a simple Datalog engine in not many lines of Haskell to understand its semantics.]]></summary>
</entry>
<entry>
    <title>Automatic Subgoal Scheduling for Datalog</title>
    <link href="https://dodisturb.me/posts/2018-10-08-Automatic-Subgoal-Scheduling-for-Datalog.html" />
    <id>https://dodisturb.me/posts/2018-10-08-Automatic-Subgoal-Scheduling-for-Datalog.html</id>
    <published>true</published>
    <updated>2018-10-08T00:00:00Z</updated>
    <summary type="html"><![CDATA[In which we investigate dataflow in declarative programs and talk about how to make Datalog safer by statically reordering goals when predicates with dataflow constraints are involved.]]></summary>
</entry>
<entry>
    <title>Cellular Christmas Tree</title>
    <link href="https://dodisturb.me/posts/2018-01-28-Cellular-Christmas-Tree.html" />
    <id>https://dodisturb.me/posts/2018-01-28-Cellular-Christmas-Tree.html</id>
    <published>true</published>
    <updated>2018-01-28T00:00:00Z</updated>
    <summary type="html"><![CDATA[In which we create a program displaying a Christmas tree from a single dot on an infinite tape using two cellular automata computed with comonads as used in Haskell. You can also call it yet another comonad tutorial if you like.]]></summary>
</entry>

</feed>
