— Presentation Slides, PDFs, Source Code and other presenter materials are available at: — In designing parallel programming abstractions, taking away user capabilities is as important as granting them. In this talk, I'll explain the role of this idea in several different parallel programming libraries for Haskell, C , and other languages--spanning from shared memory to big data. The Haskell language is an experiment in making purely functional programming practical, and, as such, much of its design stems from limiting where and how the user can employ side effects. Haskell is almost 30 years old, but is used more widely and changing more rapidly than ever before. It's an exciting time for programming languages that use advanced type systems to accomplish formal software verification, and Haskell sits in midst of this revolution: at a juncture where it draws from the latest ideas in theorem proving languages
Hide player controls
Hide resume playing