u/joehillenin r/haskell • Recommends
Into the Core - Squeezing Haskell into Nine Constructors by Simon Peyton Jones
18K subscribers • 39 videos on Hallway
- Recommended by 4 people: 1 on Lobsters, 2 in engineering communities and 1 curated list.
- A classic. People kept recommending it from 2016 to 2021.
- Presented by Simon Peyton Jones, co-designer of Haskell
Advanced. Deep dive for people who know the field.
41K views10 years ago4 recommendations
Programming languagesSystems programmingHaskellCompilers and interpretersFunctional programming
Simon Peyton Jones explains GHC Core, the tiny, statically typed intermediate language that Haskell compiles down to.
Keynote talk from Erlang USer Conference 2016 erlang-factory.com/euc2016/ Erlang and Haskell are childhood friends who grew up together. Throughout the years, they have learnt a lot from each other. And just because they have become adults does not mean the learning stops. GHC translates all of Haskell into a tiny but super-expressive intermediate language called Core, does a lot of optimisations on Core, and then generates executable code. Core is statically typed, making GHC one of the very few production compilers that is statically typed all the way through to code generation. It pulls off this trick by drawing directly on System F, a mathematical calculus from type theory. Functional programming is amazing: serious theory leads directly to beautiful implementations. In this talk I’ll take you on a journey into Core and its design choices. I’ll sketch Core’s type system, and the optimisations that GHC implements in Core, including let-floating, strictness analysis, specialisation, inlining, and the case-of-case transformation. Haskell and Erlang are both functional languages, albeit with significant differences (strict vs lazy, untyped vs typed). I hope that the talk may lead to dialogue about how these similarities and differences show up in a compiler.Why it's here
4 people recommend thisWhat people say. Widely recommended as a classic, brilliant explanation of compiler intermediate representations and GHC internals.
u/hou32houin r/ProgrammingLanguages • Recommends
unbalancedparentheseson Lobsters • Recommends
programming-talkscurated list on GitHubRecommends
Under “Programming Language Design”
u/fond-of-rainin r/ProgrammingLanguages • Mentions
On “How do programming language designers manage language complexity?”
u/bjzabaPikelet, Gluon, Unnamed Binary DDLin r/ProgrammingLanguages • Mentions
On “How and when do you project cutting edge proglang tech will become mainstream?”
u/SV-97in r/ProgrammingLanguages • Mentions
On “Is there a language that does multi-level optimization?”
u/thmproverin r/ProgrammingLanguages • Mentions
On “Haskell-like language.”
u/hou32houin r/ProgrammingLanguages • Mentions
On “Treating functions as messenger nodes”
u/bjzabaPikelet, Unnamed Binary DDLin r/ProgrammingLanguages • Mentions
On “Bootstrappable Builds”
u/thmproverin r/ProgrammingLanguages • Mentions
On “Haskell-like language.”
u/TizioCaio84in r/ProgrammingLanguages • Mentions
On “Optimization of pure functions by cases”
u/Ok_Performance3280in r/ProgrammingLanguages • Mentions
On “Micro Haskell”