The Tiro programming language

Tiro is a new, dynamic scripting language that can be easily embedded into host applications.

The language focuses on readability and expressiveness while the runtime aims to being small and simple to integrate.

Main features

  • Readable
  • Dynamically typed
  • Garbage collected
  • Expression based
  • Async by default
  • Easy interop with host application
  • Extensive C and C++ APIs
  • Compact library size
// Follow the button to run this snippet
import std;
export func main() {
const name = "Visitor";
const greeting = if is_authorized() {
"Welcome to Tiro's home page, ${name}!";
} else {
std.panic("You are not authorized to view this site");
};
std.print(greeting);
}
func is_authorized() = true;

Project status

This project is still under active development. Most major features are complete, but many small tasks still remain:

  • Feedback is needed in all aspects of this project (language, implementation, standard library, documentation, etc.).
  • The remaining language design issues need to be sorted out (e.g. TODOs in the reference documentation).
  • The standard library is still missing many small helpers.
  • See also Issues and Ideas.

Contact

Please use either Github Discussions or the Issue Tracker.