On Wed, Aug 29, 2012 at 12:01 PM, Philip Holzenspies <p...@st-andrews.ac.uk>wrote:
> Dear GHCers, > > I'm performing traversals over GHC-API results (HsSyn et al). For this > purpose, I'm using SYB generics. > > I found that I couldn't use "ext1Q" for a function with type "Data x => > Bag x -> String", i.e. that this function was never applied. The source of > Bag's instance of the Data class seems to explain why: > > > instance Data a => Data (Bag a) where > gfoldl k z b = z listToBag `k` bagToList b -- traverse abstract type > abstractly > toConstr _ = abstractConstr $ "Bag("++show (typeOf (undefined::a))++")" > gunfold _ _ = error "gunfold" > dataTypeOf _ = mkNoRepType "Bag" > Btw, where is this instance defined? Thanks, Pedro > > > Is there a rationale to not allow gunfolds and to keep toConstr abstract? > More to the point for my needs, is there a reason to not allow dataCast1 > casting of Bags? > > Regards, > Philip > _______________________________________________ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@haskell.org > http://www.haskell.org/mailman/listinfo/glasgow-haskell-users >
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users