Proxy and new-typeable

Ben Gamari bgamari.foss at
Fri Mar 22 05:37:59 CET 2013

Ben Gamari <bgamari.foss at> writes:

> It seems the options before us are,
>   a) Use Proxy strictly internally in Data.Typeable. In this case users
>      will continue to use the Proxy types in tagged and elsewhere as they
>      already happily do
>   b) Export Proxy from Data.Typeable in its current state, accepting
>      that users relying on external Proxy types will need to either
>      accept a loss of functionality, explicitly hide Typeable's Proxy,
>      or rely on orphan instances
>   c) Find a way to bring Typeable's Proxy type to a level of
>      functionality comparable to that currently available outside of
>      base
Shortly after I sent this Shachaf reminded me of the (perhaps obvious in
hindsight) option (d): move the Proxy type into a new module. While I'm
admittedly not very familiar with the module system, I can certainly see
how moving Proxy might help avoid cycles. I can try this in the
morning. It may be that (c) isn't as infeasible as I had thought.


- Ben

More information about the Libraries mailing list