emoji-apl
emoji-apl copied to clipboard
Like APL, but with emojis
๐ APL
This idea has been holding my brain hostage, I hope that implementing it will restore my free will.
๐จ๏ธ The canonical game of life function, called LI (Liechtenstein)
๐ฑ๐ฎ๐ชง๐๐๐โ ๐ค๐ถ๐ด๐โ โโ๏ธ๐งฎ๐คฐ๐๐ฅถโ โฟ โ๐ค๐ด๐คฃ๐ฅถโ โฟ โ๐ค๐ด๐๐ชบ๐ค๐
๐จ๏ธ An array containing a glider, called GL (Greenland)
๐ฌ๐ฑ๐ชงโ โ๐โ โ โ โ โฟ โฟ โฟ โ โฟ
๐จ๏ธ The 8x8 grid to use, called GR (Greece)
๐ฌ๐ท๐ชง๐ฅถโ ๐ฅถโ๐๐ฌ๐ฑ
๐จ๏ธ Print the first 4 steps to the screen
๐ฎ๐ชง๐๐ฑ๐ฎ๐ฌ๐คโก๏ธ๐ฌ๐ท๐๐โฟ๐๐โ
What?
It's APL, but instead of the symbols I used emojis. For example ยจ (each) is now ๐ (peach), โง (and) is now ๐ (ant), and โฝ (reverse) is ๐.
How?
I didn't implement an entire APL for this (thank god), this uses GNU APL under the hood. You will need this installed. I wrote the translator itself in C, because APL didn't seem to like unicode strings much.
Why?
Why not?
Features
- Many terrible puns
- Names condense into flags to save space
- Arguably more intuitive symbols than normal APL
- There is no good reason to use this
Character map
| ๐APL Emoji | APL Symbol |
|---|---|
| ๐ฆ | a |
| ๐ง | b |
| ๐จ | c |
| ๐ฉ | d |
| ๐ช | e |
| ๐ซ | f |
| ๐ฌ | g |
| ๐ญ | h |
| ๐ฎ | i |
| ๐ฏ | j |
| ๐ฐ | k |
| ๐ฑ | l |
| ๐ฒ | m |
| ๐ณ | n |
| ๐ด | o |
| ๐ต | p |
| ๐ถ | q |
| ๐ท | r |
| ๐ธ | s |
| ๐น | t |
| ๐บ | u |
| ๐ป | v |
| ๐ผ | w |
| ๐ฝ | x |
| ๐พ | y |
| ๐ฟ | z |
| โฟ | 0 |
| โ | 1 |
| โ | 2 |
| โ | 3 |
| โ | 4 |
| โ | 5 |
| โ | 6 |
| โ | 7 |
| โ | 8 |
| โ | 9 |
| ๐จ๏ธ | โ |
| โ๏ธ | ' |
| ๐งฎ | + |
| ๐ฅ | - |
| โ๏ธ | ร |
| ๐ช | รท |
| ๐ | โ |
| ๐ | โ |
| ๐คฏ | * |
| ๐ชต | โ |
| ๐ฅง | โ |
| ๐ข | ! |
| ๐ฒ | ? |
| ๐ | | |
| ๐ | โง |
| ๐ถ | โจ |
| ๐ท | โฒ |
| โต | โฑ |
| โ๏ธ | = |
| ๐ | โ |
| ๐ค | โก |
| ๐ก | โข |
| ๐ฌ | < |
| ๐ค | โค |
| ๐ฆฃ | โฅ |
| โฐ๏ธ | > |
| โ๏ธ | โท |
| ๐ | โ |
| ๐ | โ |
| ๐ | โด |
| ๐ชบ | โ |
| โ๏ธ | โ |
| โฌ ๏ธ | โฃ |
| โก๏ธ | โข |
| ๐ฆ | โช |
| ๐ | โฉ |
| ๐ | ~ |
| ๐ | โณ |
| ๐ | โธ |
| ๐ | โ |
| ๐ | โท |
| ๐คฐ | / |
| ๐ฟ | \ |
| ๐งฌ | โฟ |
| ๐ฑ | โ |
| ๐ | โฝ |
| ๐คฃ | โ |
| ๐ | , |
| โค๏ธ | โช |
| ๐ถ | โ |
| ๐ข | โฅ |
| ๐ก | โค |
| ๐ | โน |
| ๐ท | โ |
| ๐พ | โ |
| ๐ง | โ |
| โท | โ |
| ๐ | ยจ |
| ๐ต | โจ |
| ๐ | โถ |
| ๐ | โธ |
| ๐ฃ | & |
| ๐ | [ |
| ๐ | ] |
| ๐ค | โ |
| ๐ฌ | โฃ |
| ๐ง | โ |
| โ๏ธ | โบ |
| ๐ฑ | โค |
| ๐ | @ |
| ๐ด | . |
| ๐ | โ |
| ๐ง | โ |
| ๐ | : |
| ๐ | { |
| ๐ | } |
| ๐ค | โต |
| ๐ฅบ | โบ |
| ๐ถ | โฌ |
| ๐ณ | โ |
| ๐ณ | # |
| ๐ชง | โ |
| ๐ฎ | โ |
| โจ๏ธ | โ |
| ๐ฅถ | ยฏ |
| ๐คฑ | ( |
| ๐ | ) |
FAQ
Why are the brackets ๐คฑ and ๐ ?
The parens are parents.
Why do identifiers turn into flags?
I don't know.
An Emoji programming language already exists(?)
Yes, but Emojicode is a traditional programming language, not an APL - where's the fun in that?
How do I install this?
Make sure you have a C compiler and GNU APL, then run make and then sudo make install. The command to invoke the repl is ๐apl and you can pipe output to the repl such as cat life.๐apl | ๐apl.