For the Linc docs, click here
Linc (pronounced /lɪŋk/, short for 'Linc Is Not C') is a general-purpose programming language inspired by C. It offers a dynamic experience to writing code, as well as serving as a more consistent and uniform tool, while avoiding the accumulated technical debt of languages such as C and C++. Though a work-in-progress, the featureful lincenv REPL, as well as the Linc VSCode extension make writing Linc code feel easy.
Linc was designed to be:
- Expressive: Linc aims to offer expressivity, via syntactic ease of use, as well as useful features that are not typically seen in most programming languages, either as a deliberate choice to maintain a language's direction, or just because expressivity is not focused.
- Modern: Linc is focused on the future, rather than maintaining habits and familiarity, or features that are "mainstream". The syntax and the "feel" of the language attempt to reflect that. This means that the language may change if there is a need for it to do so. Users should expect to adapt to such changes, especially during early development.
- Library neutral: The core language has zero dependencies on the standard library, allowing the complete separation of the two. For this, no name or identifier is given special treatment, so as not to impose coding preferences on the user. This restriction even includes 'main' serving as the entry point identifier. Instead, operators are heavily relied on.
- Statically typed: Typing is static and does not rely on runtime information, so malformed code due to incorrect typing assumptions does not result in crashes or exceptions thrown. Instead, an error is reported during language analysis, before the program ever executes.
Linc has been written in C++23 using CMake, and is entirely self-contained, relying solely on the C and C++ standard libraries. This helps streamline but also simplify the development process. However, one important goal of Linc for the future is to reimplement it in itself, which is called self-hosting.
Linc guide coming soon...