Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

haskell-pure-functional-programming

/haskell-pure-functional-programming

Pisze poprawne oprogramowanie w Haskellu z użyciem monad, funktorów aplikatywnych, typów algebraicznych i wnioskowania typów.

Licencja
MIT
Ostatnia zmiana repozytorium
28.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 28.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Pisze poprawne oprogramowanie w Haskellu z użyciem monad, funktorów aplikatywnych, typów algebraicznych i wnioskowania typów.

Oryginalny opis (EN)

Use this skill when authoring provably correct Haskell software using monads, applicative functors, algebraic data types, and type inference.

Jak działa

  1. When to use
  2. Prerequisites
  3. Step-by-step workflow
  4. Commands / code examples
  5. Common mistakes & pitfalls
  6. Verification checklist
  7. Related skills
Sekcje z nagłówków SKILL.md, w oryginale · 48 linii, 294 słów
Podgląd SKILL.md
---
name: haskell-pure-functional-programming
description: Use this skill when authoring provably correct Haskell software using monads, applicative functors, algebraic data types, and type inference.
---
# Haskell Pure Functional Programming

## When to use
Use this skill when you need to authoring provably correct Haskell software using monads, applicative functors, algebraic data types, and type inference.

## Prerequisites
- Working knowledge of relevant programming language or database fundamentals.
- Access to testing environment or local runtime instance.

## Step-by-step workflow
1. **Analyze operational requirements**: Review performance boundaries, data integrity constraints, and query patterns.
2. **Design schema / interface**: Define explicit data contracts, types, or indexes supporting planned operations.
3. **Implement core routines**: Construct declarative, type-safe, or parameterized queries and functions.
4. **Validate performance**: Verify execution metrics using profilers, EXPLAIN plans, or benchmark test suites.
5. **Implement defensive controls**: Enforce timeout boundaries, connection pooling limits, and transaction safety.

## Commands / code examples
```haskell
module TransactionEngine where

data Currency = USD | EUR | GBP deriving (Show, Eq)
data Money = Money { amount :: Double, currency :: Currency } deriving (Show, Eq)

convert :: Double -> Money -> Money
convert rate (Money amt curr) = Money (amt * rate) curr

safeDivide :: Double -> Double -> Maybe Double
safeDivide _ 0 = Nothing
safeDivide x y = Just (x / y)
```

## Common mistakes & pitfalls
- Overlooking indexing strategies on foreign keys and frequently queried filter columns.
- Running unparameterized dynamic queries, creating severe SQL injection vulnerabilities.
- Holding open long-running database transactions during slow external network calls.

## Verification checklist
- [ ] Schema contracts and type signatures are strictly enforced.
- [ ] Queries are fully parameterized against injection vulnerabilities.
- [ ] Profiling or execution plans show optimal resource consumption.
- [ ] Error handling safely releases locks and rolls back aborted transactions.

## Related skills
- postgresql-query-optimization-explain
- sql-anti-patterns-remediation
- acid-transactions-isolation-levels
- secure-code-review-static-analysis-sast

Wersje

W bazie nie ma innych skilli o nazwie haskell-pure-functional-programming.

Migawka bazy z 13.11.2026 · wersja paczki 02f9cce33750 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100haskell-expert
    Wspiera programowanie funkcyjne w Haskellu na poziomie eksperckim: rozbudowany system typów, monady, leniwa ewaluacja, czyste funkcje i typy algebraiczne z klasami typów.
  • 100haskell-pro
    Pomaga w eksperckim Haskellu: programowanie na poziomie typów, współbieżność i architektura czysto funkcyjnych systemów.
  • 100haskell
    Wspiera pracę z Haskellem: czyste programowanie funkcyjne, monady, klasy typów, GHC oraz Cabal i Stack, przy tworzeniu dowodliwie poprawnego oprogramowania, kompilatorów i modeli finansowych.
  • 86haskell
    Pomaga w programowaniu funkcyjnym w Haskellu: systemie typów, monadach i projektach GHC.
  • 90tricorder-mcp
    Sprawdza status builda GHCi, diagnostykę i wyniki testów projektu Haskell przez serwer MCP tricorder.
  • 100scala-functional-object-programming
    Pisze solidne aplikacje w Scali 3 z klasami przypadków, dopasowaniem wzorców, klasami typów i czystymi funkcjami. Przydaje się przy programowaniu funkcyjnym w Scali.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.