Project presentation

The Klyn language, pronounced "clean", is a new programming language that seeks to synthesize the best aspects of the following languages:

  • Python: for the simplicity and compactness of its syntax
  • C++: for its strict typing, its support for generics, and above all its performance
  • Java: for its clean OOP model, its robustness, and its maintainability
  • C#: for its property system and several other pleasant parts of its syntax
  • Perl: for its regular expression syntax
Klyn visual presentation

I like to believe that Klyn takes these different aspects and combines them efficiently to produce a modern, efficient, readable, and maintainable language.

The place of AI in this project

Many people still doubt, or even do not believe, in the ability of AI to produce complex and high-quality code. To help challenge these concerns, I initiated this development project within DeepCodIA, a company specialized in AI-assisted development. I am convinced that such a project represents a very large challenge, even for human development teams already experienced in software engineering.

The Klyn project is therefore an experiment intended to evaluate the ability of current agentic AI systems to produce complex applications. The project is made up of several parts, all generated by AI:

  • The Klyn compiler and its runtime, written in C++
  • A set of native C++ libraries: klyn.io, klyn.net, klyn.cryptography, klyn.threading...
  • A set of complementary libraries written in the Klyn language itself*: klyn.gui.terminal, klyn.llm, klyn.database.sql...
  • A set of complementary tools also written in the Klyn language*: klyndoc, metrik (a source-code metrics tool)
  • A rich documentation set: user guide with tutorials and the API reference guide

(*) Note: when the project started, the Klyn language was unknown to every AI system that was used.

Only the testing part remained under my responsibility. That was my way of ensuring that the AI did not drift away from my language design choices.

Klyn and performance

Performance is a central goal of Klyn. The language is designed with static typing, native compilation, object-file caching, and concrete specialization of generic classes so that everyday Klyn code can move toward the execution profile expected from a serious systems-oriented language.

This work is still ongoing. In the current early-access release, not every execution path has reached the same level of optimization yet, especially in recently added libraries and higher-level runtime services. Performance work will therefore continue as a permanent part of the project: improving the compiler, reducing runtime overhead, and optimizing standard-library hot paths without weakening the language model.

Python
$> python3 Perf.py
--- 5 000 000 calls to fact & fact_rec ---
Duration = 2844 ms
--- 5 000 000 list comprehensions ---
Duration = 12770 ms
--- 5 000 000 list sorts ---
Duration = 2349 ms
--- 500 000 vector (ndarray) sorts ---
Duration = 1141 ms
Klyn
$> klyn Perf.kn
--- 5 000 000 calls to fact & factRec ---
Duration = 154 ms
--- 5 000 000 list comprehensions ---
Duration = 158 ms
--- 5 000 000 list sorts ---
Duration = 43 ms
--- 500 000 vector (NDArray) sorts ---
Duration = 58 ms

Illustrative benchmark output from the current development line. The benchmark scripts are available in the samples directory of the Klyn distribution.

Downloading Klyn

IMPORTANT: for now, the project remains an experiment and is not intended to be deployed in production, not yet.

There are certainly still many issues and missing aspects in the language and its libraries. If you are curious and want to see what AI has produced, you can download the early-access version (version 0.1.2) and test it. DeepCodIA declines all responsibility for the way this new programming language may be used.

At the moment, Klyn targets Linux platforms through native packages, and Windows x64 through a portable ZIP archive.

Because this is an early-access build, we recommend testing Klyn inside an isolated environment first, for example a Docker image or a virtual machine. This keeps experiments separate from your main workstation while the language and libraries continue to mature.

If you notice bugs, missing parts, or any other issue and would like to report it, you can contact us at klyn@deepcodia.fr.

To follow language updates, visit the Klyn LinkedIn page.

Note: when launching a Klyn program for the first time, a compilation phase for Klyn sources must run. Subsequent launches will be more efficient.

Documentation

If you want to explore the language, you can consult the tutorials as well as the API reference guide.

Once again, if you notice any error or inconsistency, feel free to report it to klyn@deepcodia.fr.

The authors of the Klyn language

  • Project lead: Dominique Liard
  • Dev team: DeepCodIA tools, Codex, GPT, Claude, Gemini, Mistral Vibe, Qwen, Llama, and a few others
  • QA team: Dominique Liard (for writing the tests), Codex and Qwen (for test supervision and the resulting fixes)