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: Ideas for Future Haskell Tooling (SkillsCast recorded in October 2019)
- What's in a Functional Compiler? (in Online Event on 30th July 2020)
- The Secrets of the GHC Garbage Collector (SkillsCast recorded in June 2020)
- Creating smaller, faster, production-worthy mobile machine learning models for Android (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.