We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
Meow (135yshr)
| Paradigm(s) | functional |
|---|---|
| Designed by | 135yshr |
| Appeared in | 2026 |
| Type system | gradual, static |
| Computational class | Turing complete |
| Reference implementation | GitHub |
| Influenced by | Go |
| File extension(s) | .nyan |
Meow is a cat-themed functional programming language created by 135yshr in 2026. Every keyword in the language is a cat-related word: variables are declared with nyan, functions with meow, conditionals with sniff, and printing is done with nya. Error messages are cat-flavored as well, always beginning with Hiss! and ending with , nya~.
Unlike most cat-themed languages, Meow is not an interpreter-only toy: source files (.nyan) are transpiled to Go source code and then compiled to native binaries by the Go toolchain. The language supports gradual static typing, first-class functions, pattern matching, a pipe operator, and a small standard library (file I/O, HTTP, testing). A browser-based playground running a WebAssembly build of the compiler is available on the official website.
Language overview
Meow reserves 25 keywords, all of them cat words:
| Keyword | Meaning |
|---|---|
nyan |
variable declaration |
meow |
function definition |
bring |
return a value |
sniff / scratch |
if / else |
purr |
loop (range-based) |
paw |
lambda (anonymous function) |
nya |
|
lick / picky / curl |
map / filter / reduce |
peek |
pattern match |
hiss |
raise an error |
nab |
import a standard library package |
yarn / hairball |
boolean literals true / false |
catnap |
nil |
kitty |
struct definition |
breed / collar |
type alias / newtype |
pose / groom / self |
interface / method implementation / instance reference |
trill |
pure-function modifier |
Six type keywords support gradual typing: int, float, string, bool, furball (error value), and litter (list). Annotated code compiles to typed Go; unannotated values fall back to boxed runtime values.
Examples
Hello, world!
nyan name = "Nyantyu"
meow greet(who string) string {
bring "Hello, " + who + "!"
}
nya(greet(name))
FizzBuzz
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))
}
Functional list operations
nyan nums = [1, 2, 3, 4, 5]
nyan doubled = lick(nums, paw(x int) { x * 2 })
nyan evens = picky(nums, paw(x int) { x % 2 == 0 })
nyan sum = curl(nums, 0, paw(acc int, x int) { acc + x })
nya(doubled)
nya(evens)
nya(sum)
Fibonacci
meow fib(n int) int {
sniff (n <= 1) {
bring n
}
bring fib(n - 1) + fib(n - 2)
}
purr i (10) {
nya(fib(i))
}
Relation to other cat-themed languages
Several unrelated languages on this wiki share the name Meow: Meow (Martsadas), Meow (None1), meow (tommyaweosme), and Meowlang. This Meow is not affiliated with any of them; it is distinguished by transpiling to Go and producing native binaries, rather than being interpreted.
External resources
- Official website
- Online playground (WebAssembly build, runs in the browser)
- Language specification
- Reference implementation on GitHub (written in Go)