On Wed, 2004-08-25 at 14:00, Tomasz Zielonka wrote:
On Wed, Aug 25, 2004 at 01:54:08PM +0100, Simon D. Foster wrote:
On Wed, 2004-08-25 at 08:39, Tomasz Zielonka wrote: - snip -
I hope that helps,
Best regards, Tom
That method works perfectly! Thank you so much! I assume there is no way of achieving this without overlapping instances?
I think I jumped the gun it a bit; it almost works, but when I try to declare a serializer for a type with several parts e.g. data Person = Person PackedString PackedString Int instance (Hook Person t) => Serializer Person t where ... If I try to call encode on any of the attributes I get; Could not deduce (Hook PackedString t) from the context (Serializer Person t, Hook Person t, Hook Person t) Thus, I have to add a (Hook x t) constraint for every type that is part of the given data-type. For your example try; data D = D Int instance (Mixin D t) => Serializer D t where encodePrim t (D n) = "(D " ++ encode t n ++ ")" Is there anyway of getting around this? Thanks, -Si. -- Simon D. Foster <u1sf@dcs.shef.ac.uk> Sheffield University