-
Notifications
You must be signed in to change notification settings - Fork 16
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
[Question] Splitting OsString out of filepath
#221
Comments
Consider With |
I'll use version
We have four combinations, old-old, new-new, old-new, new-old:
So there is possible conflict. I don't think it's that bad. If users depend (possibly transitively) on both
Or just require That said, |
The situation looks similar to the one described at |
Ok, so the idea would be:
Since those will be boot packages, do we require both |
|
@hasufell is there anything else to discuss here? |
I want to split
OsString
modules out of filepath.Motivation
OsString
modules are accumulating more and more functionality that doesn't really belong in filepath. See haskell/filepath#202Execution
Remarks/open questions
The current approach has couple of caveats:
filepath
still keepsOsString
modules, but deprecation warnings are added, telling you to useos-string
os-string
keeps the module paths (e.g.System.OsString
)filepath
andos-string
they might need to usePackageImports
to avoid compile failures of ambiguous module namesI see two alternatives:
filepath
and just break API and do a major PVP bumpOsString
modules inos-string
package, e.g.Data.OsString
instead of currentSystem.OsString
to avoid module name clashesI think I personally prefer the
PackageImports
approach. Renaming modules is a different type of annoyance. Breaking API immediately is possible and would require maintaining two major version branches.Opinions?
The text was updated successfully, but these errors were encountered: