jq as a Stream Calculus and Tree Algebra

A Deep Semantic and Operational Mini-Book This is not documentation. This is not a tutorial. This is a semantic excavation. We will…

🐴 The Knight’s Tour in Haskell — From Brute Force to Warnsdorff’s Heuristic

One of the most fascinating and ancient problems in recreational mathematics is the Knight’s Tour — the challenge of moving a chess…

Checking Graph Bipartiteness in Haskell

One of the most elegant problems in graph theory is determining whether a given graph is bipartite. A bipartite graph is one…

Solving the Eight Queens Problem in Haskell

The Eight Queens Problem is one of the most famous challenges in computer science and mathematics. The goal is simple to state…

Exploring Reachability in Directed Graphs with Haskell

Exploring Reachability in Directed Graphs with Haskell Graphs are a natural way to represent systems of connections — from flight networks to…

How Do They Display Trees — Three Layout Algorithms in Haskell

When you visualize data structures in a GUI — such as decision trees, syntax trees, or even neural networks — one key…

Constructing All Spanning Trees in Haskell (Problem 83)

In graph theory, a spanning tree of a connected graph is a subgraph that includes all the nodes of the original graph,…

Graph Isomorphism in Haskell (Problem 85)

Graph isomorphism is one of the classic challenges in graph theory and computer science. It involves determining whether two graphs have the…

Introduction to Graph Theory in Haskell

Graph theory is one of the most fascinating areas of computer science and mathematics, forming the foundation for countless real-world applications: from…

Implementing Huffman Encoding in Haskell

Huffman encoding is one of the foundational algorithms in data compression — elegant, efficient, and entirely based on simple mathematical principles. It…

Building a Custom Cartesian Product Function in Haskell

In this project, I set out to build my own version of the sequence function in Haskell — a function that computes…

Understanding Recursion Through Combinations, Permutations, and Trees in Haskell

Recursion often feels like a mysterious concept when you first encounter it — until you realize that it’s not about doing something…

Finding the Optimal Path in Haskell: A Recursive Exploration

I will explain from my point of view the solution to the following problem https://learnyouahaskell.com/functionally-solving-problems#heathrow-to-london, we explore a recursive approach to solving…

Understanding the Haskell Type System: From Typeclasses to Data Structures

In this tutorial — inspired by my video “Structure de données et système de types en Haskell” — we dive into the…

Understanding Parenthesis Tokenization in Haskell

Context Before building a full arithmetic calculator in Haskell, there was one key challenge I needed to solve first: understanding and tokenizing…

Building a Recursive Parenthesis-Based Calculator in Haskell

Context In this project, we build a complete calculator in Haskell that can evaluate normal arithmetic expressions written in parenthesis notation (e.g.…

Building a Tiny Reverse Polish Notation (RPN) Calculator in Haskell

In this project, we’ll build a small expression evaluator using Reverse Polish Notation (RPN) — also called postfix notation. The idea is…

Learning Haskell with Weird Goals

Sometimes, the best way to learn a language is by using a simple, even slightly “weird” goal as an excuse to explore…

Brute-forcing Pythagorean Triples with Haskell List Comprehensions (up to 100)

Introduction We want all integer solutions (a,b,c) to the equation a^2 = b^2 + c^2 with 0 < a < 100. This…

How Haskell (and the Functional Mindset) Rewired the Way I Think About Code

I didn’t set out to “become a functional programmer.” I stumbled into Haskell after years of imperative and OOP work, mostly focused…