<div dir="ltr"><div>It occurs to me that this OPAQUE keyword may be useful for vanilla GHC as well. GHC could provide trivial implementation of some primitive functions that it defines (such as the recently discussed `withDict` function) and use the OPAQUE keyword to make sure that it can always substitute this function by its low-level implementation possibly even at the STG level if the primitive doesn't admit a Core implementation.</div><div><br></div><div>I don't really have a strong opinion either way, but it sounds reasonable.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 27, 2021 at 11:22 AM Tom Harding <<a href="mailto:tomjharding@live.co.uk">tomjharding@live.co.uk</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">



<div style="overflow-wrap: break-word;">
Hi all,
<div><br>
</div>
<div>I’ve read the proposal: the change is well-motivated, and seems to solve a problem that doesn’t have another pre-existing ergonomic or reliable solution.</div>
<div>Given this, I recommend that we accept. Alejandro and Simon have already given their support; does anyone else have any strong opinions either way?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Tom<br>
<div><br>
<blockquote type="cite">
<div>On 21 Apr 2021, at 20:54, Alejandro Serrano Mena <<a href="mailto:trupill@gmail.com" target="_blank">trupill@gmail.com</a>> wrote:</div>
<br>
<div>
<div>
<div dir="">
<div dir="ltr">That seems reasonable and with a direct application, so I’m in favor of acceptance.</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Alejandro<br>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On 21 Apr 2021 at 11:07:14, Simon Peyton Jones via ghc-steering-committee <<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</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">
<div>
<div>Tom, I'm in support of this.  It's simple, useful, driven by a real application need, and easy to implement.  (There a small patch that does it already.)<br>
<br>
Simon<br>
<br>
|  -----Original Message-----<br>
|  From: ghc-steering-committee <ghc-steering-committee-<br>
|  <a href="mailto:bounces@haskell.org" target="_blank">bounces@haskell.org</a>> On Behalf Of Joachim Breitner<br>
|  Sent: 21 April 2021 07:40<br>
|  To: ghc-steering-committee <<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a>><br>
|  Subject: [ghc-steering-committee] Please review #415: OPAQUE pragma,<br>
|  Shepherd: Tom<br>
|  <br>
|  Dear Committe,<br>
|  <br>
|  OPAQUE pragma<br>
|  has been proposed by Christiaan Baaij<br>
|  <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith</a><br>
|  <a href="http://ub.com/" target="_blank">ub.com</a>%2Fghc-proposals%2Fghc-<br>
|  proposals%2Fpull%2F415&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com/" target="_blank">40microsoft.com</a>%7C06<br>
|  54777eb2f74eeff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%<br>
|  7C0%7C637545841499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiL<br>
|  CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=wm44ph5<br>
|  Int4gqu6JKkedaAKqE0DJOcqjqK3%2BT%2BHEXcA%3D&amp;reserved=0<br>
|  <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith</a><br>
|  <a href="http://ub.com/" target="_blank">ub.com</a>%2Fchristiaanb%2Fghc-<br>
|  proposals%2Fblob%2Fmaster%2Fproposals%2F0000-opaque-<br>
|  pragma.md&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com/" target="_blank">40microsoft.com</a>%7C0654777eb2f74ee<br>
|  ff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6375458<br>
|  41499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz<br>
|  IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=MD9R%2FGRTR8j8blj%2F<br>
|  o2cCc6JFpbgPiGakqGkZoSoQkeg%3D&amp;reserved=0<br>
|  <br>
|  <br>
|  I'll propose Tom as the shepherd.<br>
|  <br>
|  Please guide us to a conclusion as outlined in<br>
|  <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith</a><br>
|  <a href="http://ub.com/" target="_blank">ub.com</a>%2Fghc-proposals%2Fghc-proposals%23committee-<br>
|  process&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com/" target="_blank">40microsoft.com</a>%7C0654777eb2f74eeff<br>
|  5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637545841<br>
|  499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIi<br>
|  LCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=VEiKysJyP4hRJ3J%2FIAQ0<br>
|  k2t9qm7qhreZF%2FMfA31Ct1k%3D&amp;reserved=0<br>
|  <br>
|  Thanks,<br>
|  Joachim<br>
|  --<br>
|  --<br>
|  Joachim Breitner<br>
|    <a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a><br>
|  <br>
|  <a href="https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.j" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.j</a><br>
|  oachim-<br>
|  <a href="http://breitner.de/" target="_blank">breitner.de</a>%2F&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com/" target="_blank">40microsoft.com</a>%7C0654777eb2<br>
|  f74eeff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63<br>
|  7545841499469214%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV<br>
|  2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=zURoYM0rQvnF%2F<br>
|  j0EngntoTDt2cG7aSPEResXA4i6m%2FE%3D&amp;reserved=0<br>
|  <br>
|  <br>
|  _______________________________________________<br>
|  ghc-steering-committee mailing list<br>
|  <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
|  <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail" target="_blank">https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail</a><br>
|  .<a href="http://haskell.org/" target="_blank">haskell.org</a>%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-<br>
|  committee&amp;data=04%7C01%7Csimonpj%<a href="http://40microsoft.com/" target="_blank">40microsoft.com</a>%7C0654777eb2f74ee<br>
|  ff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6375458<br>
|  41499469214%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz<br>
|  IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=TEQsWPaCoHIvcGy%2FH1<br>
|  te1tmgRGe%2BHeYwhU1FcoZ4TVM%3D&amp;reserved=0<br>
_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</div>
</blockquote>
</div>
<br>
</div>
</div>

_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</blockquote></div>