LPython: Novel, Fast, Retargetable Python Compiler

Ubaid Shaikh (~ubaid7)


3

Votes

Description:

LPython is a Python compiler that can compile type-annotated Python code to optimized machine code. LPython offers several backends such as LLVM, C, C++, WASM, Julia and x86. LPython features quick compilation and runtime performance. LPython also offers Just-In-Time (JIT) compilation and seamless interoperability with CPython.

Based on the novel Abstract Semantic Representation (ASR) shared with LFortran, LPython’s intermediate optimizations are independent of the backends and frontends. The two compilers, LPython and LFortran, share all benefits of improvements at the ASR level. “Speed” is the chief tenet of the LPython project. Our objective is to produce a compiler that both runs exceptionally fast and generates exceptionally fast code.

Outline:

  • Introduction to LPython
  • Basics of how compilers work, tokens, syntax tree, semantic tree, code generation
  • Different flags available with LPython
  • How to approach issues and strategy to solve them
  • Setting up the Development Environment for LPython
  • Picking up a good first issue from the LPython's GitHub repository
  • Writing code to fix issues and adding new integration/reference tests
  • Making your first commit to LPython and submitting a pull request
  • Reviewing pull requests submitted by other contributors

Conclusion:

We are excited to have you join us for this sprint and contribute to the LPython project. Together, we can make Python a faster and more powerful language for developing high-performance applications.

Prerequisites:

The following tools would be needed for local development of LPython:

  • conda
  • gcc/g++/clang
  • git
  • Ideally a Linux/Mac Machine

You will be expected to have some understanding of the following:

  • Python
  • Git & GitHub workflow

Content URLs:

Speaker Info:

Ubaid Shaikh received his B.Tech degree in Computer Science and Engineering from Indian Institute of Technology Indore, India.

He is currently a Compiler Developer at GSI Technology working on LPython and LFortran Compilers. In the past, he has interned at Development Bank of Singapore (DBS Bank) and has been a Google Summer of Code (GSoC) Fellow.

Speaker Links:

GitHub: https://github.com/Shaikh-Ubaid

Email: shaikhubaid769@gmail.com

Section: Core Python
Type: DevSprint
Target Audience: Intermediate
Last Updated: