Meow
The purrfect functional programming language
Cat-themed syntax. Transpiles to Go. 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!
Nyantyu says hello!
Why Meow?
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) # 60Get started in seconds
1
Install
brew install 135yshr/homebrew-tap/meow2
Write
echo 'nya("Hello, World!")' > hello.nyan3
Run
meow run hello.nyan