haskell / haskell/cabal

Introduce Path abstraction

Open
#6,667 3 comments 2 reactions 0 assignees View on GitHub
type: refactor
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

Like the one already used in `hackage-security`.

We want to have `Absolute` rooted `Path`s, but also more specific like `StoreDir`, or `PackageDir` and `ProjectDir` which all would make handling paths a bit more robust.

It would helped a lot in my recent sdist refactor. Getting relative to `PackageDir` paths is tricky, not sure if I haven't missed any.

I however suggest to store these (file paths) in native way. (Not in POSIX like `paths` library does), because I'm quite sure that conversion from Windows to Posix and back won't roundtrip on fancier paths there might be. Therefore we might need separate PosixPath for tarballs etc if we end up needing such notion (and we might, index files...)

Contributor guide

Open the contributing guide

Research direction

Start by comparing the Path abstraction already used in hackage-security and reviewing the recent sdist refactor mentioned in the issue. Investigate how Absolute, StoreDir, PackageDir, and ProjectDir would fit native platform paths, and clarify the required scope and acceptance criteria before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.