Hi Philip,

On Fri, May 11, 2012 at 5:12 PM, "Philip K. F. Hölzenspies" <
p...@st-andrews.ac.uk> wrote:

>
> However, it turns out that this never leads to an evaluation of
> extTyNamesLoc. I've come as far as to see that, since "Located a" is a
> synonym for "GenLocated SrcSpan a", the type we're looking for really has a
> binary constructor, thus we should use ext2Q.
>
> This made things work: We first modify the function we apply to Located
> things:
>
>
> extTyNamesLoc :: (Data loc, Data a) => SrcSpan -> GenLocated loc a ->
> OccurrenceTable
> extTyNamesLoc l (L l' x) = case cast l' of
> Just l'' -> extTyNames l'' x
> Nothing -> extTyNames l x
>

Do you really need this? Can't you use the definition of `extTyNamesLoc`
shown previously, and redefine `extTyNames` to use `ext2Q`, as in:


> extTyNames l x = (extTyNamesDef l x `mkQ` extTyNamesTy l `ext2Q`
> extTyNamesLoc l) x
>

?


Cheers,
Pedro
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to