Yup Shell (yupsh)

The prompt is yup>; the binary is yupsh (Yup Shell, like bash/fish).

yup> seq 1 10 | grep -v 5 | head -n 3
1
2
3

Try it live in the browser playground before installing anything.

Why typed streams, not text pipes#

A traditional shell pipeline is text in, text out — every stage re-parses what the last one printed. yupsh's built-in commands are each a gloo.Command[[]byte, []byte] from the gloo-foo framework, composed in-process with the | operator you already know. No fork/exec for echo, grep, sort, wc, and 40+ other built-ins — just Go functions passing typed byte streams to each other.

When you need a real subprocess, exec, git, and perl are explicit escape hatches — the typing model doesn't fight you when you step outside it.

Familiar by design
Pipes, flags, globs — the muscle memory you already have

Unix-style flags like wc -l and head -n 10 translate to each command's typed options automatically.

Updated