Essential Features

This is an overview of the essential features of the Tuplex programming language.

Consistency of syntax

  • Simple, unified and universal name and namespace handling
  • Context-free, consistent, left-to-right type expression syntax
  • Syntactically unified function/lambda construct
Work in progress:
  • Intuitive and unified syntax for arrays, collection types, ranges, and sequencors / iterators

Strong yet easy to use type system

  • Strong, compile-time type checking
  • All values are syntactically treated as objects, but without "boxing" overhead
  • Generic types, parameterizable with both types and values
  • Consistent polymorphism (all values are objects) with single inheritance plus interfaces
  • Automatic type inference
  • Safe and intuitive type checking and type conversion
Work in progress:
  • Values and types are immutable by default, must be explicitly declared as modifiable
  • Type-safe references; no null reference vulnerability

Guaranteed thread-safe data for high-performance concurrency

Work in progress:
  • Dataspaces are a core feature of the language
  • Compiler statically guarantees no memory data race vulnerability
  • Modifiable data never visible to more than one thread at a time
  • Dataspaces are a light-weight, static syntax with no run-time overhead
  • Data can be shared by passing memory references - no copying required

Modern source file, module, and compilation handling

  • Order of declaration doesn't matter
  • No redundancy, no forward declarations
  • All parts of a source code entity in one place
    • interface
    • annotations
    • implementation
    • documentation
Work in progress:
  • Language support for defining the external/public API of distribution packages

Possible features on vision-list

  • Safe unions (so-called sum types) as a built-in language feature
  • Comprehensive run-time type information
  • Built-in efficient serialization and de-serialization
  • Zero-boiler-plate proxying (type delegation)

No comments:

Post a Comment