Many high-level programming languages have emerged in recent years. Julia is one of these languages, claiming to offer the speed of C, the macro capabilities of Lisp, and the user-friendliness of Python. Julia’s syntax is one of its major strengths, making it ideal for scientific and numerical computing. Furthermore, Julia’s high-performance on modern hardware makes it an appealing alternative to Python. However, Python has a considerable advantage over Julia: its extensive library set. There have been efforts to make Python libraries available to Julia either through Foreign Function Interfaces (FFI’s), or through manual translation, but both have their tradeoffs: FFI’s do not take advantage of Julia’s performance, as they call Python’s Virtual Machine, and manual translation is demanding and time-consuming. To address these issues and bridge the gap between the two languages, we propose PyJL, a transpilation tool that converts Python source-code to human-readable Julia source-code. Although the development of PyJL is still at an early stage, our preliminary results reveal that the generated code follows the pragmatics of Julia and is capable of high performance.
@InProceedings{marcelino_et_al:OASIcs.SLATE.2022.6, author = {Marcelino, Miguel and Leit\~{a}o, Ant\'{o}nio Menezes}, title = {{Extending PyJL - Transpiling Python Libraries to Julia}}, booktitle = {11th Symposium on Languages, Applications and Technologies (SLATE 2022)}, pages = {6:1--6:14}, series = {Open Access Series in Informatics (OASIcs)}, ISBN = {978-3-95977-245-7}, ISSN = {2190-6807}, year = {2022}, volume = {104}, editor = {Cordeiro, Jo\~{a}o and Pereira, Maria Jo\~{a}o and Rodrigues, Nuno F. and Pais, Sebasti\~{a}o}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2022.6}, URN = {urn:nbn:de:0030-drops-167525}, doi = {10.4230/OASIcs.SLATE.2022.6}, annote = {Keywords: Source-to-Source Compiler, Automatic Transpilation, Library Translation, Python, Julia} }
Feedback for Dagstuhl Publishing