
#11650: Documentation does not mention that default definitions for Alternative(some, many) can easily blow up -------------------------------------+------------------------------------- Reporter: bgamari | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Documentation | Version: 7.10.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): OK. I noticed that `U1` is also missing a `MonadPlus` instance as well, so we can scoop up all the missing `U1`/`Proxy` instances in another patch. So now that question remains: do we fix `U1`'s `Alternative` instance by overriding `some`/`many`, or do we fix it by making `<*>` lazier? I'm inclined to pick the former, since `U1` is almost always used in the context of GHC generics, and strictly pattern-matching on it is almost always what you intend to do. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11650#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler