SPR v0.6.0 · Semantic Pipeline Runtime

AI is not a library call
— it's a language primitive.

summarize, translate, and classify live on the same syntax level as +, sort, and len. Pipe compiles to a single ~10 MB binary. Zero dependencies.

25
AI Builtins
220+
Tests
~10 MB
Binary Size
4
Providers
9
Modules
▶ Try it Live GitHub →

Try Pipe in your browser

Probier Pipe im Browser

No install. No signup. Just type Pipe code and run.

Keine Installation. Keine Anmeldung. Einfach tippen und ausführen.

pipe playground
Loading WASM...

30 lines of Python → 5 lines of Pipe

30 Zeilen Python → 5 Zeilen Pipe

# Python: KI ist ein Library-Call import openai def summarize(text): r = openai.chat.completions.create( model="gpt-4o", messages=[{"role":"user","content":text}] ) return r.choices[0].message.content def translate(text, lang): r = openai.chat.completions.create( model="gpt-4o", messages=[{"role":"system","content":lang}, {"role":"user","content":text}] ) return r.choices[0].message.content text = open("news.txt").read() print(translate(summarize(text), "de"))
-- Pipe: Daten fließen von oben nach unten read_file "news.txt" > summarize > translate "de" > print

Why Pipe is different

Warum Pipe anders ist

AI as Language Primitive

KI als Sprach-Primitive

25 built-in AI operations. No imports, no SDKs, no API wrappers. summarize sits next to + on the same syntax level — because AI is no longer a special case.

25 eingebaute KI-Operationen. Keine Imports, keine SDKs, keine API-Wrapper. summarize steht neben + auf derselben Syntax-Ebene — weil KI kein Sonderfall mehr ist.

read_file "server.log"
    > classify ["error","warn","info"]
    > summarize
    > translate "de"
    > save "report.md"

Self-Healing Code

Selbstheilender Code

try_ai catches runtime errors and uses AI to automatically fix the broken expression — type mismatches, division by zero, index errors. If the AI can't fix it, execution falls to catch. No other language has this.

try_ai fängt Laufzeitfehler und nutzt KI um den Ausdruck automatisch zu reparieren — Typ-Fehler, Division durch Null, Index-Fehler. Wenn die KI nicht fixen kann, fällt es ins catch. Keine andere Sprache kann das.

try_ai
    "42" * 3        -- E002: STRING * INTEGER
catch e
    0                -- fallback if AI fix fails

-- AI auto-fix: (to_num "42") * 3 → 126 ✓

Parallel by Design

Parallel per Design

>> starts any pipeline stage in the background — returning a Future that auto-resolves when needed. ai_batch handles hundreds of texts concurrently with built-in rate limiting. No async/await. No Promise.all.

>> startet jede Pipeline-Stufe im Hintergrund — und gibt einen Future zurück, der sich automatisch auflöst. ai_batch verarbeitet hunderte Texte parallel mit eingebautem Rate-Limiting. Kein async/await. Kein Promise.all.

-- 3 AI calls — 3 seconds instead of 9
"Question A" >> ask
"Question B" >> ask
"Question C" >> ask

print a ++ b ++ c  -- Futures auto-resolve

Single Binary. Zero Dependencies.

Eine Binary. Null Abhängigkeiten.

One ~10 MB statically-linked file. No venv, no pip, no npm, no Docker. Compile once — deploy to Linux, macOS, Windows, or run in the browser via WebAssembly.

Eine ~10 MB statisch gelinkte Datei. Kein venv, kein pip, kein npm, kein Docker. Einmal kompilieren — deployen auf Linux, macOS, Windows, oder direkt im Browser per WebAssembly.

go build -o pipe ./cmd/pipe

./pipe script.pipe         # Linux
./pipe.exe script.pipe      # Windows
# Or: visit pipe.lang → playground

Module Ecosystem with Versioning

Modul-Ökosystem mit Versionierung

9 curated modules in the registry. Pin versions with @1.0.0. pipe -search discovers, pipe -get installs. Import by name — no URLs needed.

9 kuratierte Module in der Registry. Versionen pinnen mit @1.0.0. pipe -search entdeckt, pipe -get installiert. Import per Name — keine URLs nötig.

-- Install and pin a module version
pipe -get parallel-runner@1.0.0

import "parallel-runner@1.0.0"

ask_many ["What is Paris?", "What is Berlin?"]
    > print

25 AI Builtins + 81 Standard Builtins

25 KI-Builtins + 81 Standard-Builtins

🧠 Understanding

summarizeText summarization
translateTranslation
classifyClassification
extractData extraction (JSON)
askQuestion answering
generateFree-text generation

⚡ Speed & Parallel

ai_streamReal-time token streaming
ai_batchAuto-parallel batch
ai_parallelConcurrency control
ai_rate_limitRate limiting
ai_chatLow-level chat
ai_chat_jsonChat → structured JSON

🔍 Embeddings & Search

embedText → vector
embed_batchBatch embeddings
cosine_simSemantic similarity
dot_productDot product
nearestTop-K nearest

🤖 Tool Calling & Config

ai_toolRegister function as tool
ai_with_toolsChat with tool access
ai_providerSelect AI provider
ai_modelSelect model
ai_timeoutSet timeout

Get Started in 30 seconds

In 30 Sekunden starten

# Clone and build git clone https://github.com/harry/pipe && cd pipe && make build # Set your API key export DEEPSEEK_API_KEY="sk-..." # Run your first Pipe program ./bin/pipe -c 'ai_provider "deepseek"; ask "What is Pipe?" > print'