License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/OASIcs.SLATE.2022.6
URN: urn:nbn:de:0030-drops-167525
URL: https://drops.dagstuhl.de/opus/volltexte/2022/16752/
Go to the corresponding OASIcs Volume Portal


Marcelino, Miguel ; Leitão, António Menezes

Extending PyJL - Transpiling Python Libraries to Julia

pdf-format:
OASIcs-SLATE-2022-6.pdf (0.6 MB)


Abstract

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.

BibTeX - Entry

@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/opus/volltexte/2022/16752},
  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}
}

Keywords: Source-to-Source Compiler, Automatic Transpilation, Library Translation, Python, Julia
Collection: 11th Symposium on Languages, Applications and Technologies (SLATE 2022)
Issue Date: 2022
Date of publication: 27.07.2022
Supplementary Material: Software (Source Code): https://github.com/MiguelMarcelino/pyjl_translations


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI