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)

From Esolang
Jump to navigation Jump to search
Meow
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 print
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