
8 Sep
2010
8 Sep
'10
9:44 a.m.
On Wed, 8 Sep 2010 05:51:22 -0700 (PDT), Kevin Jardine
Ah, I was missing an important piece of the puzzle.
If I write:
class ToObj a where toObj :: a -> Obj
instance ToObj Obj where toObj a = a
then
newtype Blog = Blog Obj deriving ToObj
works!
This post http://www.haskell.org/pipermail/libraries/2006-October/005950.html describes a general mini-library for this situation (having a structure-indicating newtype of an underlying type). The 'Unpack' class is a generalised version of your 'ToObj' class. Maybe it is useful to compare (or even use), especially the smart ways in which you can use this class to hide much of the wrapping/unwrapping. Regards, Arie