#5022: Core Lint error from polymorphic definitions inside arrow rec
-------------------------------+--------------------------------------------
Reporter: serpentologist | Owner: ross
Type: bug | Status: merge
Priority: high | Milestone: 7.4.1
Component: Compiler | Version: 7.0.2
Keywords: infinite loop | Os: Linux
Architecture: x86_64 (amd64) | Failure: None/Unknown
Difficulty: | Testcase:
Blockedby: | Blocking:
Related: |
-------------------------------+--------------------------------------------
Changes (by ross):
* status: new => merge
Comment:
Polymorphic variables inside arrow rec were mishandled in both the
typechecker and the desugarer. This test covers the several issues here
(it should compile):
{{{
import Control.Arrow
pRepeat :: a -> [a]
pRepeat =
proc x -> do
rec
s <- returnA -< f_rec x:s -- f_rec is monomorphic here
let f_later y = y -- f_later is polymorphic here
_ <- returnA -< (f_later True, f_later 'a')
let f_rec y = y -- f_rec is polymorphic here
returnA -< f_later s
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5022#comment:18>
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