<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Meow Programming Language - Cat-themed Functional Language that Transpiles to Go on Meow Programming Language</title><link>https://meow.oreha.dev/</link><description>Recent content in Meow Programming Language - Cat-themed Functional Language that Transpiles to Go on Meow Programming Language</description><generator>Hugo</generator><language>en</language><atom:link href="https://meow.oreha.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Contributing to the Meow Programming Language</title><link>https://meow.oreha.dev/community/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/community/contributing/</guid><description>&lt;p&gt;Thank you for your interest in contributing to the Meow Programming Language! This guide covers everything you need to know to get started.&lt;/p&gt;
&lt;h2 id="development-environment-setup"&gt;Development Environment Setup&lt;/h2&gt;
&lt;h3 id="prerequisites"&gt;Prerequisites&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Go 1.26+&lt;/strong&gt; — required (see &lt;code&gt;go.mod&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;stringer&lt;/strong&gt; — for code generation of token type names&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Install stringer&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go install golang.org/x/tools/cmd/stringer@latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="clone-and-build"&gt;Clone and Build&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/135yshr/meow.git
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;cd&lt;/span&gt; meow
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go build ./cmd/meow
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="run-tests"&gt;Run Tests&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go &lt;span style="color:#8be9fd;font-style:italic"&gt;test&lt;/span&gt; ./...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="build-and-run"&gt;Build and Run&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Build the compiler&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go build ./cmd/meow
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Run a .nyan program&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go run ./cmd/meow run examples/hello.nyan
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Show transpiled Go code&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go run ./cmd/meow transpile examples/hello.nyan
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Run tests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go &lt;span style="color:#8be9fd;font-style:italic"&gt;test&lt;/span&gt; ./...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Run tests verbose&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go &lt;span style="color:#8be9fd;font-style:italic"&gt;test&lt;/span&gt; ./... -v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Static analysis&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go vet ./...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Update golden files (required when changing compiler output)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go &lt;span style="color:#8be9fd;font-style:italic"&gt;test&lt;/span&gt; ./compiler/ -update
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Regenerate stringer output (after changing token types)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go generate ./...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="project-structure"&gt;Project Structure&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;flowchart LR
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subgraph meow[&amp;#34; meow/ &amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; direction TB
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subgraph cmd[&amp;#34;cmd/meow/ — CLI entry point&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cmd_main[&amp;#34;main.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; end
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subgraph compiler[&amp;#34;compiler/ — Pipeline orchestration + E2E tests&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; comp_go[&amp;#34;compiler.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; comp_test[&amp;#34;compiler_test.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; end
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subgraph pkg[&amp;#34;pkg/&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; token[&amp;#34;token/ — Token types, keywords, positions&amp;lt;br/&amp;gt;token.go, tokentype_string.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lexer[&amp;#34;lexer/ — iter.Seq-based tokenizer&amp;lt;br/&amp;gt;lexer.go, lexer_test.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ast[&amp;#34;ast/ — AST node definitions&amp;lt;br/&amp;gt;ast.go, types.go, walk.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; parser[&amp;#34;parser/ — Pratt parser (iter.Pull)&amp;lt;br/&amp;gt;parser.go, parser_test.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; checker[&amp;#34;checker/ — Type checker&amp;lt;br/&amp;gt;checker.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; types[&amp;#34;types/ — Type system definitions&amp;lt;br/&amp;gt;types.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; codegen[&amp;#34;codegen/ — AST → Go source generation&amp;lt;br/&amp;gt;codegen.go, codegen_test.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; formatter[&amp;#34;formatter/ — Code formatter&amp;lt;br/&amp;gt;formatter.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; linter[&amp;#34;linter/ — Code linter&amp;lt;br/&amp;gt;linter.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; mutation[&amp;#34;mutation/ — Mutation testing&amp;lt;br/&amp;gt;mutation.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; end
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; subgraph runtime[&amp;#34;runtime/&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; meowrt[&amp;#34;meowrt/ — Core runtime: Value, operators, builtins&amp;lt;br/&amp;gt;value.go, operators.go, builtins.go, list.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; file[&amp;#34;file/ — File I/O (snoop, stalk)&amp;lt;br/&amp;gt;file.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; http[&amp;#34;http/ — HTTP client (pounce, toss, knead, swat, prowl)&amp;lt;br/&amp;gt;http.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; testing[&amp;#34;testing/ — Test framework (judge, expect, refuse, run)&amp;lt;br/&amp;gt;testing.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; coverage[&amp;#34;coverage/ — Statement coverage tracking&amp;lt;br/&amp;gt;coverage.go&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; end
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; examples[&amp;#34;examples/ — Sample .nyan programs&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; testdata[&amp;#34;testdata/ — Golden file tests (.nyan + .golden)&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; docs[&amp;#34;docs/ — Documentation&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; end
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="adding-a-new-keyword"&gt;Adding a New Keyword&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add the token&lt;/strong&gt; in &lt;code&gt;pkg/token/token.go&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Meow Programming Language Release Notes</title><link>https://meow.oreha.dev/blog/release-notes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/blog/release-notes/</guid><description>&lt;p&gt;A summary of features and changes in each Meow Programming Language release, organized from newest to oldest.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="kitty-struct-types--pr-26"&gt;Kitty (Struct) Types — PR #26&lt;/h2&gt;
&lt;p&gt;User-defined composite types with typed fields.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kitty Cat {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name: string
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; age: int
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nyan nyantyu = Cat(&amp;#34;Nyantyu&amp;#34;, 3)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nya(nyantyu.name) # =&amp;gt; Nyantyu
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;What&amp;rsquo;s new:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;kitty&lt;/code&gt; keyword for struct definitions&lt;/li&gt;
&lt;li&gt;Field definitions with &lt;code&gt;name: type&lt;/code&gt; syntax&lt;/li&gt;
&lt;li&gt;Constructor functions (call type name with positional args)&lt;/li&gt;
&lt;li&gt;Field access with &lt;code&gt;.&lt;/code&gt; notation&lt;/li&gt;
&lt;li&gt;Structural equality for kitty instances&lt;/li&gt;
&lt;li&gt;&lt;code&gt;KittyStmt&lt;/code&gt; and &lt;code&gt;KittyField&lt;/code&gt; AST nodes&lt;/li&gt;
&lt;li&gt;Runtime &lt;code&gt;Kitty&lt;/code&gt; value type with &lt;code&gt;GetField&lt;/code&gt; method&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="go-style-grouped-parameter-types--pr-25"&gt;Go-style Grouped Parameter Types — PR #25&lt;/h2&gt;
&lt;p&gt;Parameters can share type annotations using Go-style grouping:&lt;/p&gt;</description></item><item><title>Meow Programming Language Specification: Syntax, Types, Functions, and Pattern Matching</title><link>https://meow.oreha.dev/doc/spec/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/doc/spec/</guid><description>&lt;p&gt;This document defines the syntax and semantics of the Meow Programming Language.&lt;/p&gt;
&lt;p&gt;Meow is a cat-themed programming language that transpiles to Go. Source files use the &lt;code&gt;.nyan&lt;/code&gt; extension and are encoded in UTF-8.&lt;/p&gt;
&lt;h2 id="notation"&gt;Notation&lt;/h2&gt;
&lt;p&gt;This specification uses Extended Backus-Naur Form (EBNF) for grammar productions:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-ebnf" data-lang="ebnf"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;Production &lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;name &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;=&amp;#34;&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;Expression &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;.&amp;#34;&lt;/span&gt; .
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;Expression &lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;Term &lt;/span&gt;{ &lt;span style="color:#f1fa8c"&gt;&amp;#34;|&amp;#34;&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;Term &lt;/span&gt;} .
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;Term &lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;Factor &lt;/span&gt;{ &lt;span style="color:#ff79c6"&gt;Factor &lt;/span&gt;} .
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;Factor &lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;name &lt;/span&gt;| &lt;span style="color:#ff79c6"&gt;literal &lt;/span&gt;| &lt;span style="color:#f1fa8c"&gt;&amp;#34;(&amp;#34;&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;Expression &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;)&amp;#34;&lt;/span&gt; | &lt;span style="color:#f1fa8c"&gt;&amp;#34;[&amp;#34;&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;Expression &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;]&amp;#34;&lt;/span&gt; | &lt;span style="color:#f1fa8c"&gt;&amp;#34;{&amp;#34;&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;Expression &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;}&amp;#34;&lt;/span&gt; .
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;[ ... ]&lt;/code&gt; denotes optional (0 or 1).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;{ ... }&lt;/code&gt; denotes repetition (0 or more).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;quot; ... &amp;quot;&lt;/code&gt; denotes terminal symbols.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="source-code-representation"&gt;Source Code Representation&lt;/h2&gt;
&lt;p&gt;Source code is UTF-8 encoded text in &lt;code&gt;.nyan&lt;/code&gt; files. Newlines serve as statement terminators (semicolons are not used). The compiler processes a single &lt;code&gt;.nyan&lt;/code&gt; file at a time.&lt;/p&gt;</description></item><item><title>Meow Programming Language Tutorial: Learn .nyan Syntax from Hello World</title><link>https://meow.oreha.dev/learn/tutorial/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/learn/tutorial/</guid><description>&lt;p&gt;A step-by-step guide to learning the Meow Programming Language. Each section builds on the previous one and includes runnable &lt;code&gt;.nyan&lt;/code&gt; examples.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Go 1.26+ installed&lt;/li&gt;
&lt;li&gt;Meow compiler installed (see &lt;a href="https://meow.oreha.dev/community/contributing/#clone-and-build"&gt;Installation&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Verify your installation:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;meow version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="1-hello-world"&gt;1. Hello, World!&lt;/h2&gt;
&lt;p&gt;Create a file called &lt;code&gt;hello.nyan&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nya(&amp;#34;Hello, World!&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Run it:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;meow run hello.nyan
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Output:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Hello, World!
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;nya&lt;/code&gt; is Meow&amp;rsquo;s print function. It prints its arguments separated by spaces, followed by a newline.&lt;/p&gt;
&lt;p&gt;You can also build a native binary:&lt;/p&gt;</description></item><item><title>Effective Meow Programming Language: Idiomatic Patterns and Conventions</title><link>https://meow.oreha.dev/learn/effective-meow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/learn/effective-meow/</guid><description>&lt;p&gt;Idiomatic patterns and conventions for writing clean, consistent code in the Meow Programming Language.&lt;/p&gt;
&lt;h2 id="placeholder-names"&gt;Placeholder Names&lt;/h2&gt;
&lt;p&gt;Every language has its go-to stand-in names — the world at large reaches for
&lt;code&gt;foo&lt;/code&gt;, &lt;code&gt;bar&lt;/code&gt;, and &lt;code&gt;baz&lt;/code&gt;. In Meow, we have our own cast of characters:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;Role&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Nyantyu&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;The first cat on the scene — your default placeholder&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Tyako&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;The second — shows up when one name isn&amp;rsquo;t enough&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Tyomusuke&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;The third — for when the gang&amp;rsquo;s all here&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Use them in examples, tests, and documentation whenever you need throwaway
names. Keeping these consistent makes &lt;code&gt;.nyan&lt;/code&gt; code feel at home everywhere
in the project.&lt;/p&gt;</description></item><item><title>Meow Programming Language Standard Library</title><link>https://meow.oreha.dev/doc/stdlib/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/doc/stdlib/</guid><description>&lt;p&gt;This document describes all built-in functions and standard library packages available in the Meow Programming Language.&lt;/p&gt;
&lt;h2 id="built-in-functions-no-nab-required"&gt;Built-in Functions (no &lt;code&gt;nab&lt;/code&gt; required)&lt;/h2&gt;
&lt;p&gt;These functions are available globally in every &lt;code&gt;.nyan&lt;/code&gt; program.&lt;/p&gt;
&lt;h3 id="nyaargs"&gt;&lt;code&gt;nya(args...)&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;Print values to standard output, separated by spaces, followed by a newline.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nya(&amp;#34;Hello&amp;#34;, &amp;#34;World&amp;#34;) # =&amp;gt; Hello World
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nya(42) # =&amp;gt; 42
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nya([1, 2, 3]) # =&amp;gt; [1, 2, 3]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Returns &lt;code&gt;catnap&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="hissargs"&gt;&lt;code&gt;hiss(args...)&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;Raise an error by panicking. Arguments are joined with spaces and prefixed with &lt;code&gt;&amp;quot;Hiss! &amp;quot;&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Meow Programming Language Quick Reference</title><link>https://meow.oreha.dev/doc/reference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/doc/reference/</guid><description>&lt;p&gt;A complete reference of all keywords, operators, and syntax in the Meow Programming Language.&lt;/p&gt;
&lt;h2 id="keywords"&gt;Keywords&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Meow&lt;/th&gt;
 &lt;th&gt;Meaning&lt;/th&gt;
 &lt;th&gt;Example&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nyan&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Variable declaration&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nyan x = 42&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;meow&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Function definition&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;meow add(a int, b int) int { bring a + b }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;bring&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Return a value&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;bring x + 1&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;sniff&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Conditional branch (if)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;sniff (x &amp;gt; 0) { ... }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;scratch&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Else branch&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;} scratch { ... }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;purr&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Loop (range-based)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;purr i (10) { ... }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;paw&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Lambda (anonymous function)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;paw(x int) { x * 2 }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nya&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Print values&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nya(&amp;quot;Hello!&amp;quot;)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;lick&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Transform each element in a list (map)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;lick(nums, paw(x) { x * 2 })&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;picky&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Select elements matching a condition (filter)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;picky(nums, paw(x) { x &amp;gt; 0 })&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;curl&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Combine a list into a single value (reduce)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;curl(nums, 0, paw(a, x) { a + x })&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;peek&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Branch based on a value (pattern match)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;peek(v) { 0 =&amp;gt; &amp;quot;zero&amp;quot;, _ =&amp;gt; &amp;quot;other&amp;quot; }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;hiss&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Raise an error&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;hiss(&amp;quot;something went wrong&amp;quot;)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;gag&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Catch errors (try/recover)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;gag(paw() { risky() })&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;is_furball&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Check if a value is an error&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;is_furball(result)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;nab&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Import standard library package&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nab &amp;quot;http&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;flaunt&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Export &lt;em&gt;(reserved)&lt;/em&gt;&lt;/td&gt;
 &lt;td&gt;&amp;mdash;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;yarn&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;True (boolean literal)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nyan ok = yarn&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;hairball&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;False (boolean literal)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nyan ng = hairball&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;catnap&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Nil (represents no value)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nyan nothing = catnap&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;kitty&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Struct (composite type) definition&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kitty Cat { name: string }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="type-keywords"&gt;Type Keywords&lt;/h2&gt;
&lt;p&gt;Meow supports gradual static typing. Type keywords can annotate variables, function parameters, and return values.&lt;/p&gt;</description></item><item><title>Meow Programming Language vs Go: Side-by-Side Reference</title><link>https://meow.oreha.dev/learn/go-comparison/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/learn/go-comparison/</guid><description>&lt;p&gt;A side-by-side reference for Go developers learning the Meow Programming Language. Meow transpiles to Go, so many concepts map directly.&lt;/p&gt;
&lt;h2 id="syntax-comparison"&gt;Syntax Comparison&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Concept&lt;/th&gt;
 &lt;th&gt;Go&lt;/th&gt;
 &lt;th&gt;Meow&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Variable&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;var x int = 42&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nyan x int = 42&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Short variable&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;x := 42&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nyan x = 42&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Function&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;func add(a, b int) int&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;meow add(a, b int) int&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Return&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;return x&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;bring x&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;If&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;if x &amp;gt; 0 { }&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;sniff (x &amp;gt; 0) { }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Else&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;} else { }&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;} scratch { }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Else if&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;} else if x == 0 {&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;} scratch sniff (x == 0) {&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;For (counting)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;for i := 0; i &amp;lt; n; i++&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;purr i (n)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;For (inclusive)&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;for i := a; i &amp;lt;= b; i++&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;purr i (a..b)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Lambda&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;func(x int) int { return x*2 }&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;paw(x int) { x * 2 }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Print&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;fmt.Println(x)&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nya(x)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;True&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;yarn&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;False&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;hairball&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Nil&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nil&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;catnap&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Struct&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;type Cat struct { ... }&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kitty Cat { ... }&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Import&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;import &amp;quot;net/http&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;nab &amp;quot;http&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Error&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;errors.New(&amp;quot;msg&amp;quot;)&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;hiss(&amp;quot;msg&amp;quot;)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Panic&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;panic(&amp;quot;msg&amp;quot;)&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;hiss(&amp;quot;msg&amp;quot;)&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Recover&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;defer func() { recover() }()&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;gag(paw() { ... })&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="detailed-examples"&gt;Detailed Examples&lt;/h2&gt;
&lt;h3 id="variable-declaration"&gt;Variable Declaration&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Go:&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Meow Programming Language Compiler Internals</title><link>https://meow.oreha.dev/doc/internals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/doc/internals/</guid><description>&lt;p&gt;This document describes the internal architecture of the Meow Programming Language compiler for contributors who want to understand or modify the compilation pipeline.&lt;/p&gt;
&lt;h2 id="pipeline-overview"&gt;Pipeline Overview&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;flowchart TD
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; src[&amp;#34;.nyan source&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lexer[&amp;#34;Lexer&amp;lt;br/&amp;gt;pkg/lexer&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; parser[&amp;#34;Parser&amp;lt;br/&amp;gt;pkg/parser&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; checker[&amp;#34;Checker&amp;lt;br/&amp;gt;pkg/checker&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; codegen[&amp;#34;Codegen&amp;lt;br/&amp;gt;pkg/codegen&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; gobuild[&amp;#34;go build&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bin([&amp;#34;binary&amp;#34;])
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; src --&amp;gt; lexer
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; lexer -- &amp;#34;iter.Seq[Token]&amp;#34; --&amp;gt; parser
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; parser -- &amp;#34;AST&amp;#34; --&amp;gt; checker
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; checker -- &amp;#34;TypeInfo&amp;#34; --&amp;gt; codegen
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; codegen -- &amp;#34;Go source&amp;#34; --&amp;gt; gobuild
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; gobuild --&amp;gt; bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The pipeline is orchestrated by &lt;code&gt;compiler/compiler.go&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Meow Programming Language vs MeowLang and Other Cat-themed Languages</title><link>https://meow.oreha.dev/meow-programming-language-vs-meowlang/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/meow-programming-language-vs-meowlang/</guid><description>&lt;p&gt;If you searched for &amp;ldquo;Meow language&amp;rdquo; or &amp;ldquo;MeowLang&amp;rdquo; and landed here, this page
explains what the &lt;strong&gt;Meow Programming Language&lt;/strong&gt; is, and how it relates to
other projects that share a similar cat-themed name.&lt;/p&gt;
&lt;h2 id="what-is-the-meow-programming-language"&gt;What is the Meow Programming Language?&lt;/h2&gt;
&lt;p&gt;The Meow Programming Language is a cat-themed &lt;strong&gt;functional&lt;/strong&gt; programming
language that transpiles &lt;code&gt;.nyan&lt;/code&gt; source files into Go source code, which is
then compiled to a native binary using the standard Go toolchain.&lt;/p&gt;</description></item><item><title>Sitemap - Meow Programming Language</title><link>https://meow.oreha.dev/sitemap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://meow.oreha.dev/sitemap/</guid><description>&lt;p&gt;Browse every page of the Meow Programming Language website. If you cannot find a page through navigation, this directory lists everything that is published.&lt;/p&gt;</description></item></channel></rss>