Skip to main content

CMRA — Creative Minimal Recursive Automaton language runtime

Project description

🐉 CMRA Language (Chimera)

"Where code breathes fire and flows like flame..."

CMRA (Chimera) is an esoteric programming language exploring reversible execution and direction control through a dragon-inspired syntax. Programs can soar up or dive down through code at runtime.

🔥 GitHub: Chimera418/cmra
🌐 Playground: cmra-esolang.vercel.app/playground.html
📚 Docs: cmra-esolang.vercel.app
📖 User Guide: GUIDE.md


🙌 Origin

CMRA began as a workshop project I attended by Tushar Sadhwani during a college multifest. The prototype we built is in prototype.py. For a non‑aliased baseline, see Tushar's esolangs repository. You can also read his blog at tush.ar.

This is a tiny side project made for fun and learning. If you build something cool or want to improve the interpreter, feel free to reach out on GitHub (@Chimera418) or Discord gamingchimera.

✨ Try it Online

🔥 Launch the Interactive Playground

Write and run CMRA code directly in your browser — no installation needed. Powered by Pyodide.


⚡ Installation & Quick Start

CMRA Esoteric Language Extension (VS Code / Cursor)

For the best developer experience, install the official IDE extension:

Standalone Windows Executable

Don't have Python installed? No problem! Download the standalone cmra.exe from the latest GitHub Releases and add it to your PATH to run CMRA programs natively.

pip install (recommended)

# Install from PyPI:
pip install cmra

# Or install from source (development):
pip install -e .

# Now use `cmra` and `cmrash` from anywhere inside the venv:
cmra "test cases\test.cmra"
cmrash "test cases\test.cmrash"

No-install PowerShell wrapper

.\cmra.ps1 "test cases\test.cmra"

Run with Python directly

python -m cmra.cli "test cases\test.cmra"
python cmra.py "test cases cmra\test.cmra"          # legacy single-file
python cmrash.py "test cases cmrash\test.cmrash"

🔱 The Twin Dragons

Dragon Entry point Keywords
🐲 Fire Dragon cmra.py / src/cmra/fire.py bind roar sniff dive soar murmur
🌑 Shadow Dragon cmrash.py / src/cmra/shadow.py = print check reverse ;
🐉 Ancient Wyrm prototype.py Compact baseline, inline sniff only

🐲 Language at a Glance

murmur Fire Dragon — count 0 to 5
i bind 0
flag bind 1
sniff i <= 5 : sniff flag == 0 : dive
flag bind 0
sniff flag == 0 : roar i
sniff flag == 0 : i bind i + 1
flag bind 1
sniff i <= 5 : sniff flag == 1 : soar
  • bind — assign variable
  • roar — print
  • sniff … : action — conditional (inline or block)
  • dive / soar — set execution direction forward / reverse
  • No loop keyword — direction reversal + flag guards make loops

→ See GUIDE.md for the full walkthrough.


⚡ Execution Model

A global DIRECTION (1 or -1) steps through lines. soar reverses it; dive restores forward. When direction goes past the first or last line, the program ends. Block sniff/check enters at the first (forward) or last (reverse) line of the block.


🎮 Test Cases & Projects

# Test cases (pip-installed cmra)
cmra "test cases\test.cmra"
cmra "test cases\test_strings.cmra"
cmra "test cases\test_arith.cmra"

# Projects
cmra projects\calculator.cmra
cmra projects\countdown.cmra
cmra projects\fizzbuzz.cmra
cmra projects\story_adventure.cmra

Test cases live in test cases/ (.cmra) and test cases cmrash/ (.cmrash).
Projects live in projects/: calculator, countdown, fizzbuzz, story_adventure.


📦 File Inventory

Path Purpose
src/cmra/ Installable Python package
src/cmra/cli.py Entry point for the cmra command
src/cmra/fire.py Fire Dragon interpreter
src/cmra/shadow.py Shadow Dragon interpreter
src/cmra/runner.py Shared dispatch logic
cmra.py Legacy Fire Dragon single-file
cmrash.py Legacy Shadow Dragon single-file
prototype.py Original workshop prototype
cmra.ps1 / cmra.bat No-install launchers
pyproject.toml Package metadata (pip install)
index.html + styles.css Static docs site
playground.html Browser REPL (Pyodide)
GUIDE.md Full user guide
keybind.txt Fire ↔ Shadow keyword cheatsheet
projects/ Showcase programs
test cases/ Regression tests (.cmra)
test cases cmrash/ Regression tests (.cmrash)

📜 License

CMRA is a learning project. Use freely, learn deeply, code fiercely! 🔥


May your code burn bright and your loops reverse true! 🐉🔥

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmra-0.1.1.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cmra-0.1.1-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file cmra-0.1.1.tar.gz.

File metadata

  • Download URL: cmra-0.1.1.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for cmra-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0bca69e709fb455c082bce62a0700c854ea78105654c3492271db52797d62aae
MD5 1e7c97c4ae417c7c4d15b73ff6f10c8c
BLAKE2b-256 9c52949bcfafe9b7384e771478d54a524d5a926d7b679550ff571ce654ba229c

See more details on using hashes here.

File details

Details for the file cmra-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: cmra-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for cmra-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 127e288fefa3855a0d25e5337f4a2246ed482ef43998d2d4be0e22f61920d2ee
MD5 40f27fc402b719b726f574089df98f46
BLAKE2b-256 fa7847c69ac33da2dbfaf71826a06f77df2c562e33273261763eec06f64dfbb2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page