#expression #language #code #extensible #programming

passerine

A small extensible programming language designed for concise expression with little code

5 releases

new 0.7.2 Oct 16, 2020
0.7.1 Oct 16, 2020
0.7.0 Oct 16, 2020
0.6.1 Jul 31, 2020
0.6.0 Jul 31, 2020

25 downloads per month
Used in passerine-aspen

MIT license

110KB
2K SLoC

The Passerine Programming Language

Made with ♡ by Isaac Clayton and the Passerine Community — a cornerstone of the Veritable Computation Initiative.



Welcome to Passerine! Passerine is a small, concise, extensible programming language, powered by a VM written in Rust. It was inspired by Scheme, OCaml, Rust, and Wren. Here's a small taste:

syntax 'for var 'in list do {
    body = var -> do

    loop = remaining -> {
        body remaining.head
        match remaining.tail -> [
            Some more -> loop more,
            None      -> (),
        ]
    }

    loop list
}

for number in [1, 2, 3].reverse {
    print (number + "...")
}

print "Liftoff!"

Getting Started

Passerine is still very much so a work in progress. We've done a lot, but there's still a so much more to do!

For those pioneers out there, The best way to get a feel for Passerine is to install Aspen, Passerine's CLI and package manager. We're working on an installation script for the passerine development toolchain; until then, we suggest just cloning this repository and aspen, and reading through the documentation.

Contributing

Contributors welcome! Read our Contribution Guidelines and join the Discord server to get started.

Who started this?

This is maiden project of The Veritable Computation Initiative. Our goal is to improve the tools developers use to write software.

So far, all of Passerine has been developed by a one-man team.

It's taken quite a lot of effort to get this far. I've been thinking about this language for around 3 years now, and have been actively developing it for around the past year. I'm excited to continue development - this is largely a test of personal effort, which is why I've been developing it regardless of whether others see its value at the moment. I'm just a high-school student, so any interest means a lot to me. Thanks for checking out my work!

— Isaac Clayton, the man of the one-man team

Roadmap

See the Project Roadmap to get a feel for what's currently under development.

No runtime deps