Skip to content
0:00 / 0:00

#haskell#grincompiler#ghc

Next-gen Haskell Compilation Techniques with Csaba Hruska

Berlin Functional Programming Group

2K subscribers • 8 videos on Hallway

YouTube
  • Recommended by 3 people: 1 on Lobsters and 2 in engineering communities.
  • Presented by Csaba Hruska, software engineer
  • Linked in the descriptionSlides on Google Slides

Advanced. Deep dive for people who know the field.

4K views5 years ago3 recommendations

Programming languagesSystems programmingCompilers and interpretersFunctional programmingHaskell

Csaba Hruska discusses modern compiler optimization techniques and the GRIN compiler project for Haskell and other functional languages.

In the Haskell community, it is relatively well known how GHC compiles Haskell source code to machine code. The architecture of GHC is the result of 30 years of gradual development effort. But computing technology has changed a lot during this time. New ideas and compilation techniques have appeared on the scene that used to be infeasible either due to the lack of theoretical foundations or for more practical reasons. In this talk, Csaba will go through some of these compiler-related technologies that could be applied in practice to make Haskell a better fit for industrial application. Csaba Hruska is a software engineer with deep interest in compilers, functional programming, and systems programming. He works on the GRIN compiler project, which aims to provide a reusable optimizer and code generator backend for Haskell and other functional languages. You can find his blogs here: patreon.com/csaba_hruska/posts Slides from this talk: docs.google.com/presentation/d/1g_-bHgeD7lV4AYybnvjgkWa9GKuP… This virtual talk was brought to you by the Berlin Functional Programming Group. Join us on Meetup: meetup.com/Berlin-Functional-Programming-Group/ Follow us on Twitter: twitter.com/BerlinFPGroup Buy a T-shirt: teespring.com/berlin-fp-group Support us on Patreon: patreon.com/bfpg

Why it's here

3 people recommend this

Moments people linked to

u/typesanitizerin r/ProgrammingLanguages • Recommends

Next-gen Haskell Compilation Techniques link to this video

u/csabahruskain r/haskell • Recommends

Next-gen Haskell Compilation Techniques

januson Lobsters • Recommends

Next-gen Haskell Compilation Techniques with Csaba Hruska

u/csabahruskain r/haskell • Mentions

On “What are you hyped about today?”

Compiler things like: - compile programs to use packed in-memory data representation: LoCal = location calculus - advanced static analysis algorithms: P4F, ASAP Memory Management - programmer controlled control flow level vectorisation: ISPC Basically I'm hyped about the possible next-gen Haskell compilation techniques!

u/csabahruskain r/haskell • Mentions

On “Issue 246 :: Haskell Weekly newsletter”

Is the Next-gen Haskell Compilation Techniques presentation related? Because it is not listed. Should I send a PR?

u/MattAlex99in r/ProgrammingLanguages • Mentions

On “Why are imperative programs considered faster than their functional counterparts?”

…tructures to resolve, explicit memory access through pointers, etc...). On the flip side, due to the much cleaner structure present in functional languages the optimisations that are possible are a lot more impactful and numerous. There's been a lot of work recently to speed up functional languages via algebraic rewritings of e.g. memory access ([video gives a nice overview) and logic programming to infer e.g. bounds of variables. There's also been more applied research into resourceful logics such as linear logics and modal logics (e.g. here https://arxiv.org/abs/2111.08099, though that's less optimisation related) which could allow for explicit encoding of certain implementation detail…
1View on Reddit