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
🎮🪧🌜🇱🇮😬🤔➡️🇬🇷🌛🍑⓿😍📚➌
It's APL, but instead of the symbols I used emojis. For example ¨ (each) is now 🍑 (peach), ∧ (and) is now 🐜 (ant), and ⌽ (reverse) is 🙃.
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 not?
- 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
🙂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 |
🗨️ | ⍝ |
✍️ | ' |
🧮 | + |
🥖 | - |
⚔️ | × |
🪓 | ÷ |
📈 | ⌈ |
📉 | ⌊ |
🤯 | * |
🪵 | ⍟ |
🥧 | ○ |
📢 | ! |
🎲 | ? |
📏 | | |
🐜 | ∧ |
🛶 | ∨ |
🕷 | ⍲ |
⛵ | ⍱ |
⚖️ | = |
😠 | ≠ |
🤝 | ≡ |
😡 | ≢ |
🔬 | < |
🤏 | ≤ |
🦣 | ≥ |
⛰️ | > |
☝️ | ⌷ |
👍 | ↑ |
👎 | ↓ |
📐 | ⍴ |
🪺 | ⊂ |
⛏️ | ⊃ |
⬅️ | ⊣ |
➡️ | ⊢ |
🦄 | ∪ |
🙏 | ∩ |
🙅 | ~ |
📚 | ⍳ |
👀 | ⍸ |
📜 | ∊ |
🔎 | ⍷ |
🤰 | / |
🌿 | \ |
🧬 | ⌿ |
🌱 | ⍀ |
🙃 | ⌽ |
🤣 | ⊖ |
😍 | , |
❤️ | ⍪ |
🎶 | ⍉ |
🔢 | ⊥ |
🔡 | ⊤ |
🐇 | ⌹ |
🏷 | ⍎ |
💾 | ⍕ |
🧗 | ⍋ |
⛷ | ⍒ |
🍑 | ¨ |
😵 | ⍨ |
🚀 | ⌶ |
🔑 | ⌸ |
🐣 | & |
👉 | [ |
👈 | ] |
🤐 | ∘ |
😬 | ⍣ |
🔧 | ⍠ |
✏️ | ⌺ |
😱 | ⍤ |
🌍 | @ |
🔴 | . |
🏁 | → |
🚧 | ⋄ |
💂 | : |
🌜 | { |
🌛 | } |
🤔 | ⍵ |
🥺 | ⍺ |
😶 | ⍬ |
😳 | ∇ |
🌳 | # |
🪧 | ← |
🎮 | ⎕ |
⌨️ | ⍞ |
🥶 | ¯ |
🤱 | ( |
🎅 | ) |
The parens are parents.
I don't know.
Yes, but Emojicode is a traditional programming language, not an APL - where's the fun in that?
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
.