Birb: Programming with bird emojis(esolangs.org)
esolangs.org
Birb: Programming with bird emojis
https://esolangs.org/wiki/Birb
30 comments
Wow, this is (evil) genius.
It suggests all sorts of obnoxious "features" for esolangs:
- 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.
- 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.
> 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.
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")
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")
Very interesting. And it's not even an esolang, but something actually intended for production use!
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.
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.
That reminds me of the Husk golfing language [0] that I played with a few years ago. Each character corresponds to a few different commands, each with a distinct list of argument types.
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.
[0] https://github.com/barbuz/Husk
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.
[0] https://github.com/barbuz/Husk
Isn't it equivalent to the clockwise/spiral rule in C declarations?
https://c-faq.com/decl/spiral.anderson.html (HN discussion https://news.ycombinator.com/item?id=12775735 (225 points | October 2016 | 69 comments)
https://c-faq.com/decl/spiral.anderson.html (HN discussion https://news.ycombinator.com/item?id=12775735 (225 points | October 2016 | 69 comments)
This is absolutely hilarious. I have a parrot and just reading this cracks me up.
The fact there isn't a crow (or other corvids) is a crime. Otherwise I enjoy this immensely.
The only emoji that comes close to a crow is probably the black bird ⬛ (edit: hn does not seem to render this?). Unfortunately, it's a joined letter and therefore can't be parsed/typed that easily.
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.
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.
Also, looks like that Birb is from 2021 - the black bird emoji only showed up last year.
Yes, the initial idea[1] was proposed by SCKelemen in 2021. The current design and implementation was created by me a few days ago. Basically everything in the language is up for discussion.
[1] https://esolangs.org/w/index.php?title=Birb&oldid=82033
[1] https://esolangs.org/w/index.php?title=Birb&oldid=82033
[deleted]
I'm now waiting for a discovery, that hieroglyphs not only told some stories, but represented ancient algorithms in a programming language similar to this one.
You will appreciate this image: https://raw.githubusercontent.com/wenyan-lang/wenyan/master/... [1]
[1] https://github.com/wenyan-lang/wenyan
[1] https://github.com/wenyan-lang/wenyan
I see that author used these Combinator Birds or Birbs [1].
[1] https://www.angelfire.com/tx4/cus/combinator/birds.html
[1] https://www.angelfire.com/tx4/cus/combinator/birds.html
Which goes back to Raymond Smullyan:
https://en.wikipedia.org/wiki/To_Mock_a_Mockingbird
This language would work well in the universe of the fictional absurdist documentary “the falls”
The Falls — Greenaway / Nyman
https://youtu.be/dTKNMR9KDZg?si=BR521zn3VsK6zTEF
The Falls — Greenaway / Nyman
https://youtu.be/dTKNMR9KDZg?si=BR521zn3VsK6zTEF
What is it with birds, Greenaway & Nyman?
Angelfish Decay | Swan Rot: https://www.youtube.com/watch?v=-TBNvlyjTQg
Angelfish Decay | Swan Rot: https://www.youtube.com/watch?v=-TBNvlyjTQg
It’s because Birds aren’t real.
https://birdsarentreal.com/
You say that, but ... https://www.youtube.com/watch?v=E9v5HJOxV7I
> Birbs stagger as they walk: they are reduced in alternating associative order, starting with left associativity at birb index ⌊len/2⌋
Big oof
Big oof
Reminds me of a similar project by Devine Lu Linvenga: https://wiki.xxiivv.com/site/logic.html
Can we see '99 bottles of beer' in Birb, please?
Should be easy now, I implemented a lambda calculus to birb transpiler. The resulting program would be huge (like several MBs), though.
No goose but the wing? Disappointing.
Oh no, I can't believe I missed that!
I think I like the wing for the phoenix combinator actually. What other combinator could the goose be matched with? Hmm...
I think I like the wing for the phoenix combinator actually. What other combinator could the goose be matched with? Hmm...
Perhaps the authors didn't want decades of people being confused between swans and geese, like they are between 0 and O.
[deleted]
This is the worst operations order I've ever seen and I love it so much.