Skip to content

Latest commit

 

History

History
37 lines (30 loc) · 2.02 KB

README.md

File metadata and controls

37 lines (30 loc) · 2.02 KB

Egaki

Welcome to the home page of Egaki, a programming language with a syntax written completely in emoji.

Overview

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.

Motivation

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.

Follow Along!

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.

Roadmap

Note: This roadmap will evolve as the project grows

Must-Haves

  • ⬜️ 👩‍💻 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

Desired

  • ⬜ 👨‍🔬 Advanced datatypes (e.g., a translation of Python's dict)
  • ⬜ 👩‍🏫 Class creation
  • ⬜️ 📄 Egaki script parsing and execution