Er.. my mistake. Control.Applicative. That is what it is we don't re-export that is used in Traversal. =)
On Wed, Apr 30, 2014 at 2:47 AM, Edward Kmett <ekm...@gmail.com> wrote: > Not sure. > > An even simpler case is something like exporting a Traversal but not > exporting Data.Traversable, which appears in the expansion, etc. > > These sorts of things happen in code using lens. Older versions of lens > didn't export all of the types needed to write out the type signature long > hand without extra imports, just to avoid cluttering the namespace. > > -Edward > > > On Wed, Apr 30, 2014 at 2:10 AM, Ganesh Sittampalam <gan...@earth.li>wrote: > >> On 23/04/2014 20:04, dm-list-haskell-librar...@scs.stanford.edu wrote: >> > Edward Kmett <ekm...@gmail.com> writes: >> > >> >> You can wind up in perfectly legitimate situations where the name for >> the >> >> type you are working with isn't in scope, but where you can write a >> >> combinator that would infer to have that type. I'd hate to lose that. >> >> >> >> It is admittedly of marginal utility at first glance, but there are >> some >> >> tricks that actually need it, and it can also arise if a type synonym >> >> expands to a type that isn't exported or brought into scope, so trying >> to >> >> push this line of reasoning too far I is possibly not too productive. >> > >> > Good point. In particular, it's not weird at all want to export type >> > synonyms on their own, particularly where ghost type parameters are used >> > to select between only a few cases. Consider something like this >> > (inspired by postgresql-orm): >> >> Is there an abstraction being protected by only exporting the type >> synonym in cases like this? >> >> Cheers, >> >> Ganesh >> > >
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users