haskell / haskell/filepath

normalise should eliminate parent directories on Windows

Open
#57 5 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Haskell
Stars
74
Forks
38
PR merge metrics
No merged PRs in 30d

Description

Windows seems to interpret paths differently than on POSIX systems.

- On POSIX, `/sym/link/../foo` refers to `/target/dir/../foo ≡ /target/foo` (`..` expands after dereferencing).
- On Windows, `C:\sym\link\..\foo` always refers to `C:\sym\foo` (`..` expands before dereferencing).

This feature would be useful to have because if you want to pass in extended-length paths (the `\\?\` prefix) you have to normalize the path before adding the prefix, otherwise the Windows API will interpret `..` literally.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the normalise implementation and its existing tests in the filepath library. Compare current handling of parent directories on POSIX and Windows, then add coverage showing the requested Windows behavior and verify that extended-length paths can be normalized before prefixing.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
operating-systems
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.