[ghc-steering-committee] Resurrect Pattern Signatures (#119), Recommendation: accept
Manuel M T Chakravarty
chak at justtesting.org
Sat May 5 03:12:27 UTC 2018
I agree with Simon’s position.
Cheers,
Manuel
> Am 05.05.2018 um 05:42 schrieb Simon Marlow <marlowsd at gmail.com>:
>
> I'm slightly against this proposal. I think the reasons you gave *are* sufficient to reject it, moreover there's the additional overhead of another extension - complexity in the compiler, and cognitive overhead for programmers. Extensions aren't cheap, or at least they're not cheap enough to justify making extensions for subsets of existing extensions to cover narrow use cases like this.
>
> Yes ScopedTypeVariables might break some code if you enable it, but I think we should all just enable it everywhere and move on. That leaves the cases where you might be working in some legacy codebase where you want to make a small change and are tempted to enable PatternSignatures because ScopedTypeVariables breaks the code somewhere else - just do without it, or enable ScopedTypeVariables and fix the breakage. I am not sympathetic to your plight :)
>
> Cheers
> Simon
>
> On 1 May 2018 at 01:13, Christopher Allen <cma at bitemyapp.com <mailto:cma at bitemyapp.com>> wrote:
> 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/ <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
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org <mailto:ghc-steering-committee at haskell.org>
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee <https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee>
>
> _______________________________________________
> ghc-steering-committee mailing list
> ghc-steering-committee at haskell.org
> https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20180505/2260ead5/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 874 bytes
Desc: Message signed with OpenPGP
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20180505/2260ead5/attachment-0001.sig>
More information about the ghc-steering-committee
mailing list