> #define defObj(t) newtype t = t Obj deriving (A,B,C,D) Blasphemy! :)
On 14 September 2010 23:01, John Meacham <[email protected]> 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 > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
