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.
In which we set up the simplest VSCode extension in TypeScript and language server protocol (LSP) server in Haskell to experiment with IDEs.
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.
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.
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.
In which we implement a simple Datalog engine in not many lines of Haskell to understand its semantics.
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.
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.