#4148: improve new recursive do syntax ---------------------------------+------------------------------------------ Reporter: guest | Owner: Type: feature request | Status: new Priority: low | Milestone: 7.6.1 Component: Compiler | Version: 6.12.3 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown | Testcase: Blockedby: | Blocking: Related: | ---------------------------------+------------------------------------------
Comment(by lerkok): Ross: Strictly speaking, we don't really even need `rec`. Without segmentation, the job of `rec` is so straightforward, I don't think asking people to call `mfix` directly would be a big stretch. Maybe we should do away with the whole thing. Termination is a big issue, and there's a theorem that says segmentation will always improve termination properties. More importantly, I do believe it reflects the user intention better: Two sub-recursive computations shouldn't impact each other provided they don't share any variables. Segmentation guarantees that. Without segmentation, you get unintended interference. However, to put things in perspective, removal of `mdo` isn't really going to impact a lot of folks. Those who need it can clearly work around the issues. So, maybe Ross has the right wisdom in suggesting to go with maximal simplicity. In that case, I'd say we should remove `rec` as well; as it adds very little to the whole story. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4148#comment:18> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs