Skip to content
You must be logged in to sponsor AldrinMathew

Become a sponsor to Aldrin Mathew

Why sponsor?

qat is my passion project. I have devoted a significant portion of my life to it. I see beauty in the language and believe that it is worth sharing with the world. If you find beauty in the design of the language, appreciate the effort that went to into it, or just want a better language to fit your needs, I urge you to donate to support the project. Donating to the project not only provides financial support, but also shows to the world that more and more people appreciate the language.

What is qat?

qat is a fresh approach to systems programming. The language is envisioned to be a superfast, modern systems language for creating efficient and maintainable software. It takes a fresh and simpler approach to memory management, without taking away the control from the programmer. No garbage collection, reference counting or borrow checker, but no manual memory management necessary either. How about that?

Key Features

  • mix (Sum types), choice (enums), maybe (optionals), result (resultant), Type Definitions, Generics (Compile Time polymorphism)
  • pre expressions (compile-time/const expressions)
  • skill (Shared behaviour), methods, poly (Runtime Polymorphism)
  • Advanced Pattern Matching
  • Value Semantics
  • Resource Acquisition Is Initialisation (RAII) - Can be customised or avoided
  • Powerful copy & move semantics via constructors and operators
  • Global Variables and Static Member Fields
  • Modern concurrency model
  • Modules & built-in modular build system with static & shared library support
  • References & Pointer Ownership
  • And so much more...

Initial inspiration

My initial goal was to create a performant systems language, without a lot of implicit behaviours. I believe that qat is already close to that concept. However, as more effort went into the language, it evolved and became comfortable to code in, with necessary convenience that doesn't compromise on performance. Eventually, a simpler way of managing memory became part of the design of the language. This is what have turned out to be pointer ownership. Although smart pointers are still smart, pointer ownership adds the concept of data-ownership to the compile-time via the syntax.

Who am I?

I am Aldrin Mathew, from Kerala, India. I initially learnt C++11 in 2014 & 2015 in school, but as you may have guessed, not enough to be able to create anything useful in it. As an example, we didn't even get to learn about namespaces (looking back, it seems to be such a trivial concept that I am surprised that we were not taught that). In December 2020, I got started with Flutter and Dart and got back into the world of programming. A few months after that I looked into the latest standard of C++ and started learning it on the side. I have had the desire to create my own language for a few months at that point, so I started plans for a language soon after. At last, in November 2021, I started working on qat. I have been learning both C++20 and the LLVM C++ API since then, and it hasn't been easy. Especially because I am a self-learner. But now, qat has Value semantics, References & Pointers, Copy & Move semantics, RAII, built-in optionals and futures, easier conversion between types, tagged loops, pattern matching and much more.

@AldrinMathew

This lets me know that there are people who want the language to succeed...

Featured work

  1. qatlang/qat

    Closer to your machine's heart. Envisioned to be a Superfast, modern systems language for efficient & maintainable code. @AldrinMathew

  2. qatlang/docs

    Documentation for the qat programming language...

    HTML 2
  3. qatlang/qat-vscode

    Official analysis, formatting and highlighting support for the Qat language in VSCode...

    TypeScript 1

0% towards 10 monthly sponsors goal

Be the first to sponsor this goal!

Select a tier

$ a month

You'll receive any rewards listed in the $100 monthly tier. Additionally, a Public Sponsor achievement will be added to your profile.

$1 a month

Select

Get a sponsor badge on your profile

$5 a month

Select

Get a Sponsor badge on your profile

$10 a month

Select

Have your name added to the project's README

$25 a month

Select

Logo & name goes in the project's README

$100 a month

Select
  • Logo & name on project website and README
  • Access to pre-release builds of the qat compiler