#1999: panic with GADT etc.
----------------------------+-----------------------------------------------
Reporter: jeltsch | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 6.10 branch
Component: Compiler | Version: 6.9
Resolution: | Keywords:
Testcase: T1999, T1999a | Blockedby:
Difficulty: Unknown | Os: Linux
Blocking: | Architecture: x86
Failure: None/Unknown |
----------------------------+-----------------------------------------------
Comment(by ganesh):
OK, now I'm very confused about what exactly is being broken here :-)
The example given in the paper is
{{{
data Eq a b where EQ :: Eq a a
f :: Eq (p q) (r s) → q → s
f EQ x = x
}}}
As I understand it, that's dodgy if p or r are type functions, but the
previous restriction on unsaturated type functions meant that couldn't
arise (as I understand it). In FC2 type functions can be unsaturated but
the code above is illegal because you can't decompose arbitrary type
applications. But you can still decompose applications of a known datatype
constructor, so I think I can still work around the restriction by just
specialising my example above, replacing 's' in my example above with the
actual datatype constructor needed. But as you say your beta-reduction
code already seems to be using concrete datatype constructors so I must be
missing something.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1999#comment:17>
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