Welcome to the home page of Egaki, a programming language with a syntax written completely in emoji.
Egaki is currently under development. When completed, the language will be interpreted to Python at runtime. The language remains in early-stage development. Check out the roadmap below to see what features are available.
The impetus for this project is a desire to strengthen my understanding of Python, particularly its class nomenclature and built-in methods. While practicing code on my phone while commuting, I found it annoying to continuously be forced to switch between the standard keyboard, symbols selector, advanced symbols pane, and formatting tools, and wondered if emoji, if formatted correctly in a purpose-built mobile terminal emulator, could provide a mobile-first development experience. While this project will not be building said mobile terminal application, it will attempt to simulate the experience.
While building this project, I'll be writing more in-depth about the experience, the project's design choices, and what this language might actually look like on mobile. The first post in the series is available here.
Note: This roadmap will evolve as the project grows
- ⬜️ 👩💻 Simple shell-style command line
- ⬜ 🪙 Lexer
- ⬜ 🌳 Parser
- ⬜ 🔛 Interpreter
- ⬜ 🔢 Support for numbers
- ⬜ ➗ Support for numeric operations
- ⬜ 🟰 Support for numeric comparison
- ⬜ 🔡 Support for string types
- ⬜ ❌ Support for boolean types
- ⬜ 🆕 Support for primitive-type variable declaration and assignment
- ⬜ ❓ Support for if-else blocks
- ⬜ 🔂 Support for for-loops
- ⬜ 🔁 Support for while-loops
- ⬜ 🖨 Support for output to stdout
- ⬜ 👨🔬 Advanced datatypes (e.g., a translation of Python's dict)
- ⬜ 👩🏫 Class creation
- ⬜️ 📄 Egaki script parsing and execution