haskell / haskell/filepath

Use `/` as `pathSeparator` also on Windows

Open
#170 2 comments 1 reaction 0 assignees View on GitHub
Dominant language
Haskell
Stars
74
Forks
38
PR merge metrics
No merged PRs in 30d

Description

In GitLab by @andreasabel on Dec 8, 2022, 17:06

Windows supports `/` as path separator. (Apparently, since forever, which I didn't know, but this discussion even says DOS already accepted it: https://bytes.com/topic/python/answers/23123-when-did-windows-start-accepting-forward-slash-path-separator.)

Making `pathSeparator` uniformly `'/'` would _increase_ the portability of Haskell CLI programs to Windows.
I think differentiating needlessly between OSs here is a _hindrance_ to portability rather than an enabler of portability.

Here are examples where e.g. golden value testsuites break on Windows because of that non-uniformity of path separators:
- https://github.com/fugue/goldplate/issues/29
- https://github.com/agda/agda/issues/5549

Switching `pathSeparator` would of course be a major backwards-incompatibility, so there should be maybe a major-major version bump to `2.x`.
(If this issue is accepted, one could think about migration routes.)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the pathSeparator definition and reviewing how its platform-specific value is used. Compare the golden-test failures linked in the issue, assess the stated backwards incompatibility and migration options, and consider the required major version change before defining done.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.