Ys8wfqrboowk8hnsz4jt
SkillsCast

GRIN - an Alternative Haskell Compiler Backend

11th October 2018 in London at CodeNode

There are 38 other SkillsCasts available from Haskell eXchange 2018

Please log in to watch this conference skillscast.

731531271 640x360

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:

Thanks to our sponsors

GRIN - an Alternative Haskell Compiler Backend

Andor Penzes

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 Hruska

Csaba is an enthusiastic Haskell programmer with interest in compilers, graphics programming and game development.

SkillsCast

Please log in to watch this conference skillscast.

731531271 640x360

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:

Thanks to our sponsors

About the Speakers

GRIN - an Alternative Haskell Compiler Backend

Andor Penzes

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 Hruska

Csaba is an enthusiastic Haskell programmer with interest in compilers, graphics programming and game development.

Photos