Actually Control.Lens.Getter doesn&#39;t use TH. The issue is more that it depends on some modules I didn&#39;t flag as Trustworthy and which require some more high-falutin type system extensions that GHC isn&#39;t happy about treating as Safe. I&#39;ll try adding a few Trustworthy flags.<div>
<br></div><div>It previously was treated as Trustworthy or SafeInfered throughout.</div><div><br></div><div>Somewhere along the way I must have toggled on an extension and broken that property.<br><div><br></div><div>-Edward<br>
<br><div class="gmail_quote">On Mon, Oct 29, 2012 at 1:14 PM, Petr P <span dir="ltr">&lt;<a href="mailto:petr.mvd@gmail.com" target="_blank">petr.mvd@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">
  Hi<br>
<br>
I believe the reason is that it uses TemplateHaskell for automatic<br>
derivation of labels. And TemplateHaskell is of course unsafe, since<br>
it could convert your code into something entirely different.<br>
<br>
  Best regards,<br>
  Petr Pudlak<br>
<br>
2012/10/29 Greg Fitzgerald &lt;<a href="mailto:garious@gmail.com">garious@gmail.com</a>&gt;:<br>
<div class="HOEnZb"><div class="h5">&gt; Why are getters from the &#39;lens&#39; package unsafe?  Is there a subset<br>
&gt; like Data.Label.Pure from &#39;fclabels&#39; that can be imported safely?<br>
&gt;<br>
&gt;<br>
&gt; $ cat a.hs<br>
&gt; {-# LANGUAGE Safe #-}<br>
&gt;<br>
&gt; import Control.Lens.Getter<br>
&gt;<br>
&gt; main = print 123<br>
&gt;<br>
&gt; $ runghc a.hs<br>
&gt;<br>
&gt; a.hs:3:1:<br>
&gt;     Control.Lens.Getter: Can&#39;t be safely imported!<br>
&gt;     The module itself isn&#39;t safe.<br>
&gt;<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Greg<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Haskell-Cafe mailing list<br>
&gt; <a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div></div>