[Haskell-cafe] TypeApplications and Proxy

Adam Gundry adam at well-typed.com
Tue Sep 15 07:53:47 UTC 2020


On 15/09/2020 06:19, Compl Yue wrote:
>
> Does this mean
> [IsLabel](http://hackage.haskell.org/package/base-4.12.0.0/docs/GHC-OverloadedLabels.html#t:IsLabel)
> class has dropped Proxy since GHC 8.2?

Yes. The original implementation of IsLabel had a Proxy argument, but it
was removed as unnecessary in the presence of TypeApplications [1].

As others have observed, there are certainly uses for Proxy that remain,
notably to make it clear when a type variable needs to be supplied
explicitly by the caller, or to allow type variables to be bound in
patterns. Both of these may be alleviated by future GHC extensions, but
we're not there yet.

Adam

[1]
https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0023-overloaded-record-fields.rst#changes-to-overloadedlabels-extension


-- 
Adam Gundry, Haskell Consultant
Well-Typed LLP, https://www.well-typed.com/

Registered in England & Wales, OC335890
118 Wymering Mansions, Wymering Road, London W9 2NF, England


More information about the Haskell-Cafe mailing list