[Haskell-cafe] Safe lens?

Edward Kmett ekmett at gmail.com
Mon Oct 29 23:08:48 CET 2012


We picked up some extensions along the way in the dependency, so that went
to None, then the things that depended on it devolved from SafeInferred to
None as well.

-Edward

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

> I guess that's a good way to safeguard against future accidental
> toggleage.  Still, it's puzzling that the status of "Safe-Infered" was
> lost.
>
> On Mon, Oct 29, 2012 at 2:46 PM, Edward Kmett <ekmett at gmail.com> wrote:
> > 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/1d9d93a4/attachment-0001.htm>


More information about the Haskell-Cafe mailing list