Skip to content

dmulholl/pyro

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
cmd
 
 
 
 
 
 
etc
 
 
lib
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

Pyro

Pyro is a dynamically-typed, garbage-collected scripting language implemented in C. This means that it lives in roughly the same neighbourhood in programming language space as languages like Python or Ruby.

def fib(n) {
    if n < 2 {
        return n;
    }
    return fib(n - 1) + fib(n - 2);
}

Pyro is a classic braces-and-semicolons language. If you've used any C-family language before you should find it instantly intuitive.

Getting Started

Pyro is an experimental language that's still under development — you should only write the control code for your pacemaker/anti-ballistic missile defence system in it if you're feeling particularly adventurous.

Design Goals

  • Legibility — Pyro code should be easy to read and understand.
  • Simplicity — Common problems should have simple solutions.
  • Elegance — A well-crafted tool should be a pleasure to use.

Internals

  • Pyro compiles source code into bytecode which it executes using a stack-based VM.
  • Pyro manages memory using a simple mark-and-sweep garbage collector.

License

Zero-Clause BSD (0BSD).

About

A dynamically-typed, garbage-collected scripting language.

Resources

License

Stars

Watchers

Forks

Languages