Birb: Programming with bird emojis
esolangs.org
esolangs.org
BB -> (BB)
BBB -> ((BB)B)
BBBB -> (B((BB)B))
BBBBB -> ((B((BB)B))B)
BBBBBB -> (B((B((BB)B))B))
BBBBBBB -> ((B((B((BB)B))B))B)
...
This is the worst operations order I've ever seen and I love it so much.- Order of operations depends on number of terms in more complicated manner.
- Order of operations depends on data? This would make compiling the language basically impossible, but you could probably get away with it in an interpreter.
- Parenthesis have side effects, in addition to changing order of operations.
This is not even a hypothetical feature. There is at least one language which used a type information to resolve associativity [1]. I have even used one, it works, but was very hard to get accustomed for me.
[1] https://dl.acm.org/doi/10.1145/1596655.1596667 (especially search for "juxtaposition")
Looking closer, it's not as bad as what I had in mind. Association order only depends on type, not value (which is what I meant by data). This means you can figure it out at compile time, and actually makes some sense if you want to be able to use standard mathematical notation like they do, which has operators with different association orders.
The interpreter takes a brute-force approach of going through each interpretation until it finds one that works. Sometimes, it simply hangs forever, and other times, it interprets the program differently than you'd expect. But I always considered that as part of the charm of golfing in it.
https://c-faq.com/decl/spiral.anderson.html (HN discussion https://news.ycombinator.com/item?id=12775735 (225 points | October 2016 | 69 comments)
Other than that the combinators that I would have liked to match are vireo, warbler, thrush, lark, jay, hummingbird, (gold-)finch and becard - all of these don't have emojis.
The Falls — Greenaway / Nyman
Angelfish Decay | Swan Rot: https://www.youtube.com/watch?v=-TBNvlyjTQg
Big oof
I think I like the wing for the phoenix combinator actually. What other combinator could the goose be matched with? Hmm...