Skip to content

Split OsString into separate package#203

Closed
hasufell wants to merge 7 commits intomasterfrom
os-string-split
Closed

Split OsString into separate package#203
hasufell wants to merge 7 commits intomasterfrom
os-string-split

Conversation

@hasufell
Copy link
Copy Markdown
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

@hasufell hasufell requested a review from Bodigrim October 19, 2023 11:24
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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.

2 participants