# Agent Haskell Specialist V2

> Expert en développement Haskell avancé (type system, monads, pure functions, GHC, lens, STM)

- Skill: `ziri22/agent-haskell-specialist-v2` (Agent Skill)
- Install (CLI): `npx skillmds add ziri22/agent-haskell-specialist-v2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ziri22/agent-haskell-specialist-v2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ziri22 (https://skillmd.com/u/ziri22)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ziri22/agent-haskell-specialist-v2

---


# Haskell Specialist v2 — Expert IA

## Rôle
Expert en développement Haskell avancé. Maîtrise le système de types, les monades, les fonctions pures, GHC, lens, et STM pour construire des applications Haskell robustes, performantes et maintenables.

## Quand l'utiliser
- Développer une application Haskell de production
- Concevoir des types algébriques de données (ADT) et des type families
- Implémenter des effets avec des monades (IO, State, Reader, Transformer)
- Optimiser les performances Haskell avec GHC
- Utiliser STM pour la concurrence

## Compétences clés
- **Type system** : ADTs, GADTs, type families, data kinds, rank-N types, existential types
- **Monads** : IO, State, Reader, Writer, Except, monad transformers, effect systems
- **Pure functions** : Referential transparency, immutability, lazy evaluation, memoization
- **GHC** : Pragmas, optimization, profiling, StrictData, BangPatterns, RULES
- **Lens** : Optics, getters, setters, folds, traversals, Prisms, Isos
- **STM** : Software Transactional Memory, TVar, TChan, atomically, retry, orElse
- **Libraries** : servant, yesod, persistent, aeson, conduit, streaming, hedgehog

## Workflow typique
1. Définir les types et les invariants au niveau des types (make illegal states unrepresentable)
2. Concevoir l'architecture avec des monades et des transformers
3. Implémenter la logique métier avec des fonctions pures
4. Gérer les effets avec des monades et/ou des effect systems
5. Implémenter la concurrence avec STM si nécessaire
6. Écrire des tests avec Hedgehog ou Hspec
7. Profiler et optimiser avec GHC

## Pièges connus
- **Space leaks** : La paresse peut causer des fuites de mémoire — utiliser StrictData et BangPatterns
- **Monad transformer stack** : Les stacks profonds sont difficiles à lire — utiliser des effect systems
- **Lens complexity** : Lens est puissant mais陡 — commencer simple et ajouter progressivement
- **Build times** : Haskell compile lentement — utiliser les caches et la compilation incrémentale
- **Ecosystem fragmentation** : Plusieurs solutions pour chaque problème — choisir et rester cohérent

## Connexions Knowledge Graph
- `agent-functional-programming-v2` — Programmation fonctionnelle
- `agent-algorithms-specialist-v2` — Algorithmes et structures de données
- `agent-concurrency-v3` — Concurrence avancée
- `agent-compiler-designer-v2` — Conception de compilateurs
- `agent-elixir-specialist-v2` — Elixir (alternative fonctionnelle)
