Functional Programming / 2025

CustomChessKell

Built a configurable chess engine in Haskell that interprets custom chess piece movement rules from YAML files, using parser design, immutable board simulation, validation logic, and functional patterns to support unusual piece behavior.

Functional ProgrammingHaskellYAMLInterpreter Pattern

CustomChessKell explored how a chess engine can become configurable without hardcoding every piece. The project used Haskell to parse YAML-defined movement rules into an interpretable structure, validate board states, simulate legal moves immutably, and support custom pieces while preserving king-safety and game-ending logic.