Pudu programming language
Menu
about

About Pudu

Pudu is a statically typed programming language for programs that are easy to read, safe to change, and honest about failure. A function's signature says what it takes, what it gives back, whether it can fail, and whether it changes what it was given, so a reader can tell what code promises without reading its body.

What Pudu is built around

What ships with it

One command, pudu, runs, checks, tests, formats, lints, and documents programs, and speaks the language server protocol for editors. The standard library ships with the compiler: collections, text, files and processes, JSON, CSV, TOML, YAML and XML, HTTP clients and servers, TLS, SQLite and PostgreSQL, cryptography, concurrency, and a native interface, audio, and video layer written in Pudu itself.

This website is a Pudu program too: its pages, search, and documentation are rendered by the language it describes. Start with the documentation or browse the standard library.

Where Pudu stands

Pudu is pre-release, at version 0.1.0. Programs run on an interpreter, dependencies are local directories, and the language and its standard library may still change before the first release. macOS and Linux x86-64 are tested; Windows is not yet.

Why Haskell matters

Haskell is important to Pudu. The first Pudu compiler is written in Haskell. Haskell's strong types and functional style help divide compiler work into explicit transformations that can be tested.

Pudu keeps its own syntax and learning path. You do not need to know Haskell to read or write Pudu programs.

About the author

Chris M. Pérez Santiago created Pudu and writes its compiler, standard library, documentation, and programming book.

Take part

The source, issues, and discussion live on GitHub. If Pudu is useful to you, you can support its development.