Moving the abstract filepath proposal forward
Julian Ospald
hasufell at posteo.de
Mon Aug 16 18:57:33 UTC 2021
Hi,
as was discussed some time ago, I'd like to move the AFPP forward:
https://discourse.haskell.org/t/reviving-the-abstract-filepath-proposal-afpp-in-user-space/2344
If you need a refresher on the original proposal, have a look here:
https://gitlab.haskell.org/ghc/ghc/-/wikis/proposal/abstract-file-path
The idea was to implement it in user-space first. I think I have now
assembled a version that should withstand initial review:
* code: https://github.com/hasufell/abstract-filepath
* rendered docs: https://files.hasufell.de/jule/abstract-filepath/
What changed wrt the original proposal is this:
1. created a `OsString` newtype and `AbstractFilePath` is just a type
synonym to it (this is somewhat similar to how rust does it...
filepaths are not the only thing that syscalls expect in UTF16 on
windows)
2. added `OsWord` as well
The types are all here:
* https://files.hasufell.de/jule/abstract-filepath/AFP-OsString-Internal-Types.html
* https://files.hasufell.de/jule/abstract-filepath/AFP-AbstractFilePath-Internal-Types.html
How to move forward?
1. get actual code reviews... rather on the issue tracker than here:
https://github.com/hasufell/abstract-filepath/pull/4/files
2. discuss whether some of the ByteString stuff (we operate mostly on
ShortByteString here and I added lots of new functions) should
be fed back into the 'bytestring' package
3. discuss how to split the package (probably need one only for the
types, so e.g. core libraries could have a light import)
4. start writing patches for unix and Win32
Please, help and comments appreciated. This can only be done as a
combined effort. The CLC, last time I asked, was behind this approach.
Cheers,
Julian
More information about the Libraries
mailing list