<div dir="ltr"><div>Happy to see progress being made here. I think Ryan and others have spoken to any issues I would otherwise raise with the implementation itself. Currently I find myself reaching for unsafeCoerce over magicDict in most situations, and I'd really like to be able to stop doing that!</div><div><br></div>I'm +1 on the name being something `reify`-ish, to avoid flipping the direction on the vocabulary. It is reifying a value as a dictionary. Something like `reifyValue` or `reifyAsDict` would avoid confusion as the dict isn't being reified, the value is. Both are a little clunky, but it is a very rare operation. It is also worth considering possibly mangling the name with a # or an 'unsafe' in the name to give casual users pause.<div><br></div><div>-Edward</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 22, 2021 at 12:18 PM Krzysztof Gogolewski <<a href="mailto:krz.gogolewski@gmail.com">krz.gogolewski@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">How about 'reifyDict'? The reflection library uses 'reify' to create a<br>
dictionary and 'reflect' to extract a value out of it.<br>
<br>
<a href="https://hackage.haskell.org/package/reflection-2.1.6/docs/Data-Reflection.html#v:reify" rel="noreferrer" target="_blank">https://hackage.haskell.org/package/reflection-2.1.6/docs/Data-Reflection.html#v:reify</a><br>
<br>
On Thu, Apr 22, 2021 at 3:27 PM Spiwack, Arnaud <<a href="mailto:arnaud.spiwack@tweag.io" target="_blank">arnaud.spiwack@tweag.io</a>> wrote:<br>
><br>
> Let me upvote `reflectDict`.<br>
><br>
> On Thu, Apr 22, 2021 at 12:41 PM Simon Peyton Jones via ghc-devs <<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a>> wrote:<br>
>><br>
>> Ed, and other ghc-devs<br>
>><br>
>> We are busy tidying up magicDict, and making it much more type-safe: see<br>
>><br>
>> <a href="https://gitlab.haskell.org/ghc/ghc/-/issues/16646" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/issues/16646</a><br>
>> <a href="https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5573" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5573</a><br>
>><br>
>> As part of that change we’re think of changing its currently-rather-obscure name.  I rather favour “reflectDict”.  Any other views?<br>
>><br>
>> Simon<br>
>><br>
>> _______________________________________________<br>
>> ghc-devs mailing list<br>
>> <a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
>> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
><br>
> _______________________________________________<br>
> ghc-devs mailing list<br>
> <a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
> <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div>