Jakt

#OpenSource

Product information

Jakt is a memory-safe systems programming language that currently transpiles to C++. Under active development, it focuses on memory safety, code readability, developer productivity, and executable performance. Jakt employs strategies like automatic reference counting, strong typing, and bounds checking to ensure memory safety. It features three pointer types: strong, weak, and raw, with null pointers being impossible in safe mode.

For code readability, Jakt emphasizes immutable by default variables, argument labels in call expressions, inferred enum scope, pattern matching, optional chaining, and defer statements. It also supports code reuse through a built-in module system and a standard library accessible via the jakt:: namespace.

Structs and classes are the primary ways to declare structures, with structs having value semantics and classes having reference semantics. Both can have member functions, which can be static, non-mutating, or mutating. Jakt also provides dynamic arrays, dictionaries, sets, tuples, and enums with pattern matching.

Generics are supported, allowing for generic structures and functions. Traits can be used to add constraints and provide default implementations. Operator overloading is facilitated through traits, and safety analysis aims to prevent overlapping method calls and unsafe pointer usage.

Error handling in Jakt uses the throws keyword, with errors bubbling up to the nearest caller unless caught locally using try/catch constructs. Inline C++ code can be embedded for better interoperability with existing C++ code.

References in Jakt can be immutable or mutable, and closures allow for functions as parameters and variables. Compile-time function execution (CTFE) is supported, enabling the execution of functions at compile time.

Overall, Jakt aims to be a fun and productive language for systems programming, with a strong emphasis on safety and readability.

Pricing

Pricing information is not available