Good point, Antoine!<div><br></div><div>I think that does the trick. <br><br><div class="gmail_quote">On Thu, May 17, 2012 at 10:48 AM, Antoine Latter <span dir="ltr">&lt;<a href="mailto:aslatter@gmail.com" target="_blank">aslatter@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Thu, May 17, 2012 at 8:50 AM, Ryan Newton &lt;<a href="mailto:rrnewton@gmail.com">rrnewton@gmail.com</a>&gt; wrote:<br>


&gt; Thanks David.<br>
&gt;<br>
&gt; I&#39;m glad to see it was discussed in the wiki.  (Btw, my 2 cents is that I<br>
&gt; like the comment pragmas more than new keywords.)<br>
&gt;<br>
&gt; The issue that I think doesn&#39;t make it into the wiki is of splitting, not<br>
&gt; modules, but type-classes. That&#39;s where I think it becomes a more serious<br>
&gt; issue.<br>
&gt;<br>
&gt; Do you think a symbol-level Safe Haskell would be able to distinguish one<br>
&gt; method of a type class as unsafe, while the others are safe?<br>
&gt;<br>
<br>
</div>You can still do this at the module level, with the down-side of<br>
potentially not being able to implement a class with the safe version:<br>
<br>
&gt; module Unsafe where<br>
&gt;<br>
&gt; class MyClass a where<br>
&gt;   safeOp :: a -&gt; Int -&gt; IO ()<br>
&gt;   unsafeOp :: a -&gt; Int -&gt; IO ()<br>
&gt;<br>
&gt; instance MyClass A where ...<br>
<br>
<br>
&gt; module Safe<br>
&gt;   (MyClass(safeOp))<br>
&gt;   where<br>
&gt;<br>
&gt; import Unsafe<br>
<br>
I think this works.<br>
<span class="HOEnZb"><font color="#888888"><br>
Antoine<br>
</font></span></blockquote></div><br></div>