This is a Haskell package of cross-platform file handling for Unix/Mac/Windows.
The current Haskell modules have following shortcomings:
getModificationTime exists in System.Directory. But getAccessTime,
getStatusChangeTime, getCreationTime do not exist.
getModificationTime returns obsoleted type, ClockTime. It should
return modern type, UTCTime, I believe.
Some file functions are missing. A function to tell the link counter,
for instance.
Path separator is not unified. Even though Windows accepts ‘/’ as a
file separator, getCurrentDirectory in System.Directory returns ‘\’
as a file separator. So, we need to specify regular expression like
this: “[/\]foo[/\]bar[/\]baz”.
getHomeDirectory returns HOMEDRIVE/HOMEPATH instead of the HOME
environment variable on Windows.
This package aims to resolve these problems.
Changes
v0.2.6
Supporting GHC 9.2 or later only.
Fixing setFileSize leaking a file handle on Windows.
hasSubDirectories returns Nothing on Windows instead of
throwing an exception.
Documenting that timestamps are truncated to seconds and that
canonicalizePath may return a path with \ on Windows.
v0.2.5
setFileSizer can be built but raises an error for GHC < 8.10.6.
#10
v0.2.4
Providing setFileSize.
v0.2.3
Catching up the current environment (2018 -> 2023)
#7