1 unstable release

0.0.1 May 8, 2022

#17 in #elegant


Used in terbium

MIT license

31KB
881 lines

Terbium

The performant yet elegant and feature-packed programming language. Implemented with Rust.

Installation

Terbium is still a work in progress. You can contribute by simply cloning this repository, however.

Goals

We want Terbium to meet the following:

  • A language that doesn't take long to learn
  • A language emphasizing strong and static types
    • Types are static, but type inference will exist
  • A language which is fast and performant
  • A language which is elegant to write and emphasizes readability
  • A language (compiler/interpreter) that catches bugs before runtime

Static types?

We want to enforce a static type system in Terbium that isn't too restrictive:

  • Optionally allow a variable to keep a constant type throughout its lifetime (let)
  • Default all types to the auto type (Type inference)
    • When a type cannot be inferred, use the any type unless explicitly disabled (@pt:strict)
  • Allow a robust type system (e.g. Generics)

Terbium designs static types like this so that while beginners don't have to learn Terbium with the complexity of a type system, and gradually implement these types as they learn more about them.

Hello, world!

require std;

func main() {
    std.println("Hello, world!");
}

Repository Navigation

Contributing

See CONTRIBUTING.md for details.

Credits

Terbium is a project by jay3332.

Thanks to the following core contributors:

Dependencies

~600KB
~12K SLoC