Is there any way for the same type to implement a typeclass multiple ways. The particular situation I have in mind is composing two monad trasformers of the same type, say reader monad. In pure theory one reader can lift through another, but in an implementation one gets a name clash. thanks Daniel
Am Donnerstag, 15. März 2007 03:23 schrieb Daniel Mahler:
Is there any way for the same type to implement a typeclass multiple ways.
You can wrap the type using newtype, thus creating a new type which can implement type class methods differently.
[…]
Best wishes, Wolfgang
Wolfgang Jeltsch wrote:
Am Donnerstag, 15. März 2007 03:23 schrieb Daniel Mahler:
Is there any way for the same type to implement a typeclass multiple ways.
You can wrap the type using newtype, thus creating a new type which can implement type class methods differently.
This technique is sometimes known as a typeclass wrapper and is related to wrapper types and combines well with phantom types. See http://www.haskell.org/hawiki/WrapperTypes
Note the live version of this on haskell wiki is at: http://www.haskell.org/haskellwiki/Wrapper_types The link below is for the old non-editible version of the haskel wiki. On Thu, 2007-03-15 at 15:34 -0600, Derek Elkins wrote:
Wolfgang Jeltsch wrote:
Am Donnerstag, 15. März 2007 03:23 schrieb Daniel Mahler:
Is there any way for the same type to implement a typeclass multiple ways.
You can wrap the type using newtype, thus creating a new type which can implement type class methods differently.
This technique is sometimes known as a typeclass wrapper and is related to wrapper types and combines well with phantom types. See http://www.haskell.org/hawiki/WrapperTypes _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
participants (4)
-
Brett Giles -
Daniel Mahler -
Derek Elkins -
Wolfgang Jeltsch