Re: my RULES don't fire

2011-02-09 Thread Sebastian Fischer
> > > Why don't the rules fire, > > Because the 'match' is at the wrong type. This was the correct hint, thanks! > > what can I change such that they do, > > Type signatures. > Initially, I thought that just leaving out the polymorphic signature should fix the problem. But I think it cannot be

Re: my RULES don't fire

2011-02-09 Thread Daniel Fischer
On Wednesday 09 February 2011 16:23:15, Sebastian Fischer wrote: > Why don't the rules fire, Because the 'match' is at the wrong type. In main, idGen appears as idGen_anJ :: ([()] -> [[()]]) -> [[()]] -> [[()]] at some point (yay for ghc -v4), so it doesn't match g's polymorphic type. > what ca

Re: my RULES don't fire

2011-02-09 Thread Daniel Fischer
On Wednesday 09 February 2011 16:23:15, Sebastian Fischer wrote: > Why don't the rules fire, what can I change such that they do, and what > to get rid of the warning for the second rule (which I think is the one > I should use)? Didn't spot that, sorry. > > Best regards, > Sebastian > > Here is

my RULES don't fire

2011-02-09 Thread Sebastian Fischer
Hello, I want to use the RULES pragma and cannot get my rules to fire. Here is a simplified example of what I'm trying. I define my own version of foldMap for lists: fold :: Monoid m => (a -> m) -> [a] -> m fold f = foldr mappend mempty . map f -- alternative, trying to avoid interfe