#4061: Implement mutually recursive view patterns
---------------------------------+------------------------------------------
Reporter: batterseapower | Owner:
Type: feature request | Status: new
Priority: normal | Component: Compiler
Version: 6.13 | Keywords:
Os: Unknown/Multiple | Testcase:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
I got bit by the fact that mutually recursive view patterns don't work
when writing code a bit like this:
{{{
{-# LANGUAGE ViewPatterns #-}
module RecursiveViewPatterns where
-- Doesn't work: "Not in scope: 'foo'"
(foo, unzip -> (bars, bazs)) = undefined
(spqr, ($ foo) -> metavariable) = undefined
-- Works fine:
-- (foo, unzip -> (bars, bazs)) = undefined
-- (spqr, mk_metavariable) = undefined
-- metavariable = mk_metavariable foo
}}}
(I've started using view patterns very aggressively to eliminate almost
every linearly-used binding in my programs!)
I note that the GHC users guide
(http://www.haskell.org/ghc/docs/6.12.1/html/users_guide/syntax-
extns.html) mentions that this feature is not yet implemented, but the
restriction may be lifted in future. Consider this ticket a vote for that
change.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4061>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs