SkillAgentSearch skills...

Scrabble

An extended tutorial/book on Haskell development. A library for playing Scrabble is developed as well as two clients, one of which is networked and allows for remote one or two-player games over the web.

Install / Use

/learn @jimburton/Scrabble
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Scrabbλe

A one- or two-player implementation of Scrabble for teaching functional programming at the University of Brighton. It consists of a core library, and two clients (web and CLI) for playing the game.

The Scrabble library is inspired by https://github.com/joshcough/Scrabble.

If you don't know the rules of the game you should begin by reading them here.

The emphasis is on explaining the process of developing a Haskell project with several parts, aimed at students who have already learned Haskell syntax and functional problem solving. Commonly used data structures and libraries like Data.Text, maps, arrays, aeson and lens are explained, as well as monadic error checking and building a WebSocket client to the game that shows how to use threads and other concurrency abstractions safely.

Each chapter refines the initial solution, ending up with something that is (hopefully) a clean, functional design that can easily be extended.

Testing is a continuous topic, so new tests are added in each chapter.

Disclaimer

Scrabble™ is a registered trademark. All intellectual property rights in and to the game are owned in the U.S.A and Canada by Hasbro Inc., and throughout the rest of the world by J.W. Spear & Sons Limited of Maidenhead, Berkshire, England, a subsidiary of Mattel Inc. This project and associated experiments are intended for teaching purposes and are not associated with any of the owners.

Related Skills

View on GitHub
GitHub Stars17
CategoryDevelopment
Updated2mo ago
Forks0

Languages

Haskell

Security Score

90/100

Audited on Jan 21, 2026

No findings