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/yourusername/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.1.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.1-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: meowlang-0.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 a2338c15d89212230cfbf9c67758e4788a68757fcda09789c24ab06c4479c3ce
MD5 6d482b391abe9dcf36c03ce1f6da06fe
BLAKE2b-256 9b92d52a5968b10f3e018cf3232d05d461c9033028cc4dddf5d360c19d16e030

See more details on using hashes here.

File details

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

File metadata

  • Download URL: meowlang-0.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 58cb90832b0784dfe64190109816c2cb3f88b2c9e80fc6dce08281354696caf6
MD5 d02f06c853c34c3a48baed5a5c1f60cf
BLAKE2b-256 497283a70b0eda999f71dfcaf81a89c6218b3ea422f111bda47dde5de055470a

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