[Haskell-cafe] Safe lens?

Michael Sloan mgsloan at gmail.com
Mon Oct 29 22:54:21 CET 2012


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
>> >
>
>



More information about the Haskell-Cafe mailing list