#5333: Arrow command combinators and infixr cause the desugarer to fail
----------------------------------+-----------------------------------------
Reporter: peteg | Owner: ross
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler (Parser) | Version: 7.0.3
Keywords: | Testcase:
Blockedby: | Difficulty:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: GHC rejects valid program
----------------------------------+-----------------------------------------
Changes (by ross):
* owner: => ross
Comment:
Yes, I noticed a lot of sighing around the rebindable stuff. It sounds
like a good idea to have a separate HsCmd type, with a corresponding
variant of Stmt. #5045 would have been caught by the type-checker if that
had been in place. But duplicating MatchGroup and friends would be a
nuisance. That might be saved if they were generalized to something like
{{{
type MatchGroup = MatchGroupG HsExp
data MatchGroupG e id
= MatchGroup
[LMatchG e id]
PostTcType
type LMatch = LMatchG HsExp
}}}
and so on.
Splitting the types won't fix the current bug, but it's probably best to
do that first and then rework the rebinding for arrows properly. My
algorithm for the first part would be to copy everything and then simplify
the arrow version.
Unfortunately I'll be online only intermittently until September.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5333#comment:4>
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