On Sat, Nov 27, 2010 at 8:38 PM, Jinjing Wang <nfjinj...@gmail.com> wrote: > Hi Michael, you are absolutely correct, cabal did set the flags automatically. > > To sum up, here's what needs to be done: > > * add `flag ghc7` as a field in cabal > * add: > > if flag(ghc7) > build-depends: base >= 4.3 && < 5 > cpp-options: -DGHC7 > else > build-depends: base >= 4 && < 4.3 > > in library field in cabal > > * add `{-# LANGUAGE CPP #-}` in source file > * add > > #if GHC7 > x > > #else > y > > #endif > > > Hi Antonine, I don't know how to not set those fields in the > constructor.. as a QQ noob, I'm just hacking on some legacy code. This > code doesn't compile in GHC7, so I have to do this trick. > > * https://github.com/nfjinjing/mps/blob/master/src/MPS/TH.hs >
Something like: myQuoter = QuasiQuoter { quoteExp = expQuoter, quotePat = patQuoter } Will work in either version, but it will leave the un-set fields set to `undefined`, so you'll get a compile error if you try to use them. I haven't tested this, but I've done it with other record types. Take care, Antoine _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe