This is my hobby C++ programming project. I have no plans to invest time in turning anything in this project into reusable libraries and I make absolutely no promises of any kind regarding the future of this project.
The idea is to experiment with algebraic programming techniques in C++. First of all, I want to be able to program conveniently with structural algebraic types (i.e. sums, products, ...) and use algebraic structures (i.e. monoids, monads, ...). Then I want to use those to implement a language with algebraic effects. I want everything to be as composable as possible.