I wrote the OsPath
layer.
If you can, try to use it. Here’s the blog post explaining it: 2022-06-29-fixing-haskell-filepaths · Hasufell's blog
Some core libraries already support it: directory
, unix
and Win32
all do.
optparse-applicative
does not. I’ve done some work towards that goal: bytestring parser · Issue #65 · pcapriotti/optparse-applicative · GitHub
So what I’m trying to do now is provide the complete text/bytestring API for OsString
. That will require splitting out a new package os-string
or so, because it really doesn’t belong in filepath anymore:
That’s all non-trivial work and I’ve been sick a lot lately.
Wrt path
library: I don’t believe in it, because it tries to shove the file vs dir distinction into the type level. But that’s more of a runtime property of filepaths than anything else. So I created hpath, which also has its own io package etc., because I was dissatisfied with base
and directory
. However, I haven’t found the time to migrate it to OsPath
either. Right now it only supports unix and is ByteString
based, unlike path
(which still uses FilePath
).