[Haskell-cafe] Increasing Haskell modularity

Gesh hseG gesh at gesh.uni.cx
Thu Nov 27 13:01:23 UTC 2014


Thanks for the feedback everyone.
It appears that I gave a rash and ill-considered solution to a thorny problem,
and that what may appear to me to be unnecessary restrictions are, in fact,
the very things that allow important parts of the Haskell ecosystem to work.
Indeed, it turns out that where necessary, the reflection-extras[1] package
gives us enough tools to be able to write local instances easily, so even if
we decide in the long run not to support local instances, we have that.

Admittedly, the sources that were given in this discussion were
publicly available,
and if I'd properly searched for prior discussions, I would probably
have found them.
I apologize for the lack of due diligence.

Therefore, I'd like to refocus this discussion on another question I raised.
Is there any usecase for open type families that isn't subsumed by closed
type families and associated data types? In addition, aren't
signatures referring
to open type families inherently unsafe due to the lack of control
over the instances?

Thanks for the thought-provoking discussion,
Gesh

[1] - https://hackage.haskell.org/package/reflection-extras


More information about the Haskell-Cafe mailing list