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
.