Remix.run Logo
kamalf 2 days 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.

rirze 2 days ago | parent | next [-]

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?

pphysch 2 days ago | parent [-]

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'.

iforiq 2 days ago | parent | prev [-]

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