Haskell
Haskell pure functional programming with monads and type classes. Use for .hs files.From its SKILL.md
npx -y skills add G1Joshi/Agent-Skills --skill haskellAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
1.3 KB, 316 tokens by cl100k_base, as published. Nobody here has run it
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
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.