Рет қаралды 64
In this talk, Andor will discuss the anatomy of GRIN as a compiler back end, showcasing the main challenges the GRIN team had to overcome during implementation.
There are two approaches for implementing a GRIN back end for a programming language. The first approach involves using an intermediate language called Lambda, while the second approach is to compile the front-end language directly to GRIN. Both approaches will be briefly examined.
The second part of the talk will focus on the details of the Idris-GRIN back end, which consists of three main parts: an API for GRIN code generation, a program transformation selector, and the implementation of the primitive operations of Idris. The Idris-GRIN back end is primarily written in Haskell, with the remaining components implemented in C and LLVM-IR. The presentation is suitable for all audiences.