Skip to main content

A feline-friendly esoteric programming language

Project description

.meow — The Feline-Friendly Esoteric Programming Language

Python License

Because programming should be fun, cats are chaotic, and you deserve to write code that goes meow!

What is MeowLang?

MeowLang (.meow) is a whimsical esoteric programming language where every line of code sounds like a cat. Inspired by the chaos of esolangs and the elegance of felines, .meow lets you vibe code using cat noises.

Quick Start

Installation

# Clone the repository
git clone https://github.com/jaytirthjoshi/meow.git
cd meow

# Run a .meow program
python meow_interpreter.py examples/hello_world.meow

Your First .meow Program

Create a file called hello.meow:

# Hello World in .meow
meow
meow
meow
purr
hiss
purr
scratch
purr

Run it:

python meow_interpreter.py hello.meow

Output:

3
2
0

Commands Reference

Command Action Example
meow Increment memory value by 1 meow → memory += 1
hiss Decrement memory value by 1 hiss → memory -= 1
purr Print the current memory value purr → prints memory
nap Do nothing (no-op) nap → does nothing
scratch Reset memory value to 0 scratch → memory = 0
lick Double the current memory value lick → memory *= 2
zoomies Square the memory value zoomies → memory = memory²
yowl Begin a loop (while memory != 0) yowl → loop start
paw End a loop paw → loop end
sleep Sleep for memory value milliseconds sleep → pause execution
🐾 Comment/decoration (ignored) 🐾 comment 🐾
mew Take user input and set memory to that value mew → memory = user input
pounce <line_number> Jump to the specified line number (1-based) pounce 5

File Extension

All MeowLang programs are saved as .meow files:

  • hello_world.meow
  • fibonacci.meow
  • countdown.meow

Examples

Countdown Program

# Countdown from 5 to 1
meow
meow
meow
meow
meow
yowl
purr
hiss
paw

Output:

5
4
3
2
1

Mathematical Operations

# Powers and multiplication demo
meow
meow
purr
lick
purr
lick
purr
lick
purr
zoomies
purr

Output:

2
4
8
16
256

Fibonacci Sequence

# First 8 Fibonacci numbers
meow
purr
purr
meow
meow
purr
meow
meow
meow
purr
# ... (see examples/fibonacci.meow for full program)

Output:

1
1
2
3
5
8
13
21

Usage

Command Line Interface

# Run a .meow file
python meow_interpreter.py program.meow

# Execute code directly
python meow_interpreter.py -e "meow meow meow purr"

# Get help
python meow_interpreter.py

Python API

from meow_interpreter import MeowInterpreter

interpreter = MeowInterpreter()

# Run from string
code = """
meow
meow
meow
purr
"""
result = interpreter.run(code)
print(result)  # Output: 3

# Run from file
result = interpreter.run_file("program.meow")

Language Features

Memory Model

  • Single integer memory cell
  • Starts at 0
  • Can be positive or negative
  • Supports basic arithmetic operations

Control Flow

  • Simple while loops with yowl and paw
  • Loops continue while memory != 0
  • Nested loops supported

Input/Output

  • purr outputs current memory value
  • Output is always numeric
  • Values are printed on separate lines

Comments and Decorations

  • Lines starting with 🐾 are comments
  • Emoji comments (🐾 comment 🐾) are ignored
  • Empty lines are skipped

Notes & Limitations

  • Case-sensitive: All commands must be lowercase
  • Whitespace: Commands are separated by newlines
  • Unknown commands: Ignored with a warning
  • Memory limits: Standard Python integer limits apply
  • No input: Currently read-only (memory manipulation only)

Why .meow?

Because:

  • Programming is fun — Why not make it adorable?
  • Cats are chaotic — Perfect for esoteric languages
  • You deserve joy — Write code that makes you smile
  • Learning is better with cats — Meow while you code!

Contributing

Want to add more cat commands? Here are some ideas:

  • stretch — Absolute value
  • pounce — Jump to line number
  • groom — Sort memory (if we add arrays)
  • chase — Random number generation
  • sleep — Sleep/delay command

License

MIT License - feel free to use this for fun projects, educational purposes, or just because cats are awesome!

Acknowledgments

  • Inspired by esoteric languages like Brainfuck, Befunge, and LOLCODE
  • Made with love for the programming community
  • Special thanks to all the cats who inspired this language

Made by cat lovers, for cat lovers

"In a world full of serious programming languages, be the one that goes meow!"

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

meowlang-0.0.3.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

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

meowlang-0.0.3-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file meowlang-0.0.3.tar.gz.

File metadata

  • Download URL: meowlang-0.0.3.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for meowlang-0.0.3.tar.gz
Algorithm Hash digest
SHA256 c48da294315039618ad5324c2ce3dea0d4e120c1f0f8bc4fb5d5e775b907868f
MD5 4dfc3ca898a946fd59f01d2427ef6faa
BLAKE2b-256 b5bea6d95d887a7d60463d071213d99497bfaa05d4f9c8a5e94b33676f5148c0

See more details on using hashes here.

File details

Details for the file meowlang-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: meowlang-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for meowlang-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 21ecb2b849e876cc22734e300a6502d050b57f604ac30058473cd7da2ce29b62
MD5 1279943f2f1b4fadc41b2f0c1025d03d
BLAKE2b-256 510e6d3fe31d262f588aa8e2cd058871514ce5a3b7b128818673737b556f78bc

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