RSSAmplifier

Blog

Do disturb me

dodisturb.meRSS feed ↗7 posts

Latest posts

Haskell LSP Laboratory

In which we set up the simplest VSCode extension in TypeScript and language server protocol (LSP) server in Haskell to experiment with IDEs.

Goto Assignment: A better local Goto Definition

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.

Typed Programs Don't Leak Data

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.

Verifying the Titular Properties of a Leftist Heap

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.

The Essence of Datalog

In which we implement a simple Datalog engine in not many lines of Haskell to understand its semantics.

Automatic Subgoal Scheduling for Datalog

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.

Cellular Christmas Tree

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.