Closed quickdudley closed 4 years ago
I'm willing to take that on.
An alternative to exposing the constructor is to just define askUnliftIO
and withRunInIO
here as top-level functions. The orphan instance definition in another package can then just re-use these functions.
Thanks again for this improvement!
Thank you for the patch. Unfortunately, I don't think it's feasible for us to support it at this time. Haskeline is a core dependency of GHC and included as part of its build. As a result, I tend to be pretty conservative about adding more dependencies to avoid increasing complexity in GHC. See in particular the recent effect of adding a dependency on
exceptions
: https://gitlab.haskell.org/ghc/ghc/issues/16752As an alternative, we could consider developing a package with this change as an orphan instance. If that requires exposing
InputT
's constructor, maybe we could do so in aSystem.Console.Haskeline.Internal
module, with a suitable warning about the API not being as stable. Let me know if you're interested in taking that on.