For a while now I've been wanting a generic notation to explain various things on my wiki(tropical arithmetic, multisets, other programming languages, ternary logic, primes, etc..) and I found a PL design I really enjoy writing.

It lands in a weird place, I feel like it might be the only concatenative language without a stack? As far as I know anyways.

I took a day to implement it, and shoved it into a little interactive playground. I have yet to populate the examples.

https://wiki.xxiivv.com/site/rejoice
https://wiki.xxiivv.com/etc/rejoicerepl/

@neauoire that looks neat, but how do you use this for your goal of generication notation ?

@ragekit I often write about logic, fractions or natural numbers, so I might have a bit on prime factor that will use numbers:

18 * 2/3, or 2 * 3^2 * 2/3

In some pages, I'll name primes instead of playing with numbers to make things for explicit.

[red blue^2] red/blue

This is the sort of representation that I have on various pages, but it wasn't really "specified" anywhere, and it wasn't evaluatable. Good examples of pages where I mean to use it are:

https://wiki.xxiivv.com/site/binary
https://wiki.xxiivv.com/site/primes
https://wiki.xxiivv.com/site/tropical_arithmetic
https://wiki.xxiivv.com/site/reversible_computing
https://wiki.xxiivv.com/site/ternary_computing

I can use this little playground to cover all that material, and instead of making up new notations for each page, it'll all come down to that one style:

[bag] [put^2]/take-away

@neauoire oh so it's showing step by step some combinatorial logic ?
@ragekit yes, exactly! But it's unordered, there's no difference between [a b] and [b a], so it has some limits to what it can express clearly :)
@neauoire @ragekit Linda had an unordered "tuple space" of ordered tuples. Workers grabbed tuples from the tuple space, operated on them, and put results back.

https://www.netlib.org/utk/papers/comp-phy7/node3.html
The Linda Model and System

The Linda Model and System

@azul @ragekit yup, although tuples are a bit different, since you can't know what will be where at compile time, you have to search for them at runtime. It's a bit different from multisets.