WeSearch

Katharos: Monads, functors, and immutable data for Python

·1 min read · 0 reactions · 0 comments · 15 views
#python#programming#functional
Katharos: Monads, functors, and immutable data for Python
⚡ TL;DR · AI summary

Katharos is a library that introduces functional programming concepts to Python, including monads, functors, and immutable data structures. It allows for type-safe code and provides tools for handling optional values and modeling errors as values. The library is available for installation via pip and includes comprehensive documentation for users.

Key facts
Original article
GitHub
Read full at GitHub →
Opening excerpt (first ~120 words) tap to expand

Katharos Functional programming abstractions for Python — Monads, Applicatives, Functors, and immutable data structures for composable, type-safe code. Installation pip install katharos Quick Start Handle optional values without None checks: from katharos.types import Maybe result = Maybe[int].Just(5) | (lambda x: Maybe[int].Just(x * 2)) # Just(10) nothing = Maybe[int].Nothing() | (lambda x: Maybe[int].Just(x * 2)) # Nothing() Model errors as values instead of exceptions: from katharos.types import Result def parse_int(s: str) -> Result[ValueError, int]: try: return Result.Success(int(s)) except ValueError as e: return Result.Failure(e) parse_int("42") | (lambda n: Result[ValueError, int].Success(n * 2)) # Success(84) parse_int("??") | (lambda n: Result[ValueError, int].Success(n * 2)) #…

Excerpt limited to ~120 words for fair-use compliance. The full article is at GitHub.

Anonymous · no account needed
Share 𝕏 Facebook Reddit LinkedIn Threads WhatsApp Bluesky Mastodon Email

Discussion

0 comments

More from GitHub