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"><<a href="mailto:aslatter@gmail.com" target="_blank">aslatter@gmail.com</a>></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 <<a href="mailto:rrnewton@gmail.com">rrnewton@gmail.com</a>> wrote:<br>
> Thanks David.<br>
><br>
> I'm glad to see it was discussed in the wiki. (Btw, my 2 cents is that I<br>
> like the comment pragmas more than new keywords.)<br>
><br>
> The issue that I think doesn't make it into the wiki is of splitting, not<br>
> modules, but type-classes. That's where I think it becomes a more serious<br>
> issue.<br>
><br>
> Do you think a symbol-level Safe Haskell would be able to distinguish one<br>
> method of a type class as unsafe, while the others are safe?<br>
><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>
> module Unsafe where<br>
><br>
> class MyClass a where<br>
> safeOp :: a -> Int -> IO ()<br>
> unsafeOp :: a -> Int -> IO ()<br>
><br>
> instance MyClass A where ...<br>
<br>
<br>
> module Safe<br>
> (MyClass(safeOp))<br>
> where<br>
><br>
> import Unsafe<br>
<br>
I think this works.<br>
<span class="HOEnZb"><font color="#888888"><br>
Antoine<br>
</font></span></blockquote></div><br></div>