
Hi Richard,
On 14 March 2014 17:25, Richard Eisenberg
This is an even thornier corner of a thorny design decision. As one can discover from various public sources, I have advocated for adding extra checks under -XSafe, essentially closing this hole, as described in the paper and in those tickets. However, due to trouble *inferring* safe mode with the extra checks, and the fact that there was no clear design goal to attend to, we decided to drop the checks, with Simon PJ consistently advocating against the checks. There's nothing insurmountable here, just more engineering overhead. Is it worth it?
I think that you were right. IIUC, omitting these checks essentially makes the MinList example from the Safe Haskell paper legal (provided that there are no role annotations), which was the reason for prohibiting GND in Safe Haskell code. I agree with Brandon that it'd be nice to have some kind of warning.
The real trouble with making this decision is that we have no real guidance. We've tried contacting David Terei (the originator of Safe Haskell) several times to no avail. If you are an actual consumer of Safe Haskell and would like to share your opinion on this front, I do encourage you to make a ticket, essentially requesting a resurrection of the extra Safe checks.
Yes, it would be nice if David Terei or David Mazières (CC:ed) could comment.