practical-haskell
CommunityWrite efficient, GHC-informed Haskell
System Documentation
What problem does it solve?
Helps diagnose and remediate Haskell performance, memory, and evaluation-order issues by aligning code with GHC optimization behavior and profiling evidence. It is focused on eliminating space leaks, improving strictness where appropriate, enabling fusion-friendly pipelines, and guiding pragmatic use of pragmas and newtypes.
Core Features & Use Cases
- Profiling-guided fixes: Interpret profiler output and eventlog hints to locate allocation or time hotspots.
- Strictness & memory: Recommend strict fields, bang patterns, foldl' usage, and UNPACK to avoid thunk buildup and indirection.
- Specialization & inlining: Advise on INLINE/INLINABLE/SPECIALIZE pragmas and worker/wrapper transformations when Core shows dictionary or allocation overhead.
- Core inspection: Tell developers what to look for in simplified Core (-ddump-simpl) and how it validates optimizations.
- Use Case: Review a slow Haskell function, run profiling and Core dumps, and receive prioritized changes to reduce allocations and improve throughput.
Quick Start
Analyze the provided Haskell module using GHC profiling and simplified Core output and recommend concrete strictness, fusion, and specialization changes to reduce allocations and improve performance.
Dependency Matrix
Required Modules
None requiredComponents
Standard package💻 Claude Code Installation
Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.
Please help me install this Skill: Name: practical-haskell Download link: https://github.com/kaynetik/skills/archive/main.zip#practical-haskell Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.