Pyro

A dynamically-typed, garbage-collected scripting language.

Version 0.17.0

FAQ


What problem does Pyro solve?

It solves the problem that I wanted to build a programming language.

Why is it called Pyro?

I built the first prototype version in Python and it burned through CPU cycles. I think that qualifies as blazingly fast for marketing purposes.

Is Pyro fast?

No. Right now, Pyro is approximately as fast as Python, which is generally considered to be a slow language.

Execution speed isn't a priority for Pyro — if you need fast code, you should use a compiled language.

That said, Pyro is designed to be highly optimizable so, in theory, future versions could run at least an order of magnitude faster, but for now this is a theoretical possibility.

Is Pyro embeddable?

Potentially, in the future.

Right now, Pyro's code isn't organised in a way that would make it easy to embed, but that isn't a fundamental problem.

Once the core language is mature, I'll work on making it easily embeddable so it can be used, like Lua, as a scripting language inside a larger application.

Does Pyro support compiled modules?

Yes. You can write a Pyro module in C, compile it as a dynamic library, then import the resulting .so file just like a regular Pyro module.

I haven't gotten around to documenting this feature yet as the internal interface is still very unstable. In the meantime, you can find a sample compiled module here.