Actually Control.Lens.Getter doesn't use TH. The issue is more that it depends on some modules I didn't flag as Trustworthy and which require some more high-falutin type system extensions that GHC isn't happy about treating as Safe. I'll try adding a few Trustworthy flags.

It previously was treated as Trustworthy or SafeInfered throughout.

Somewhere along the way I must have toggled on an extension and broken that property.

-Edward

On Mon, Oct 29, 2012 at 1:14 PM, Petr P <petr.mvd@gmail.com> wrote:
  Hi

I believe the reason is that it uses TemplateHaskell for automatic
derivation of labels. And TemplateHaskell is of course unsafe, since
it could convert your code into something entirely different.

  Best regards,
  Petr Pudlak

2012/10/29 Greg Fitzgerald <garious@gmail.com>:
> Why are getters from the 'lens' package unsafe?  Is there a subset
> like Data.Label.Pure from 'fclabels' that can be imported safely?
>
>
> $ cat a.hs
> {-# LANGUAGE Safe #-}
>
> import Control.Lens.Getter
>
> main = print 123
>
> $ runghc a.hs
>
> a.hs:3:1:
>     Control.Lens.Getter: Can't be safely imported!
>     The module itself isn't safe.
>
>
> Thanks,
> Greg
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe