
#10359: Tuple constraint synonym led to asymptotic performance lossage -------------------------------------+------------------------------------- Reporter: axch | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Runtime | (amd64) performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by axch): In my actual use case, `test3` doesn't compile. The difference is that `Box` is also existentially quantified over the type of `obj`, because I want a heterogeneous collection of `Box`es. Translated to this context, the compilation error is {{{ Bug2.hs:51:29: Record update for insufficiently polymorphic field: obj :: a In the expression: b {obj = func number obj} In an equation for `do_step3': do_step3 number b@(Box {..}) = b {obj = func number obj} }}} Offending source file enclosed. I reproduce `test` and `test4`, just to confirm that they still execute but with bad asymptotics; I elide `test2`, which is what I ended up doing to get rolling. Is this compilation error also a bug? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10359#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler