Proxy and new-typeable

Roman Cheplyaka roma at ro-che.info
Wed Mar 20 10:17:55 CET 2013


Right now Data.Typeable is proxy-agnostic. The proposal is just to
export a Proxy type for convenience (alternatively, the user can define
her own Proxy or use one from tagged).
What exactly forces you to support both proxies in your code?

(I'm reluctant to have many proxy types scattered around mainly because
of unnecessary name conflicts, but I'd like to understand your concerns
too.)

Roman

* Edward Kmett <ekmett at gmail.com> [2013-03-20 04:48:49-0400]
> If you insist on adding Proxy to Data.Typeable, I'd like to strongly
> suggest that we might want to look at promoting Data.Proxy from the tagged
> package to base.
> 
> It offers a lot of instances that I currently rely upon in production code
> and is already in use in a large portion of the ~42 reverse dependencies of
> that package:
> 
> http://packdeps.haskellers.com/reverse/tagged
> 
> Of course we could invert the dependencies from packages outside of base at
> that time.
> 
> Exporting a crippled Proxy from Data.Typeable *without* those instances
> will basically just ensure that I need to somehow support both, fight
> needlessly with orphans and/or deal with qualified imports everywhere, and
> it will break about 3 dozen modules of mine, and impact others.
> 
> All in all this makes me personally rather strongly opposed to the idea of
> just randomly throwing a Proxy type in the module without ensuring we don't
> lose existing functionality along the way.
> 
> -Edward
> 
> On Wed, Mar 20, 2013 at 4:04 AM, José Pedro Magalhães <jpm at cs.uu.nl> wrote:
> 
> > Data.Typeable no longer uses Proxy, yet I think it is convenient to have a
> > Proxy datatype
> > defined somewhere in base, and re-export it from Data.Typeable, as you
> > might often often
> > want to use it.
> >
> >
> > Cheers,
> > Pedro
> >
> >
> > On Wed, Mar 20, 2013 at 12:35 AM, Edward Kmett <ekmett at gmail.com> wrote:
> >
> >> +1 for finding a resolution. The idea of another Proxy floating around
> >> fills me with unease.
> >>
> >> -Edward
> >>
> >> On Tue, Mar 19, 2013 at 7:48 PM, Ben Gamari <bgamari.foss at gmail.com>wrote:
> >>
> >>> José Pedro Magalhães <jpm at cs.uu.nl> writes:
> >>>
> >>> > Yes, it's entirely unproblematic, and a good suggestion.
> >>> >
> >>> What happened to this proposal? As far as I can tell the new-typeable
> >>> work is in (or rather, the branch has been deleted) yet Data.Typeable
> >>> still seems to have its own Proxy. Given that there has been talk of a
> >>> 7.8 release, this should probably be resolved quickly (although it's not
> >>> clear to me from the massive thread where that discussion concluded).
> >>>
> >>> Cheers,
> >>>
> >>> - Ben
> >>>
> >>> _______________________________________________
> >>> Libraries mailing list
> >>> Libraries at haskell.org
> >>> http://www.haskell.org/mailman/listinfo/libraries
> >>>
> >>
> >>
> >

> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries




More information about the Libraries mailing list