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 <j...@repetae.net> wrote: > 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 _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe