Published Codon, Python language compiler

EXALOOP startup published code project codon , developing a Python language compiler, capable of generating a clean machine code that is not tied to Python Runtime at the output. The compiler is developing by the authors of the Python-like language seq and is positioned as a continuation of its development. The project also offers its own Runtime for executable files and a library of functions, replacing library calls in Python. The initial texts of the compiler, Runtime and the standard library are written using C ++ languages ​​(with the involvement of developments from LLVM) and Python, and are distributed under the license bsl (Business Source License).

BSL license was offered by MySQL co -founders as an alternative to the Open Core model. The essence of the BSL is that the code of expanded functionality is initially available for amendments, but for some time it can be used free of charge only subject to additional conditions, which bypassing which the purchase of a commercial license is required. Additional licensing conditions of the Codon project prescribe the transfer of code to the Apache 2.0 license after 3 years (November 1, 2025). Until that time, the license allows copying, distribution and modification, subject to use not for commercial purposes.

The performance of the executed files issued at the output is presented as close to the programs written in the SI language. Compared to the use of CPYTHON, a performance increase in compilation using Codon is evaluated 10-100 times for one-time execution. At the same time, unlike Python, Codon additionally implemented the possibility of using multi -seating, which allows you to achieve an even greater increase in performance. Codon also allows compilation at the level of individual functions to use a compiled representation in existing Python projects.

Codon is built using a modular architecture that allows you to increase functionality through the plugins with which you can add new libraries, implement optimization in the compiler and even provide support for additional syntax. For example, several plugins are developing in parallel for use in bioinformatics and financial mathematics. To control the memory, the garbage collector boehm .

/Media reports cited above.