haskell / haskeline

A Haskell library for line input in command-line programs.
https://hackage.haskell.org/package/haskeline
BSD 3-Clause "New" or "Revised" License
221 stars 75 forks source link

Derive MonadBase instance for InputT #40

Closed mitchellwrosen closed 5 years ago

mitchellwrosen commented 8 years ago

This change is Reviewable

judah commented 8 years ago

Thanks for the patch.

I'm generally conservative about these sorts of changes because haskeline is a dependency of ghc, so any dependencies of haskeline become dependencies of ghc. See also a similar discussion in #24 about making haskeline depend on the "exceptions" package. If you can get consensus from the ghc-devs about depending on making such a package a boot requirement, then I'd be fine with adding the dependency.

In the meantime, maybe it's worth making an intermediate package with the orphan instance? Is that feasible using Control.Monad.Base.liftBaseDefault?

mitchellwrosen commented 8 years ago

Ah, I didn't realize this is a dependency of GHC! For now, I'll just add an orphan instance in my app.