Closed hasufell closed 7 months ago
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.
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.
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.
Since https://github.com/haskell/filepath/pull/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