[Haskell-cafe] [ghc-proposals/cafe] Partially applied type families
Anthony Clayden
anthony_clayden at clear.net.nz
Fri May 12 10:46:45 UTC 2017
> 2 days ago Richard Eisenberg (and mniip) wrote:
> ...
> On incremental improvements / the "half-baked" nature of
> type families: I agree completely. ...
["half-baked" is Richard quoting mniip]
> ... the weird place of type families in the language.
> It is my hope that Dependent Haskell will obviate
> a lot of these concerns, allowing us to deprecate
> type families as we know them
> (you would just use an ordinary function in types
> instead).
I don't want to sidetrack the github discussion
on mniip's proposal.
https://github.com/ghc-proposals/ghc-proposals/pull/52
So please explain here in what way
type families are "half baked".
The part of type families I find
hard to use and hard to reason about
is closed type families.
I'd be very happy to deprecate them,
if there was something that did overlaps better.
>From what I can make out, though,
in Richard's Dissertation,
they can't be promoted to "ordinary functions
in types".
If the closed equations were ordinary
functions in types, you could go:
> type family F a b
> type instance F Int b = b
> type instance F a Bool | a /~ Int = a
> -- non-unifiability guard
With no need for a closed sequence of choices.
Is this the "case-like computations"
others talk about on the proposal?
AntC
More information about the Haskell-Cafe
mailing list