
#13689: Data.Either doesn't export INLINABLE short functions like "rights" -------------------------------------+------------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: infoneeded Priority: normal | Milestone: Component: Core Libraries | Version: 8.0.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect API | Unknown/Multiple annotation | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata): `INLINEABLE` might be reasonable. Isn’t it the case that the unfolding stored in the interface will be the un-optimized one (i.e. not the large thing visible up there?) Or is the large code directly the result of the desugared list comprehension (instead of applying rules to the resulting code)?
Yes, we could give lefts and rights the same treatment that we give filter and give it a "naive" definition, alongside some fusible definitions with rules to map one to the other, but I think this is a lot of complexity for little pay-off.
Probably not worth it. `lefts` and `rights` are already defined in terms of fusable things (list comprehensions) – this is different for `filter`, which has a recursive definition. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13689#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler