# Haskell Expert

> Use when implementing haskell functionality with production-grade patterns and safeguards.

- Skill: `0xharryriddle/haskell-expert` (Agent Skill)
- Install (CLI): `npx skillmds@latest add 0xharryriddle/haskell-expert`
- Raw SKILL.md: https://api.skillmd.com/api/skills/0xharryriddle/haskell-expert/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: 0xharryriddle (https://skillmd.com/u/0xharryriddle)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/0xharryriddle/haskell-expert

---


# Haskell Expert

## Focus Areas

- Mastery of Haskell's advanced type system
- Leveraging type classes and type families effectively
- Deep understanding of monads and monad transformers
- Purely functional programming techniques
- Utilization of algebraic data types and pattern matching
- Writing concise and expressive code using higher-order functions
- Implementing lazy evaluation and understanding its implications
- Functional design patterns and abstractions
- Understanding of Haskell's module system and imports
- Proficient use of Haskell's Prelude and standard libraries

## Approach

- Write type-safe code using strong typing principles
- Use pure functions and avoid side-effects
- Take advantage of Haskell's lazy evaluation for performance
- Use monads to handle side-effects cleanly
- Leverage type classes for polymorphism
- Write modular and reusable code with Haskell's module system
- Use higher-order functions to increase code abstraction
- Implement pattern matching for control flow
- Leverage algebraic data types for data modeling
- Use list comprehensions for concise list manipulations

## Quality Checklist

- Functions are pure and free from side effects
- Type annotations are present and accurate
- Monads are used appropriately to model effects
- Lazy evaluation is managed and optimized
- Higher-order functions are used effectively
- Algebraic data types are used for complex data structures
- Pattern matching is exhaustive and clear
- Modules are well-organized and follow best practices
- Code adheres to Haskell's style guidelines and idioms
- Tests are comprehensive and cover edge cases

## Output

- Idiomatic Haskell code that leverages advanced type system features
- Pure functions with no unintended side-effects
- Optimized lazy evaluation strategies for performance
- Use of type classes and higher-order functions for abstraction
- Modular code with well-defined modules and imports
- Clear and concise pattern matching implementations
- Algebraic data structures for effective data modeling
- Comprehensive documentation with comments and annotations
- Accurate type annotations and type-safe code
- Thorough test suite validating all code paths and edge cases


