The Tuplex Programming Language

What is Tuplex?

Tuplex is a statically compiled, imperative, strongly typed programming language with innovations in semantics, data representation, and syntax.

It features a sophisticated and unified generic type system.

It strives to be easy to write, easy to read, easy to avoid memory and concurrency bugs, while being fast to execute.

Tuplex originated as a research project with a two-fold purpose:

The compiler is developed using LLVM, enabling it to use LLVM’s extensive suite of optimizations and hardware targets.

Hello World Example

Not beating around the bush, this is the Hello, World! program in Tuplex:

main():
    print( "Hello, world!" )

The syntax is a relative of C, Java, and Python, with some influences from Rust, Go, and Ada.

Notes

Status

The language and compiler is in a working state. The foundation library is already fairly extensive and makes use of the language’s most advanced features. There is also a very easy-to-use foreign function interface to C.

For version 0.5 the scanner was rewritten from scratch and the syntax overhauled in order to realize full support for significant whitespace, i.e. using indentation for program structure and making the use of {, }, and ; completely optional. This makes the syntax muchmore visually light-weight has been a goal from the start but was hard to implement with Flex, the original scanner generator.

Tasks recently completed:

Remaining major tasks until milestone 1, fully working and consistent core language:

About Easiness

What does the Tuplex design consider “easy to write and read” to mean?