Please log in to watch this conference skillscast.
The GRIN language is an intermediate representation for lazy programming languages such as Haskell. It serves the same role as STG (in GHC compilation pipeline) but follows different design decisions. GRIN describes suspended computations as regular data structure using whole program defunctionalisation. Through this approach and a whole program analysis called Heap Points-To that opens up the opportunity for program optimisations wider than before.
In this talk, Andor and Csaba are going to present the GRIN language and the HPT analysis as were defined in the original PhD thesis from Urban Boquist. In addition, they are going to talk about their reimplementation of the GRIN language and its advancements; the LLVM backend, type system inspired by HPT analysis, compiled abstract interpretation, program transformations, and language front-ends such as GHC (via STG) that GRIN can interface with.
The implementation is in Haskell and available at github.com/grin-tech/grin.
YOU MAY ALSO LIKE:
- Lightning Talk: The Anatomy of an X-GRIN Back End. Showcase: Idris. (SkillsCast recorded in October 2019)
- Advanced Scala with Dick Wall (in London on 9th - 11th December 2019)
- Haskell eXchange 2020 (in London on 8th - 9th October 2020)
- Lightning Talk: Making and Testing Code Generators in Haskell (SkillsCast recorded in October 2019)
- GHC Runtime Linker by Example (SkillsCast recorded in October 2019)
GRIN - an Alternative Haskell Compiler Backend
Andor is a Haskell developer and enthusiast, interested in theoretical computer science, he has industrial experience with functional and object oriented programming, QA engineering, learns dependently typed programming and playing the hangdrum. Andor has recently revived his interest in compiler construction.
Csaba is an enthusiastic Haskell programmer with interest in compilers, graphics programming and game development.