Skip to content
0:00 / 0:00

#haxl#concurrency#haskell

"Haxl: A Big Hammer for Concurrency" by Simon Marlow

Strange Loop Conference

88K subscribers • 110 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 1 on Lobsters and 1 in engineering communities.
  • Presented by Simon Marlow, Software Engineer at Facebook

Intermediate. Assumes working knowledge.

14K views9 years ago2 recommendations

Programming languagesSystems programmingHaskellConcurrency and parallelism

Simon Marlow explains how Facebook's Haxl framework enables concurrency-by-default in Haskell to simplify I/O, testing, and debugging.

Our programming languages are usually "sequential by default", and you have to be explicit if you want concurrency. Much of the code we write, however, is insensitive to reordering, and in these cases concurrency is actually a better default. In this talk I'll describe how the Haxl framework developed and open-sourced by Facebook flips the default from sequential to concurrent. I'll show how that can be useful, and give some insight into how it works. It turns out that the pieces we need to do concurrency-by-default also help with testing and debugging, which makes Haxl something of a Big Hammer for solving problems involving I/O and concurrency. Simon Marlow FACBEBOOK Simon Marlow is a Software Engineer on Facebook's Abuse Detection Systems team in London. He is working on Haxl, a Haskell-based domain-specific language that is used by the teams fighting spam and malware. Simon is a co-author of the Glasgow Haskell Compiler, author of the book "Parallel and Concurrent Programming in Haskell", and has a string of research publications in functional programming, language design, compilers, and language implementation.

Why it's here

2 people recommend this

What people say. Recommended as a brilliant talk on implicit concurrency and the design of Haxl.

Moments people linked to

u/n00bombin r/haskell • Recommends

"Haxl: A Big Hammer for Concurrency" by Simon Marlow

tallgeoffon Lobsters • Recommends

Strange Loop - "Haxl: A Big Hammer for Concurrency" by Simon Marlow

u/Faucelmein r/haskell • Mentions

On “"Haxl: A Big Hammer for Concurrency" by Simon Marlow”

Around 28:18 an improvement over the current "layered" approach to concurrency is mentioned. I wonder if it will require some new abstraction or language extension.
9View on Reddit

u/raluraluin r/haskell • Mentions

On “Haxl 2.0 released on hackage: A Haskell library for efficient, concurrent, and concise data access.”

If I understand correctly, previous api was able to traverse tree only in BFS mode and one level needs to fully evaluated before next. Looks like that solution to this question was employed link to this video
8View on Reddit

u/theindigamerin r/ProgrammingLanguages • Mentions

On “First-Class Automatic Differentiation in Swift: A Manifesto”

I hope you don't take my criticisms personally. This notion of having language-level support for some core concept in a library is not unprecedented -- e.g. Haxl's development involved the creation of a compiler extension ApplicativeDo for GHC. I could see something similar happen for AD with Swift and that would make a lot of sense. If that were to happen, then many of your suggested designs could be taken as target code that should compile once the extension is implemented.

u/wizzupin r/haskell • Mentions

On “A question about applicative functor”

I understand that `<*>` could be parallel according to this Haxl talk
1View on Reddit