Installation
Quick install
Section titled “Quick install”The fastest way to install Praia on macOS or Linux:
curl -fsSL https://praia.sh/install.sh | shThis downloads the latest release binary for your platform and installs it to /usr/local/bin/. It also installs the standard library grains and the sand package manager.
Build from source
Section titled “Build from source”If you prefer to build from source, or need to customize the build:
Clone the repository
Section titled “Clone the repository”git clone --recursive https://github.com/praia-lang/praia.gitcd praiaInstall dependencies (optional)
Section titled “Install dependencies (optional)”Praia builds without external libraries, but you lose HTTPS, SQLite, REPL history, Unicode-aware strings, and the RE2 regex engine.
macOS:
brew install openssl@3 readline sqlite utf8proc re2Ubuntu / Debian:
sudo apt install g++ make libssl-dev libreadline-dev libsqlite3-dev libutf8proc-dev libre2-devFedora / RHEL:
sudo dnf install gcc-c++ make openssl-devel readline-devel sqlite-devel utf8proc-devel re2-develWhat each dependency enables
Section titled “What each dependency enables”| Dependency | Enables | Required? |
|---|---|---|
| OpenSSL | HTTPS client (http.get("https://...")) | Optional |
| SQLite | sqlite.open() built-in | Optional |
| readline/libedit | REPL history and line editing | Optional |
| utf8proc | Unicode-aware strings (grapheme splitting, case mapping, emoji) | Optional |
| RE2 | Safe regex engine (O(n) guaranteed, no catastrophic backtracking) | Optional — falls back to std::regex |
Build and install
Section titled “Build and install”makesudo make installThis installs praia and sand (the package manager) to /usr/local/bin/, with stdlib grains in /usr/local/lib/praia/.
To customize the install location:
sudo make install PREFIX=/usr # /usr/bin/praia, /usr/lib/praia/sudo make install LIBDIR=/opt/praia/lib # custom lib pathUninstall
Section titled “Uninstall”sudo make uninstallBuilding without installing
Section titled “Building without installing”If you just want to build and run locally:
make./praia # REPL./praia script.praia # run a file./praia -v # print versionRunning tests
Section titled “Running tests”make test # run the test suite./praia test # same thing./praia test path/to/dir # test a specific directoryPlatform support
Section titled “Platform support”Praia uses POSIX APIs and runs on macOS, Linux, and Windows via WSL. It should work on BSD but is untested. There is no native Windows support.