Quo vadis?

Anthony Clayden anthony_clayden at clear.net.nz
Fri Oct 5 01:41:53 UTC 2018


> There was no Haskell 2020 meeting this year at ICFP. Sadly, interest
seems to have waned here...

Yes that is sad. So either Haskell 2020 won't happen, or it'll be only
minor tweaks over H2010, as that was over H98.

It's hard to imagine any serious Haskelling without
FlexibleInstances/FlexibleContexts, MultiParamTypeClasses,
UndecidableInstances -- and yet all of those are beyond Haskell 2010. And
they were available in at least 2 compilers by around 2000. (Possibly they
weren't by then entirely polished. I saw a claim on a StackOverflow answer
that Hugs, last release 2006, is not H2010 compliant: not true; indeed
several of the H2010 changes since H98 were proposed by the Hugs dev team,
and agreed by the GHC team because GHC had copied Hugs.)

I've had comments from non-Haskellers that they won't take Haskell
seriously, because it seems to be a bunch of 'risky'/unstable/experimental
features. Whereas I know those features have been stable at least a dozen
years. And yet we still face the same conundrums as did H2010:

With FlexibleInstances we can write overlapping instances. With
FlexibleContexts we can put overlapping constraints on an instance, even if
the head's types are H98 (non-Flexible).

With MultiParamTypeClasses (which were anticipated in Wadler's very
earliest 1988 proposal for typeclasses) we're bound to choose FunDeps
and/or type families. FunDep instances either need repeated tyvars -- which
brings us straight back to FlexibleInstances, or UndecidableInstances --
which will almost certainly lead to FlexibleInstances somewhere.

I feel those parts of Haskell have been in suspended animation/arrested
development since ~2006: that was the last release of Hugs; the 'FunDeps
via CHRs' paper [**]; the start of associated types/type families.

[**] AFAICT, that paper was a purely academic exercise: GHC was not changed
in light of its findings, so has a bogus implementation of FunDeps that
persists to this day. The paper did not address the combo of FunDeps +
Overlaps, so said nothing about what had been a stable cottage industry of
type-level programming since at least 2004 (the HList paper).

Is there a terms of ref for Haskell 2020? Would any of the above issues be
within its scope? (Supposing there were any interest ...)


AntC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-prime/attachments/20181005/4d36423c/attachment.html>


More information about the Haskell-prime mailing list