/fluff

Source code for the Fluff programming language.

Primary LanguageCMIT LicenseMIT

Important

This project is mentally painful to deal with. I will try to keep working on it, however, it will be slower and don't expect me to make daily commits anymore.

Fluff is a programming language designed for type safety, low memory usage and speed. Think of it as a mix of Rust, C++ and Typescript, all bundled in a lovingly written bundle for the true :3c users.

class Animal {
    virtual func greet() -> string;
}

class Dog : Animal {
    func greet() -> string {
        return "woof!";
    }
}

let animal: Animal = Dog.new();
println(animal.greet()); // woof!

License | Build status | Documentation


Version License Commit activity

Build status

Platform Status
Linux build status GitHub Actions Workflow Status
MacOS build status GitHub Actions Workflow Status
Windows build status GitHub Actions Workflow Status

Directory structure

  • src/ - Source files
    • core/ - Language configuration and data structures
    • parser/ - Parser and IR generation code
  • include/ - Helper includes for the source code files

Contributing

Fluff is, at it's core, an experimental toy language. You can get started by reading the source code from the bottom up using the comments.

The source is very straight forward and not difficult to navigate, however you can always open an issue in case any section needs more documentation.