Skip to content
0:00 / 0:00

#coercions#ghc#typesystem

ICFP 2014: Safe Zero-Cost Coercions for Haskell - Richard A. Eisenberg

Malcolm Wallace

884 subscribers • 13 videos on Hallway

YouTube
  • Recommended by 2 people: 1 on Lobsters and 1 curated list.
  • Presented by Richard A. Eisenberg

Advanced. Deep dive for people who know the field.

807 views12 years ago2 recommendations

Programming languagesSystems programmingHaskellLanguage design and type systemsPerformance and optimization

Richard A. Eisenberg presents a type-safe mechanism for zero-cost conversions between representational types in Haskell.

International Conference on Functional Programming 2014. Gothenburg, Sweden.

Why it's here

2 people recommend this

What people say. Recommended as a deep dive into Haskell's type system and zero-cost abstractions.

programming-talkscurated list on GitHubRecommends

Under “Haskell”

Safe Zero-Cost Coercions for Haskell 00:26:01 by **Richard A. Eisenberg** (2014)

xoranthon Lobsters • Recommends

Safe Zero-Cost Coercions for Haskell

u/edwardkmettin r/haskell • Mentions

On “AMP has landed in GHC Main!”

The original paper on roles tied roles to the kind system. This turned out to make it very hard to use, so they eventually backpedaled and we wound up with the current minimalist encoding of the idea, hoping that it wouldn't cut off too many usecases. This is talked about in link to this video One of the possible middle ground I've proposed would be to use a class like: class Representational m where rep :: Coercion a b -> Coercion (f a) (f b) Then you could have GND for any Monad that was also Representational. This is sufficient to allow proper representational roles for arguments like the 'a' and 'm' in `StateT s m a`, but it is insufficient to handle the 's', so there is more work t…