Changes to Typeable
Iavor Diatchki
iavor.diatchki at gmail.com
Tue Feb 14 17:18:55 CET 2012
Hello,
On Mon, Feb 13, 2012 at 5:32 PM, Edward Kmett <ekmett at gmail.com> wrote:
>
> There are fewer combinators from commonly used classes for working with
> the left argument of a bifunctor, however.
>
I think that the bifunctor part of Bas's version is a bit of a red herring.
What I like about it is that it overloads exactly what needs to be
overloaded---the representation of the type---without the need for any fake
parameters. To make things concrete, here is some code:
> newtype TypeRepT t = TR TypeRep
>
> class Typeable t where
> typeRep :: TypeRepT t
>
> instacne Typeable Int where typeRep = TR type_rep_for_int
> instance Typeable [] where typeRep = TR type_rep_for_list
The two formulations support exactly the same interface (you can define
`Proxy` and the proxied `typeRep` in terms of this class) so I wouldn't say
that the one is easier to use that the other, but I think that this
formulation is slightly simpler because it avoids the dummy parameter to
typeRep.
-Iavor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20120214/019b7238/attachment.htm>
More information about the Libraries
mailing list