[ghc-steering-committee] Resurrect Pattern Signatures (#119), Recommendation: accept

Christopher Allen cma at bitemyapp.com
Tue May 1 00:13:54 UTC 2018


This proposal splits out the faculty for assigning type signatures to
variables destructured out of a pattern from ScopedTypeVariables.

https://github.com/ghc-proposals/ghc-proposals/pull/119/

My recommendation is to accept the proposal, with some reservations.

ScopedTypeVariables is one of the more popular candidates for "this
should always be on regardless." The cases in which STV would be
useful greatly outnumber the downsides Gundry cited in my experience.
My impression of this upheld by my industrial experience and that of
the other industrial programmers I've talked to in the past about
ScopedTypeVariables. Almost any time it is brought up almost
invariably the conversation touches on, "why isn't this on by
default?"

I understand STV could break programs with overlapping names that are
intended to be independent type variables, I don't presume to litigate
or resolve that issue here.

Extension fatigue is wearing on the Haskell users I regularly interact
with, especially as it's unclear if Haskell Prime will convene and
consolidate commonly used extensions into the core language.

In my view these aren't sufficient reason to reject the proposed
extension on the merits so my recommendation is to accept it as-is. I
think the case for this proposal is particularly strong as it would
clean up the extension's presently somewhat confusing relationship
with STV.

If no objections are raised, it should be assumed that this has the
assent of the committee.

-- 
Chris Allen


More information about the ghc-steering-committee mailing list