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

Split OsString into separate package #203

Closed
wants to merge 7 commits into from
Closed

Conversation

hasufell
Copy link
Member

@hasufell hasufell commented Oct 19, 2023

Since #202 introduces significant new API that really doesn't belong into filepath anymore, I want to split out the packages

This means GHC will need a new boot package os-string: https://github.com/haskell/os-string

@bgamari @mpickering @Bodigrim

Copy link
Contributor

@Bodigrim Bodigrim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have bandwidth to look into details, but the split sounds good to me.

@hasufell
Copy link
Member Author

I don't have bandwidth to look into details, but the split sounds good to me.

The caveat is this: if a user adds both filepath and os-string to their dependencies they may get compile error if using modules that exist in both, due to deprecation period. That can easily be fixed with PackageImports. But it isn't a breaking change, technically.

In order to push people into using os-string, I'd prefer to not release the bytestring API in filepath.

@hasufell
Copy link
Member Author

It also means: after the deprecation period, we'll have to do a major PVP bump to filepath, incurring some maintenance cost to stackage etc.

@hasufell
Copy link
Member Author

The other options is to rename all module prefixes System.OsString to Data.OsString in os-string package. That way there won't be module name clash. But it's debatable which one is more annoying.

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.

None yet

2 participants