
#13080: Memory leak caused by nested monadic loops -------------------------------------+------------------------------------- Reporter: Feuerbach | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): If we write {{{#!hs foo = ... where bar = ... where baz = ... }}} do we intend for `bar` to be recomputed on each call to `foo`, or shared globally? Do we intend for `baz` to be recomputed on each call to `bar`, or on each call to `foo`, or shared globally? The compiler doesn't know. Worse, experienced Haskell developers have gotten used to the way GHC tends to float things around, so making things simpler and more predictable is likely to turn a lot of currently-good code bad. Maybe Joachim's `oneShot` can help in some places? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13080#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler