haskell
SKILL.md
Haskell
An advanced, purely functional programming language.
When to Use
- Academic Research
- Compilers / DSLs
- Financial Systems (correctness)
- High-assurance software
Quick Start
main :: IO ()
main = putStrLn "Hello, World!"
factorial :: Integer -> Integer
factorial 0 = 1
factorial n = n * factorial (n - 1)
Core Concepts
Pure Functions
Functions have no side effects. Output depends only on input.
Lazy Evaluation
Expressions are not evaluated until their results are needed.
ints = [1..] -- Infinite list
take 5 ints -- [1, 2, 3, 4, 5]
Type System
Strong, static typing with type inference and Type Classes (similar to Interfaces).
class Eq a where
(==) :: a -> a -> Bool
Monads
A structure that represents computations defined as sequences of steps (e.g., IO, Maybe).
Best Practices
Do:
- Use HLint
- Write type signatures for top-level functions
- Use pattern matching
Don't:
- Write partial functions (e.g.,
headon empty list) if possible - Use complex monad stacks without abstraction
References
Weekly Installs
1
Repository
g1joshi/agent-skillsGitHub Stars
7
First Seen
Feb 10, 2026
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1