Comment by kamalf

13 hours ago

I've been working on Katharos, a functional programming and concurrency library for Python 3.13+. The idea behind it is simple: absence, errors, effects, and concurrent communication should be explicit, composable values instead of hidden control flow.

As someone intimately familiar with Python and not so much with "algebraic abstractions", I looked at your examples and can't figure out how they work (and why the abstraction is useful).

Am I missing something?

  • I think it comes down to some people having a strong aesthetic aversion to imperative programming and the practical value of side effects (including exception bubbling), often manifesting in vain attempts to write 'perfect code'.

Very nice. Any plans to add algebraic effect handlers to this in the near future?