Skip to content
0:00 / 0:00

#stm#softwaretransactionalmemory#monads

A different way to do concurrency — Haskell’s STM monad by Elisabeth Stenholm

Func Prog Sweden

56K subscribers • 32 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Elisabeth Stenholm, fullstack developer at Frende Forsikring

Intermediate. Assumes working knowledge.

2.2K views10 months ago1 recommendation

Programming languagesSystems programmingHaskellConcurrency and parallelism

Elisabeth Stenholm explains Software Transactional Memory in Haskell as an alternative to lock-based concurrency.

Looking for a way to do concurrency without locks? Then you have come to the right talk. Software Transactional Memory (STM) is an abstraction that allows the programmer to write lockless, concurrent code that is safe and composable. During this talk I will explain what STM is and what it can do, with code examples implemented in Haskell’s STM monad. We will see its strengths as well as its weaknesses, and how it compares to traditional lock based concurrency. === About the Speaker === Elisabeth is 32 years old, born in Uppsala and raised in Stockholm. She has a PhD in dependent type theory from the University of Bergen, and is currently working as a fullstack developer at Frende Forsikring — a Norwegian insurance company based in Bergen. In her workday, Elisabeth writes primarily in the functional languages F# and Elm. She is passionate about type theory and functional programming, and enjoys sharing her knowledge on these topics with others. === Elisabeths Presentation === drive.google.com/file/d/1zZ-Bu2fl-B9yYrf7VY9iDCGCxyyCCUzr/vi… === Func Prog Conf === funcprogconf.com/ === Sponsor – Multiply === multiply.co/ === Organizers === adabeat.com/ functionalsoftware.se/ Chapters: Introduction of Elisabeth Stenholm A different way to do concurrency — Haskell’s STM monad Let’s look at a simple banking example What do we actually want? Monad Haskell’s STM monad We can compose! But how does it work? No more deadlocks STM love Haskell Q&A #funcprogconf

Why it's here

1 person recommends this

What people say. Recommended as a clear introduction to lockless, composable concurrency using Haskell's STM monad.

u/MagnusSedlacekin r/haskell • Recommends

A different way to do concurrency — Haskell’s STM monad by Elisabeth Stenholm Looking for a way to do concurrency without locks? Then you have come to the right talk. Software Transactional Memory (STM) is an abstraction that allows the programmer to write lockless, concurrent code that is safe and composable. During this talk I will explain what STM is and what it can do, with code examples implemented in Haskell’s STM monad. We will see its strengths as well as its weaknesses, and how it compares to traditional lock based concurrency.

u/Infamous-Pirate9600in r/haskell • Mentions

On “How does STM work under the hood?”

I found this talk quite interesting on the subject: link to this video