Conversation

it's *very* neat how much of Haskell idioms can directly translate to Coq, because of how effectively coq-ext-lib uses the notation system. You can do `... <$> ... <*> ...` chains as well!
Image
2
9
Replying to and
Usually, a proof fails because a function picks an instance and lemmas in another file pick a different instance. But also: bind different instances in the same lemma accidentally. Or inference picks a random instance instead of generalizing (Haskell) or giving an error (Scala).
2
Replying to and
OTOH, maps are a bad motivation — in fancy not-Haskell languages (ML, Scala(?), Coq/Agda/Idris), that is ones with enough dependent types, two maps with different orderings can have different types, tho convenience is an open question.
2