Skip to content
0:00 / 0:00

#haskell#pointers#imperativeprogramming

16 Lightning: Imperative OO With Cheap Pointers

ICFP Video

3.8K subscribers • 33 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Edward Kmett

Advanced. Deep dive for people who know the field.

1.5K views11 years ago1 recommendation

Programming languagesSystems programmingFunctional programmingObject-oriented designMemory management

Edward Kmett presents a lightning talk on implementing imperative object-oriented programming with cheap pointers in Haskell.

The uploader added no description.

Why it's here

1 person recommends this

What people say. Shared as an interesting lightning talk by Edward Kmett on imperative object-oriented programming techniques.

Moments people linked to

u/joehillenin r/haskell • Recommends

ICFP Lighting Talk Imperative OO With Cheap Pointers by Edward Kmett

u/edwardkmettin r/haskell • Mentions

On “Why no reference equality?”

…orwards it to its "real" answer, changing its identity, or requiring the system behind the scenes to tuple up and pass around some extra token just for this functionality. Huge swathes of optimizations would become illegal to add an unignorable effect! Reference equality isn't free. You can build a little universe in Haskell that has it though: link to this video…

u/edwardkmettin r/haskell • Mentions

On “Reading Edward Kmett's structs library -- an exposition of library spelunking”

The `s` in `Object s` is the region like in `ST s` or `RealWorld#` for `IO`. This lets you work with structs locally in an ST computation. link to this video provides a crash course on why the library is structured the way it is. It also includes a rather choice sound bite of SPJ in the background threatening to change the language to make the things I'm doing here illegal! The template haskell bits were added shortly thereafter by Eric Mertens to make it a little safer to use. My longer term goal here is to take some stuff from Ryan Yates for mutable constructor fields and remove the need to go out to kind #, at which point I'll be able to write this sort of stuff more or less directly in normal Ha…

u/edwardkmettin r/haskell • Mentions

On “Unpacking IORefs?”

…e array types that deals with this impedence mismatch, and then relying on the inliner and optimizations to avoid continuously repacking the little imperative universe back up in a little wrapper over and over, and it optimizes it away for the same reason that GHC can optimize away the Int constructors and work with unboxed ints much of the time. link to this video…

u/edwardkmettin r/haskell • Mentions

On “[ANN] monad-var”

Relevant article and lightning talk

u/rpglover64in r/haskell • Mentions

On “Why no reference equality?”

What was the comment from the audience at 4:22 (after you say "this works", and the audience chuckles) that resulted in a peal of laughter?
3View on Reddit

u/edwardkmettin r/haskell • Mentions

On “Struct library for efficient pointers. How?”

I gave an impromptu lightning talk on this at the Haskell Implementor's workshop in 2015: link to this video