[project @ 2003-06-02 13:28:08 by simonpj]
-------------------------------------
Fix the big-tuple-from-desugaring problem
-------------------------------------
The desugarer generates a tuple from
- mutually recursive bindings
- pattern bindings
If either bind a lot of variables, GHC can generate a big
tuple that isn't in the library, with subsequent disaster.
This commit fixes the problem, by using nested tuples. It
does *not* fix the problem with big tuples written by the
user. And there's still a potential desugarer problem with
parallel list comprehensions that bind a lot of variables
(and parallel array comprehensions) -- but I expect they are
much much rarer.
The fix isn't fully tested yet -- I'll try to do that today.