Made for humans first
Use plain words, minimal punctuation, and indentation instead of braces. New programmers can read Shrimpl almost like English, but still learn real concepts.
Shrimpl is an all-ages programming language that feels as friendly as Scratch but ships real APIs, AI helpers, and modern backends. Type readable code, run it instantly, and learn real-world concepts along the way.
server 3000
endpoint GET "/":
"Hello, Shrimpl!"One file, one command, instant API. No frameworks, no boilerplate.
Shrimpl bridges visual coding and general-purpose languages, so it works for first-timers and experienced developers alike.
Under the hood, Shrimpl runs on a Rust runtime and shares code with the same language server VS Code uses, so you do not outgrow it as your projects get serious.
Use plain words, minimal punctuation, and indentation instead of braces. New programmers can read Shrimpl almost like English, but still learn real concepts.
Build HTTP APIs, JSON endpoints, and simple services without wiring up frameworks or config files. Type, run, and ship.
Work with text, numbers, vectors, tensors, and dataframes using built-in helpers. Explore basic machine learning without importing half the internet.
Runtime checks catch common mistakes and surface clear diagnostics both in the terminal and inside your editor integration.
Shrimpl ships with an LSP backend and VS Code extension for live diagnostics, hover docs, snippets, and document symbols while you type.
Keep the syntax small and the feedback loop fast, whether you are teaching kids, onboarding new engineers, or prototyping AI-powered tools.
Spin up servers, define endpoints, and experiment with simple machine learning helpers without scaffolding or framework ceremony. Shrimpl keeps the mental overhead low so you can focus on the idea.
server 8080
endpoint GET "/hello/:name":
json { "message": "Hello " + name }
endpoint POST "/sum":
json { "result": sum(a, b) }# Simple linear regression playground
server 4000
endpoint POST "/predict":
let x = vector(xs)
let y = vector(ys)
let model = linreg(x, y)
json { "slope": model.slope, "intercept": model.intercept }The Shrimpl VS Code extension speaks the Language Server Protocol and uses the same Rust engine as the interpreter. You get live diagnostics, hover help, document symbols, and friendly messages.
{
"shrimpl.lsp.path": "${workspaceFolder}/../shrimpl-language/target/debug/shrimpl-lsp"
}Configure the extension to find your shrimpl-lsp binary, or keep things simple and put it on your PATH. Either way, VS Code becomes a Shrimpl-aware playground.
Live help, feedback, and community support
Ask questions, share projects, and get unstuck fast with other Shrimpl developers, teachers, and students. Discord is a 13+ service; younger users should only join with a parent or guardian's permission.
By joining, you agree to follow both the Shrimpl community rules and Discord's Terms of Service.
Install the interpreter via Cargo and go from idea to running server in minutes, with a language that stays friendly enough for all ages.