
Hi John,
That's what I had originally. However, some people have made critical
comments about CPP macros on this list and I thought that TH was
considered the better option.
What do other people think?
Serguey's code is great in any case as it gives me a clearer
understanding on how TH works.
Kevin
On Sep 14, 11:01 pm, John Meacham
On Tue, Sep 14, 2010 at 01:24:16AM -0700, Kevin Jardine wrote:
I have a set of wrapper newtypes that are always of the same format:
newtype MyType = MyType Obj deriving (A,B,C,D)
where Obj, A, B, C, and D are always the same. Only MyType varies.
A, B, C, and D are automagically derived by GHC using the
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
feature.
I would like to use some macro system (perhaps Template Haskell?) to reduce this to something like
defObj MyType
How about the straightforward?
{-# LANGUAGE CPP #-} #define defObj(t) newtype t = t Obj deriving (A,B,C,D)
defObj(Foo) defObj(Bar) ....
It has the advantage of being (de facto) portable.
John
-- John Meacham - ⑆repetae.net⑆john⑈ -http://notanumber.net/ _______________________________________________ Haskell-Cafe mailing list Haskell-C...@haskell.orghttp://www.haskell.org/mailman/listinfo/haskell-cafe