Skip to content

StavromulaBeta/emoji-apl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🙂 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.

Releases

No releases published

Packages

No packages published