Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose internals #121

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

typedrat
Copy link

@typedrat typedrat commented Sep 8, 2019

Fixes #118.

This exposes what you need to write your own backend, as shown by haskeline-brick. Please squash this if it gets merged!

@bjartur
Copy link

bjartur commented Sep 13, 2019

Exposing these modules only under System.Console.Haskeline.Internal implies that they have an unstable API that can be expected to break compatibility even between minor versions of Haskeline. Is this API not stable enough to retain compatibility for most or all of this functionality across minor versions, and simply bump a major version if any of these change later?

@typedrat
Copy link
Author

I don’t know how stable they are, but this sort of thing is Internal in purpose at least, since it should only be used by people who know what they’re doing.

@romanofski
Copy link

I've actually came back here to see this pull request to my surprise. I've tested this pull request and it would totally help outsiders to use the API in order to write a widget like the Brick <-> Haskeline widget. Would it be possible to merge this and if not give a hint what would need to happen to expose some of the internals like in this pull request?

@frasertweedale
Copy link

@judah ping. What do you think about this PR? It would be very helpful for purebred and other brick-based terminal programs.

@frasertweedale
Copy link

Ping @judah, @bgamari. When able, please review and consider merging this PR.

@4eUeP
Copy link

4eUeP commented Apr 20, 2023

Any updates? Ping @judah @bgamari

@4eUeP
Copy link

4eUeP commented Apr 20, 2023

Also maybe we can add a warning notice like the ByteString package's Data.ByteString.Internal:

-- A module containing semi-public 'ByteString' internals. This exposes the
-- 'ByteString' representation and low level construction functions. As such
-- all the functions in this module are unsafe. The API is also not stable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

New brick backend?
5 participants