Catlang programming language idea: Rejoice

It's like Joy, but instead of a stack, it's a multiset, and transformations are local rewriting rules.

The program state is a bag of unordered things, transformations are represented as fractions where the denominator indicates things to remove from the bag, and the numerator, things to add. Evaluation consists of applying fractions from left to right, each to exhaustion, until the bag stabilizes.

https://wiki.xxiivv.com/site/rejoice.html

@neauoire nifty! I still write Joy for fun
@neauoire reminds me of https://web.maths.unsw.edu.au/~norman/papers/NewMultisets5.pdf and the later video series https://www.youtube.com/watch?v=4xoF2SRp194, i'm sure there are direct connections

@arosien Watching, 3 minutes in, and he already talks about not trying to cross boundaries in real number arithmetic, LOVE IT

thanks for sharing! 🙌

@neauoire spoiler alert: multisets for polynomials!
@arosien that was excellent, started watching the others on the channel. I wish more people explored the mix of multisets and computation more :)