Skip to content

Path refactoring in ResolvePath, Dirname and FileTest - #122

Merged
harendra-kumar merged 7 commits into
masterfrom
refactor-changes
Oct 23, 2026
Merged

harendra-kumar merged 7 commits into
masterfrom
refactor-changes

Conversation

@harendra-kumar

Copy link
Copy Markdown
Member
  • Rename doesItExist to pathExists.
  • Move splitRoot from Dirname to a new internal Streamly.Coreutils.Path module, so that ResolvePath can share the UNC root fix.
  • Replace filepath with streamly Path operations in ResolvePath. RequireParents now accepts missing/, as GNU realpath -E does.
  • Make ResolvePath internal until streamly-core 0.4, which may provide path resolution on Path. Its doctests no longer run in CI.

ResolvePath needs the same UNC share root fix for streamly-core < 0.4.
Collapse .. with Path components, compare components with eqPathBytes,
and check the parent with dirname. dirname ignores trailing separators,
so RequireParents now accepts "missing/" like GNU realpath -E;
takeDirectory gave "missing".
streamly-core 0.4 may provide path resolution on Path, wait for it
before committing to this API. The test suite builds the module from
src. cabal-docspec skips internal modules, so its doctests do not run.
cabal ignored CABAL_BUILDDIR in the environment, so the Windows build
used dist-newstyle and hit the path length limit in hsc2hs.
@harendra-kumar
harendra-kumar merged commit 809565f into master Oct 23, 2026
14 checks passed
@harendra-kumar
harendra-kumar deleted the refactor-changes branch October 23, 2026 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant