<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">> I just wonder if that's already in some library.</div><div class=""><br class=""></div><div class="">I happen to be learning `named`, and read here:</div><div class=""><br class=""></div><div class=""><a href="http://hackage.haskell.org/package/named-0.3.0.1/docs/src/Named.Internal.html#local-6989586621679020197" class="">http://hackage.haskell.org/package/named-0.3.0.1/docs/src/Named.Internal.html#local-6989586621679020197</a></div><div class=""><br class=""></div><div class=""><pre style="color: rgb(232, 230, 227); font-variant-ligatures: normal; orphans: 2; widows: 2;" class=""><span class="hs-keyword" style="color: rgb(255, 82, 176);">data</span> <a name="Name" class="" style="color: rgb(51, 145, 255);"></a><a href="http://hackage.haskell.org/package/named-0.3.0.1/docs/src/Named.Internal.html#Name" class="" style="color: rgb(51, 145, 255); text-decoration: none; border-bottom: 1px solid rgb(85, 73, 34);"><span class="hs-identifier" style="color: rgb(209, 205, 199);">Name</span></a> <span class="hs-special" style="color: rgb(223, 68, 66);">(</span><a name="local-6989586621679019883" class="" style="color: rgb(51, 145, 255);"></a><a href="http://hackage.haskell.org/package/named-0.3.0.1/docs/src/Named.Internal.html#local-6989586621679019883" class="" style="color: rgb(51, 145, 255); text-decoration: none; border-bottom: 1px solid rgb(85, 73, 34);"><span class="hs-identifier" style="color: rgb(209, 205, 199);">name</span></a> <span class="hs-glyph" style="color: rgb(223, 68, 66);">::</span> <span class="hs-type hs-identifier" style="color: rgb(109, 136, 182);">Symbol</span><span class="hs-special" style="color: rgb(223, 68, 66);">)</span> <span class="hs-glyph" style="color: rgb(223, 68, 66);">=</span> <a name="Name" class="" style="color: rgb(51, 145, 255);"></a><a href="http://hackage.haskell.org/package/named-0.3.0.1/docs/src/Named.Internal.html#Name" class="" style="color: rgb(51, 145, 255); text-decoration: none; border-bottom: 1px solid rgb(85, 73, 34);"><span class="hs-identifier" style="color: rgb(209, 205, 199);">Name</span></a>
<a name="line-182" class="" style="color: rgb(51, 145, 255);"></a>
<a name="line-183" class="" style="color: rgb(51, 145, 255);"></a><span class="hs-keyword" style="color: rgb(255, 82, 176);">instance</span> <span class="hs-type hs-identifier" style="color: rgb(109, 136, 182);">name</span> <span class="hs-glyph" style="color: rgb(223, 68, 66);">~</span> <a href="http://hackage.haskell.org/package/named-0.3.0.1/docs/src/Named.Internal.html#local-6989586621679020197" class="" style="color: rgb(51, 145, 255); text-decoration: none; border-bottom: 1px solid rgb(85, 73, 34);"><span class="hs-type hs-identifier" style="color: rgb(109, 136, 182);">name'</span></a> <span class="hs-glyph" style="color: rgb(223, 68, 66);">=></span> <span class="hs-type hs-identifier" style="color: rgb(109, 136, 182);">IsLabel</span> <a href="http://hackage.haskell.org/package/named-0.3.0.1/docs/src/Named.Internal.html#local-6989586621679020197" class="" style="color: rgb(51, 145, 255); text-decoration: none; border-bottom: 1px solid rgb(85, 73, 34);"><span class="hs-type hs-identifier" style="color: rgb(109, 136, 182);">name'</span></a> <span class="hs-special" style="color: rgb(223, 68, 66);">(</span><a href="http://hackage.haskell.org/package/named-0.3.0.1/docs/src/Named.Internal.html#Name" class="" style="color: rgb(51, 145, 255); text-decoration: none; border-bottom: 1px solid rgb(85, 73, 34);"><span class="hs-type hs-identifier" style="color: rgb(109, 136, 182);">Name</span></a> <a href="http://hackage.haskell.org/package/named-0.3.0.1/docs/src/Named.Internal.html#local-6989586621679020196" class="" style="color: rgb(51, 145, 255); text-decoration: none; border-bottom: 1px solid rgb(85, 73, 34);"><span class="hs-type hs-identifier" style="color: rgb(109, 136, 182);">name</span></a><span class="hs-special" style="color: rgb(223, 68, 66);">)</span> <span class="hs-keyword" style="color: rgb(255, 82, 176);">where</span>
<a name="line-184" class="" style="color: rgb(51, 145, 255);"></a><span class="hs-cpp" style="color: rgb(234, 255, 97);">#if MIN_VERSION_base(4,10,0)
</span> <a name="local-8214565720323787259" class="" style="color: rgb(51, 145, 255);"><span class="hs-identifier" style="color: rgb(209, 205, 199);">fromLabel</span></a> <span class="hs-glyph" style="color: rgb(223, 68, 66);">=</span> <a href="http://hackage.haskell.org/package/named-0.3.0.1/docs/src/Named.Internal.html#Name" class="" style="color: rgb(51, 145, 255); text-decoration: none; border-bottom: 1px solid rgb(85, 73, 34);"><span class="hs-identifier hs-var" style="color: rgb(209, 205, 199);">Name</span></a>
<a name="line-186" class="" style="color: rgb(51, 145, 255);"></a><span class="hs-cpp" style="color: rgb(234, 255, 97);">#else
</span> <span class="hs-identifier" style="color: rgb(209, 205, 199);">fromLabel</span> <span class="hs-identifier" style="color: rgb(209, 205, 199);">_</span> <span class="hs-glyph" style="color: rgb(223, 68, 66);">=</span> <span class="hs-identifier" style="color: rgb(209, 205, 199);">Name</span>
<a name="line-188" class="" style="color: rgb(51, 145, 255);"></a><span class="hs-cpp" style="color: rgb(234, 255, 97);">#endif
</span> <span class="hs-pragma" style="color: rgb(102, 215, 206);">{-# INLINE</span> <span class="hs-pragma" style="color: rgb(102, 215, 206);">fromLabel</span> <span class="hs-pragma" style="color: rgb(102, 215, 206);">#-}</span>
<a name="line-190" class="" style="color: rgb(51, 145, 255);"></a>
</pre><div>Does this mean [IsLabel](<a href="http://hackage.haskell.org/package/base-4.12.0.0/docs/GHC-OverloadedLabels.html#t:IsLabel" class="">http://hackage.haskell.org/package/base-4.12.0.0/docs/GHC-OverloadedLabels.html#t:IsLabel</a>) class has dropped Proxy since GHC 8.2?</div></div><div><br class=""></div><div><br class=""></div></body></html>