Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Katharos 1.0.1
Logo
Katharos 1.0.1

Tutorials

  • Tutorials
    • Getting Started with Katharos
    • Handling Null Values with Maybe
    • Build a Data Processing Pipeline with Functors
    • Demonstrating Monadic Computations Using Maybe Monad
    • Combining Multiple Monadic Values with Do Syntax
    • Build a User Registration System with Result
    • Working with Immutable Lists
    • Sequencing Side Effects with IO
    • Building Reusable Functions with compose and curry

How-To Guides

  • How-To Guides
    • How to Handle Null Values with Maybe
    • How to Handle Errors Without Exceptions
    • How to Chain Monadic Operations
    • How to Use Do-Notation
    • How to Refactor Bind Chains to Do-Notation
    • How to Implement a Custom Semigroup and Monoid
    • How to Implement a Custom Functor, Applicative, and Monad
    • How to Manage Side Effects with IO

Reference

  • API Reference
    • Algebra Module
    • Types Module
    • Functools Module
    • Syntax Sugar Module
    • Type Hierarchy Reference
    • Operator Reference

Explanation

  • Explanation
    • Why Functional Programming in Python?
    • The Mathematics of Semigroups and Monoids
    • Just Enough Category Theory to Understand Katharos
    • The Mathematics of Functors
    • The Mathematics of Applicatives
    • The Mathematics of Monads
Back to top
View this page

Explanation¶

These articles explain the why behind Katharos — the concepts, design decisions, and trade-offs that shape how the library works. Read them when you want to deepen your understanding, not when you need to solve a specific task.

  • Why Functional Programming in Python?
  • The Mathematics of Semigroups and Monoids
  • Just Enough Category Theory to Understand Katharos
  • The Mathematics of Functors
  • The Mathematics of Applicatives
  • The Mathematics of Monads
Next
Why Functional Programming in Python?
Previous
Operator Reference
Copyright © 2026, Kamal Farahani
Made with Sphinx and @pradyunsg's Furo