lippy
an easy-to-learn, shell-oriented scripting language
$ curl -sSL https://lippy-lang.s3.fr-par.scw.cloud/install.sh | sh
PS> irm https://lippy-lang.s3.fr-par.scw.cloud/install.ps1 | iex
Linux, macOS and Windows, Intel or ARM. One static binary — no runtime to install.
lippy is a small scripting language for the shell — the jobs you'd reach for bash or a bit of Python to do, written in a way that reads like plain English and starts before other languages have finished waking up.
# services.lip — is anything down?
for name in ["gitea", "kavita", "jellyfin"]
# attempt lets a request fail without stopping the script
result is attempt fetch("http://localhost/health/{name}")
if ok of result then
say "{name} ok"
else
say "{name} is DOWN"
end
end
Why you might like it
- Reads like English.
greater than,and,not,then,end— not>,&&,!,{,}. - Errors that help. They say what went wrong, where, and what you probably meant.
- One static binary. No runtime, no packages to install. Copy it and run.
- Batteries included. JSON, YAML, CSV, markdown, HTTP (client and a tiny
serve), SQLite and MySQL/MariaDB, dates, patterns — all in the box. - Safe by default. Values handed to a shell command or a database query can never split into new arguments or become SQL. Injection isn't a footgun you have to remember.
Get going
Install it with the one-liner above (Linux and macOS) or the PowerShell one (Windows), then:
lippy eval "2 + 3 * 4"
lippy eval 'say "hello, {upper("world")}"'
Write a script, put #!/usr/bin/env lippy at the top, chmod +x it, and it's a command.
Read the Guide for the whole tour, or the Syntax,
Types, and Errors notes for the details.