Typon (https://typon.nexedi.com/) is a work-in-progress Python-to-C++ compiler developped at Nexedi. Typon augments Python with compile-time type-checking and a concurrency engine written in C++ that powers performant concurrency primitives.
Typon compiles to C++ code that does not depend on the Python runtime (the CPython interpreter). Interoperability with Python is currently being developped to allow both calling external Python code from Typon and importing Typon modules in Python, relying on Python/C++ binding libraries like Pybind11. This lack of dependency on the Python runtime opens the way to applications in embedded computing and real-time computing. The emitted C++ can then be further compiled to performant native code.
The Typon compiler is written in Python and uses Python's ast module to parse the input code.
Typon is the result of a continued interest for several years at Nexedi in the topic of compiling Python, previously materialized in form of the Cython+ project (https://cython.plus/), an experimental extension to the Cython compiler. Typon was born of the experience acquired with Cython+.
We are looking for a candidate interested in programming language design, with experience in Python or C++ development, and an affinity for open source software. Knowledge of concurrent execution, language design, compilation, type systems, or static analysis will always be useful and welcome.
If you are interested in these topics, contact us!
Nexedi is one of the leading European open source and free software publishers in Europe with a portfolio of open source solutions of more than 15 million lines of code. Our customized software solutions run at Airbus, Stellantis, Sanef and other enterprises around the world. We participate in industry-leading research projects, try to build Rapid.Space, a fully open cloud provider and lobby for Europe's independence with regards to cloud and communication technologies as well as the use of Free Software.
We would be happy to hear from you, so drop us a line (along with your CV) at jobs(at)nexedi.com and we will get in touch with you.
147 Rue de Ballon
59110 La Madeleine
Phone: +33 629 02 44 25
Mail : email@example.com
Web : www.nexedi.com