A scripting language for people who enjoy the simpler things in life.

Version 0.5.37


All the core language functionality described here in the documentation has been implemented.

The standard library is very sparse and needs a lot of work before Pyro could be considered a practical programming language. A regex library, a built-in SQLite implementation, and a networking library are currently at the top of the list.

Planned Features


Packaging is on the medium-length finger.

I'm planning to add a build command to Pyro which will bundle up a script and all of its dependencies into a zip archive which it will append to a copy of the Pyro binary to create an easily-distributable single-file executable.

'Virtual environments' and friends are a hell which Pyro will attempt to avoid at all costs if it ever becomes a real programming language.


Adding support for concurrency is on the long finger. Pyro is currently single-threaded and likely to remain that way for the foreseeable future. Getting concurrency right is a tough challenge and not one I'm in a rush to tackle.

String Interpolation

String interpolation for double-quoted strings is planned but not yet implemented. The syntax will be:

echo "string with ${expr:|fmt_spec} interpolations";

For example:

var foo = "123";
var bar = 456;
echo "${foo} and ${bar}"; # "123 and 456"


var foo = 123;
var bar = 456.789
echo "${foo:|%04i} and ${bar:|%.2f}"; # "0123 and 456.79"

Interpolation syntax will be backwards-compatible with the existing string-formatting syntax.