You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Text.Gigaparsec re-exports some and many from Control.Applicative, whose documentation for these combinators is crap.
We could either:
Define local versions that just inline to the applicative versions: many = Control.Applicative.many {-# inline many #-}, and attach better documentation to these. I don't know if there may be downsides to this. Plus, it seems bad to change the implementation for the sake of documentation, although I know user-friendliness is a specific goal of gigaparsec.
Figure out a way to override the documentation of re-exports in haddock.
The text was updated successfully, but these errors were encountered:
Yes, it's frankly infuriatingly bad. See also (<|>).
The original parsec did expose it's own versions of these combinators, allowing for good docs. The downside is that these are treated as specific by GHC, and if you want to use the more generic operations, you'll need to explicitly hide gigaparsecs.
Long term, the right solution would probably be a GHC proposal to allow for haddock to be overwritten by instances, and re-exported. In turn the docs would be picked up for the library, and if the type is monomorphic enough, even when used in the IDE (this is how Scaladoc works, for instance). Perhaps I should have made that a Master's project for this year to implement...
Text.Gigaparsec re-exports
some
andmany
fromControl.Applicative
, whose documentation for these combinators is crap.We could either:
many = Control.Applicative.many {-# inline many #-}
, and attach better documentation to these. I don't know if there may be downsides to this. Plus, it seems bad to change the implementation for the sake of documentation, although I know user-friendliness is a specific goal ofgigaparsec
.The text was updated successfully, but these errors were encountered: