Please review #415: OPAQUE pragma, Shepherd: Tom

Dear Committe, OPAQUE pragma has been proposed by Christiaan Baaij https://github.com/ghc-proposals/ghc-proposals/pull/415 https://github.com/christiaanb/ghc-proposals/blob/master/proposals/0000-opaq... I’ll propose Tom as the shepherd. Please guide us to a conclusion as outlined in https://github.com/ghc-proposals/ghc-proposals#committee-process Thanks, Joachim -- -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/

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.)
Simon
| -----Original Message-----
| From: ghc-steering-committee

That seems reasonable and with a direct application, so I’m in favor of acceptance. Alejandro On 21 Apr 2021 at 11:07:14, Simon Peyton Jones via ghc-steering-committee < ghc-steering-committee@haskell.org> wrote:
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.)
Simon
| -----Original Message----- | From: ghc-steering-committee
On Behalf Of Joachim Breitner | Sent: 21 April 2021 07:40 | To: ghc-steering-committee | Subject: [ghc-steering-committee] Please review #415: OPAQUE pragma, | Shepherd: Tom | | Dear Committe, | | OPAQUE pragma | has been proposed by Christiaan Baaij | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith | ub.com%2Fghc-proposals%2Fghc- | proposals%2Fpull%2F415&data=04%7C01%7Csimonpj%40microsoft.com%7C06 | 54777eb2f74eeff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1% | 7C0%7C637545841499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiL | CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=wm44ph5 | Int4gqu6JKkedaAKqE0DJOcqjqK3%2BT%2BHEXcA%3D&reserved=0 | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith | ub.com%2Fchristiaanb%2Fghc- | proposals%2Fblob%2Fmaster%2Fproposals%2F0000-opaque- | pragma.md&data=04%7C01%7Csimonpj%40microsoft.com%7C0654777eb2f74ee | ff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6375458 | 41499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz | IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=MD9R%2FGRTR8j8blj%2F | o2cCc6JFpbgPiGakqGkZoSoQkeg%3D&reserved=0 | | | I'll propose Tom as the shepherd. | | Please guide us to a conclusion as outlined in | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith | ub.com%2Fghc-proposals%2Fghc-proposals%23committee- | process&data=04%7C01%7Csimonpj%40microsoft.com%7C0654777eb2f74eeff | 5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637545841 | 499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIi | LCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=VEiKysJyP4hRJ3J%2FIAQ0 | k2t9qm7qhreZF%2FMfA31Ct1k%3D&reserved=0 | | Thanks, | Joachim | -- | -- | Joachim Breitner | mail@joachim-breitner.de | | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.j | oachim- | breitner.de%2F&data=04%7C01%7Csimonpj%40microsoft.com%7C0654777eb2 | f74eeff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63 | 7545841499469214%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV | 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=zURoYM0rQvnF%2F | j0EngntoTDt2cG7aSPEResXA4i6m%2FE%3D&reserved=0 | | | _______________________________________________ | ghc-steering-committee mailing list | ghc-steering-committee@haskell.org | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail | .haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering- | committee&data=04%7C01%7Csimonpj%40microsoft.com%7C0654777eb2f74ee | ff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6375458 | 41499469214%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz | IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=TEQsWPaCoHIvcGy%2FH1 | te1tmgRGe%2BHeYwhU1FcoZ4TVM%3D&reserved=0 _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

Hi all,
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.
Given this, I recommend that we accept. Alejandro and Simon have already given their support; does anyone else have any strong opinions either way?
Thanks,
Tom
On 21 Apr 2021, at 20:54, Alejandro Serrano Mena

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.
I don't really have a strong opinion either way, but it sounds reasonable.
On Tue, Apr 27, 2021 at 11:22 AM Tom Harding
Hi all,
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. Given this, I recommend that we accept. Alejandro and Simon have already given their support; does anyone else have any strong opinions either way?
Thanks, Tom
On 21 Apr 2021, at 20:54, Alejandro Serrano Mena
wrote: That seems reasonable and with a direct application, so I’m in favor of acceptance.
Alejandro
On 21 Apr 2021 at 11:07:14, Simon Peyton Jones via ghc-steering-committee < ghc-steering-committee@haskell.org> wrote:
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.)
Simon
| -----Original Message----- | From: ghc-steering-committee
On Behalf Of Joachim Breitner | Sent: 21 April 2021 07:40 | To: ghc-steering-committee | Subject: [ghc-steering-committee] Please review #415: OPAQUE pragma, | Shepherd: Tom | | Dear Committe, | | OPAQUE pragma | has been proposed by Christiaan Baaij | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith | ub.com%2Fghc-proposals%2Fghc- | proposals%2Fpull%2F415&data=04%7C01%7Csimonpj%40microsoft.com%7C06 | 54777eb2f74eeff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1% | 7C0%7C637545841499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiL | CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=wm44ph5 | Int4gqu6JKkedaAKqE0DJOcqjqK3%2BT%2BHEXcA%3D&reserved=0 | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith | ub.com%2Fchristiaanb%2Fghc- | proposals%2Fblob%2Fmaster%2Fproposals%2F0000-opaque- | pragma.md&data=04%7C01%7Csimonpj%40microsoft.com%7C0654777eb2f74ee | ff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6375458 | 41499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz | IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=MD9R%2FGRTR8j8blj%2F | o2cCc6JFpbgPiGakqGkZoSoQkeg%3D&reserved=0 | | | I'll propose Tom as the shepherd. | | Please guide us to a conclusion as outlined in | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith | ub.com%2Fghc-proposals%2Fghc-proposals%23committee- | process&data=04%7C01%7Csimonpj%40microsoft.com%7C0654777eb2f74eeff | 5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637545841 | 499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIi | LCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=VEiKysJyP4hRJ3J%2FIAQ0 | k2t9qm7qhreZF%2FMfA31Ct1k%3D&reserved=0 | | Thanks, | Joachim | -- | -- | Joachim Breitner | mail@joachim-breitner.de | | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.j | oachim- | breitner.de%2F&data=04%7C01%7Csimonpj%40microsoft.com%7C0654777eb2 | f74eeff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63 | 7545841499469214%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV | 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=zURoYM0rQvnF%2F | j0EngntoTDt2cG7aSPEResXA4i6m%2FE%3D&reserved=0 | | | _______________________________________________ | ghc-steering-committee mailing list | ghc-steering-committee@haskell.org | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail | .haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering- | committee&data=04%7C01%7Csimonpj%40microsoft.com%7C0654777eb2f74ee | ff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6375458 | 41499469214%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz | IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=TEQsWPaCoHIvcGy%2FH1 | te1tmgRGe%2BHeYwhU1FcoZ4TVM%3D&reserved=0 _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee
_______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

I don't personally understand the details behind the motivation, but I trust the people who have supported and will throw my lot in with them. +1 from me.
On Apr 28, 2021, at 11:08 AM, Spiwack, Arnaud
wrote: 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.
I don't really have a strong opinion either way, but it sounds reasonable.
On Tue, Apr 27, 2021 at 11:22 AM Tom Harding
mailto:tomjharding@live.co.uk> wrote: Hi all, 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. Given this, I recommend that we accept. Alejandro and Simon have already given their support; does anyone else have any strong opinions either way?
Thanks, Tom
On 21 Apr 2021, at 20:54, Alejandro Serrano Mena
mailto:trupill@gmail.com> wrote: That seems reasonable and with a direct application, so I’m in favor of acceptance.
Alejandro
On 21 Apr 2021 at 11:07:14, Simon Peyton Jones via ghc-steering-committee
mailto:ghc-steering-committee@haskell.org> wrote: 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.) Simon
| -----Original Message----- | From: ghc-steering-committee
mailto:bounces@haskell.org> On Behalf Of Joachim Breitner | Sent: 21 April 2021 07:40 | To: ghc-steering-committee mailto:ghc-steering-committee@haskell.org> | Subject: [ghc-steering-committee] Please review #415: OPAQUE pragma, | Shepherd: Tom | | Dear Committe, | | OPAQUE pragma | has been proposed by Christiaan Baaij | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith | ub.com http://ub.com/%2Fghc-proposals%2Fghc- | proposals%2Fpull%2F415&data=04%7C01%7Csimonpj%40microsoft.com http://40microsoft.com/%7C06 | 54777eb2f74eeff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1% | 7C0%7C637545841499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiL | CJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=wm44ph5 | Int4gqu6JKkedaAKqE0DJOcqjqK3%2BT%2BHEXcA%3D&reserved=0 | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith | ub.com http://ub.com/%2Fchristiaanb%2Fghc- | proposals%2Fblob%2Fmaster%2Fproposals%2F0000-opaque- | pragma.md&data=04%7C01%7Csimonpj%40microsoft.com http://40microsoft.com/%7C0654777eb2f74ee | ff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6375458 | 41499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz | IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=MD9R%2FGRTR8j8blj%2F | o2cCc6JFpbgPiGakqGkZoSoQkeg%3D&reserved=0 | | | I'll propose Tom as the shepherd. | | Please guide us to a conclusion as outlined in | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith | ub.com http://ub.com/%2Fghc-proposals%2Fghc-proposals%23committee- | process&data=04%7C01%7Csimonpj%40microsoft.com http://40microsoft.com/%7C0654777eb2f74eeff | 5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637545841 | 499459221%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIi | LCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=VEiKysJyP4hRJ3J%2FIAQ0 | k2t9qm7qhreZF%2FMfA31Ct1k%3D&reserved=0 | | Thanks, | Joachim | -- | -- | Joachim Breitner | mail@joachim-breitner.de mailto:mail@joachim-breitner.de | | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.j https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.j | oachim- | breitner.de http://breitner.de/%2F&data=04%7C01%7Csimonpj%40microsoft.com http://40microsoft.com/%7C0654777eb2 | f74eeff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63 | 7545841499469214%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV | 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=zURoYM0rQvnF%2F | j0EngntoTDt2cG7aSPEResXA4i6m%2FE%3D&reserved=0 | | | _______________________________________________ | ghc-steering-committee mailing list | ghc-steering-committee@haskell.org mailto:ghc-steering-committee@haskell.org | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail | .haskell.org http://haskell.org/%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering- | committee&data=04%7C01%7Csimonpj%40microsoft.com http://40microsoft.com/%7C0654777eb2f74ee | ff5df08d904906a19%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6375458 | 41499469214%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz | IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=TEQsWPaCoHIvcGy%2FH1 | te1tmgRGe%2BHeYwhU1FcoZ4TVM%3D&reserved=0 _______________________________________________ ghc-steering-committee mailing list ghc-steering-committee@haskell.org mailto:ghc-steering-committee@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@haskell.org mailto:ghc-steering-committee@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@haskell.org mailto:ghc-steering-committee@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@haskell.org https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee

Hi all,
Sorry for the delay - I’ve been moving house over the last fortnight, so I’ve been falling behind on my duties!
If I take silence to mean “no objections”, it sounds as though everyone with an opinion is in favour of this one; Joachim, are we OK to accept?
Thanks,
Tom
On 28 Apr 2021, at 19:12, Richard Eisenberg

Hi, Am Montag, den 10.05.2021, 10:06 +0000 schrieb Tom Harding:
Sorry for the delay - I’ve been moving house over the last fortnight, so I’ve been falling behind on my duties! If I take silence to mean “no objections”, it sounds as though everyone with an opinion is in favour of this one; Joachim, are we OK to accept?
looks like it. Maybe we can wait until tomorrow for last minute expressions of opinions (I’m distracted today anyways) Cheers, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/

Hi, Am Montag, den 10.05.2021, 13:27 +0200 schrieb Joachim Breitner:
Am Montag, den 10.05.2021, 10:06 +0000 schrieb Tom Harding:
Sorry for the delay - I’ve been moving house over the last fortnight, so I’ve been falling behind on my duties! If I take silence to mean “no objections”, it sounds as though everyone with an opinion is in favour of this one; Joachim, are we OK to accept?
looks like it. Maybe we can wait until tomorrow for last minute expressions of opinions (I’m distracted today anyways)
merging this now, sorry for the delay. Cheers, Joachim -- Joachim Breitner mail@joachim-breitner.de http://www.joachim-breitner.de/
participants (6)
-
Alejandro Serrano Mena
-
Joachim Breitner
-
Richard Eisenberg
-
Simon Peyton Jones
-
Spiwack, Arnaud
-
Tom Harding