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. How fast the result runs depends on how much you annotate: a function whose parameters and return type are all scalars (int, float, string, bool) gets a native Go signature — int is an int64, and scalar arithmetic in its body is Go arithmetic rather than a runtime call. Everything else stays dynamically typed behind a meow.Value interface: top-level code, lambdas, and any expression reaching a list, a map or a struct — including inside one of those native functions. Run meow transpile and read exactly what you got.

Why Meow Programming Language?

🐱

Cat-Themed Syntax

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

Compiles to Native Binaries

Transpiles to Go and compiles to a native binary. Annotate a function with scalar types and its signature and arithmetic come out as ordinary Go — run meow transpile and check.

🛠

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