[Haskell-cafe] Safe lens?

Edward Kmett ekmett at gmail.com
Mon Oct 29 22:46:32 CET 2012


I fixed it. Version 3.0.6 was just uploaded to hackage and is appropriately
Trustworthy where needed.

Please let me know if I missed flagged anything you need flagged, or
mis-flagged anything you think shouldn't be. ;)

On Mon, Oct 29, 2012 at 5:42 PM, Michael Sloan <mgsloan at gmail.com> wrote:

> It happened somewhere between 2.6 and 2.7:
>
>
> http://hackage.haskell.org/packages/archive/lens/2.6.1/doc/html/Control-Lens-Internal.html
>
> http://hackage.haskell.org/packages/archive/lens/2.7.0.1/doc/html/Control-Lens-Internal.html
>
> The strange thing is that the only internal dependency of 2.7.0.1,
> Control.Lens.Isomorphic, is still "Safe-Infered" (this spelling error
> should probably be fixed)
>
>
> http://hackage.haskell.org/packages/archive/lens/2.7.0.1/doc/html/Control-Lens-Isomorphic.html
>
> It'd be pretty fancy if Safe Haskell could give reasons for "None" /
> tell what would have made it unsafe in the event of "Trustworthy".
> Particularly fancy if integrated into the haddocks.
>
> -mgsloan
>
> On Mon, Oct 29, 2012 at 2:33 PM, Edward Kmett <ekmett at gmail.com> wrote:
> > 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 at 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 at 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 at haskell.org
> >> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >>
> >> _______________________________________________
> >> Haskell-Cafe mailing list
> >> Haskell-Cafe at haskell.org
> >> http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
> >
> >
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe at haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20121029/fa8131af/attachment.htm>


More information about the Haskell-Cafe mailing list