Hello everybody, I wrote me this nice function 'buildRns' which splices in $(varP w) nice and recursively. Unfortunately, this only seems to work in the 7.8 branch, not in 7.6.3. Is this indeed new, or am I missing something obvious? The message is:
ADP/Fusion/TH.hs:106:86: Parse error in pattern: $(varP w)
The code works wonderfully in 7.8. It not only compiles, but also
produces working code in applications. I have no problem waiting until
7.8 is stable, but being backwards compatible to 7.6 would be nice.
Many thanks,
Christian
buildRns f xs [] = appE ([| return . SM.singleton |])
(foldl (\g z -> appE g (varE z)) (return f) xs)
buildRns f xs (VarP v : ys) = buildRns f (xs++[v]) ys
buildRns f xs (TupP [_,VarP v] : ys) = do w <- newName "w"
[| $(varE v) >>= return .
SM.concatMapM (\ $(varP w) -> $(buildRns f (xs++[w]) ys)) |]
-->>>>>
^^^^^^^^^
pgpcaKR7LsFiI.pgp
Description: PGP signature
_______________________________________________ Glasgow-haskell-users mailing list [email protected] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
