/Pa

A Small & Interesting Programming Language.

Primary LanguageCMIT LicenseMIT

logo

Pa

Balanced as all things should be.

logo logo


What

You are welcomed to the holy lands of Pa.

Pa is a hobby project designed around familiarity & quick-prototyping, it balances various features and makes them fit in one environment for the ease of development and focus.

Documentation

map-marker-home  New here? Head straight to Pa's Documentation to learn the basics!

share-free-icon-font  Examples are all in the examples folder.

refresh-free-icon-font  And lastly, check the Update Log page for any major or minor changes added!


Up & Running

Pa uses a pre-built command line tool called PBuild to automate the process of downloading & building.

Download PBuild

download



Follow the instructions to install Pa using PBuild here.


Tooling

  • A more versatile tooling is planned!

At the moment there is only a syntax highlighter for the vscode text editor.
Avaliable in the marketplace here

Example

Here is a tail-call fibonacci function implemented in Pa.

define fib (n, a, b) {
    if n == 0 {
        return a;
    }
    
    if n == 1 {
        return b;
    }

    return fib(n - 1, b, a + b);
}

Performance

Thanks Gwion-Benchmarks for benchmarking Pa.
Here are the results of a full benchmark suite for Pa against some other languages -> benchmarks.

Thanks to

Huge thanks to Jérémie Astor for helping Pa!

License

Licensed under the MIT License.