Meow Programming Language

The purrfect functional programming language

Meow Programming Language is a cat-themed functional programming language that transpiles .nyan files to Go and compiles to native binaries.

hello.nyan
kitty Cat {
  name: string
  age: int
}

nyan nyantyu = Cat("Nyantyu", 3)

meow greet(cat Cat) string {
  bring cat.name + " says hello!"
}

nya(greet(nyantyu))
$ meow run hello.nyan
Nyantyu says hello!

What is Meow Programming Language?

Meow Programming Language is a cat-themed functional programming language that transpiles to Go. It uses playful keywords such as nyan, meow, purr, and hiss, while still compiling to native binaries through Go — so your .nyan programs run at the same speed as hand-written Go code.

Why Meow Programming Language?

🐱

Cat-Themed Syntax

Every keyword is a cat word — nyan, meow, sniff, purr, hiss. Programming has never been this fun.

Native Performance

Transpiles to Go and compiles to native binaries. Your cat code runs at full speed.

🛠

First-Class Functions

Lambdas with paw(x) { x * 2 }, plus lick (map), picky (filter), and curl (reduce).

🚀

Pattern Matching

Powerful peek expressions with ranges, wildcards, and multi-case support.

🚧

Pipe Operator

Chain operations elegantly with |=|. Transform data in a readable, functional style.

📦

Standard Library

Built-in packages for file I/O and HTTP. Just nab "http" and start building.

See it in action

fizzbuzz.nyan
meow fizzbuzz(n int) string {
  sniff (n % 15 == 0) {
    bring "FizzBuzz"
  } scratch sniff (n % 3 == 0) {
    bring "Fizz"
  } scratch sniff (n % 5 == 0) {
    bring "Buzz"
  } scratch {
    bring to_string(n)
  }
}

purr i (1..20) {
  nya(fizzbuzz(i))
}
fibonacci.nyan
meow fib(n int) int {
  sniff (n <= 1) {
    bring n
  }
  bring fib(n - 1) + fib(n - 2)
}

purr i (10) {
  nya(fib(i))
}
kitty_example.nyan
kitty Cat {
  name: string
  age: int
}

nyan nyanchu = Cat("Nyanchu", 3)
nyan tyako = Cat("Tyako", 5)
nyan tyomusuke = Cat("Tyomusuke", 2)

nya(nyanchu.name + " is " + to_string(nyanchu.age) + " years old")
functional.nyan
nyan numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Pipeline: filter evens, double them, sum
nyan evens = numbers |=| picky(paw(x) { x % 2 == 0 })
nyan doubled = evens |=| lick(paw(x) { x * 2 })
nyan result = doubled |=| curl(0, paw(acc, x) { acc + x })

nya(result)  # 60

Frequently Asked Questions about Meow Programming Language

What is the Meow Programming Language?

The Meow Programming Language is a cat-themed functional programming language that transpiles .nyan source files into Go source code, which is then compiled to a native binary by the Go toolchain.

What file extension does the Meow Programming Language use?

Meow Programming Language source files use the .nyan extension and are encoded in UTF-8.

How is the Meow Programming Language different from MeowLang and other cat-themed languages?

The Meow Programming Language transpiles .nyan files to Go source and compiles to a native binary through the Go toolchain. Other projects named MeowLang or similar are typically esoteric or toy interpreters and are not affiliated with this project. See the detailed comparison for more.

Where can I try the Meow Programming Language online?

You can try the Meow Programming Language in the browser-based Playground at https://meow.oreha.dev/playground/, which runs a WebAssembly build of the Meow compiler.

Get started in seconds

1

Install

brew install 135yshr/homebrew-tap/meow
2

Write

echo 'nya("Hello, World!")' > hello.nyan
3

Run

meow run hello.nyan