Skip to content
0:00 / 0:00

#haskell#ghc#functionaldependencies

@rae: Non-confluence from functional dependencies: Oh, no!

Tweag by Modus Create

5K subscribers • 25 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Richard Eisenberg, GHC contributor

Advanced. Deep dive for people who know the field.

1K views5 years ago1 recommendation

Programming languagesSystems programmingLanguage design and type systemsCompilers and interpreters

Richard Eisenberg demonstrates how a trick with functional dependencies can lead to runtime non-confluence in the GHC compiler.

It turns out that a clever trick from @arybczak allows us to suppress the liberal coverage condition of functional dependencies. Pushing the idea to its natural limit, I discover that we can witness runtime non-confluence in GHC. Put another way: I write a program in this video that changes its runtime behavior depending on what order I write constraints in a type. Original ticket: gitlab.haskell.org/ghc/ghc/-/issues/18759 Ticket about non-confluence: gitlab.haskell.org/ghc/ghc/-/issues/18851 Find me at richarde.dev/

Why it's here

1 person recommends this

What people say. Recommended as a clear explanation of confusing behavior where GHC changes runtime behavior based on constraint order.

u/Tarmenin r/haskell • Recommends

On “Sometimes functional Dependencies Don't”

If I recall correctly, this video explains this pretty confusing behavior really well link to this video