Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider using a typed path library #4277

Open
michaelpj opened this issue Jun 4, 2024 · 1 comment
Open

Consider using a typed path library #4277

michaelpj opened this issue Jun 4, 2024 · 1 comment
Labels
type: enhancement New feature or request ZuriHac This issue is suitable for ZuriHac Hacking sessions

Comments

@michaelpj
Copy link
Collaborator

Is your enhancement request related to a problem? Please describe.

Making paths absolute can be a bit tricky for us, since it's somewhat unclear where HLS is supposed to be running, and hence what relative paths are supposed to be relative to.

But at the moment we don't even really know the scope of the problem. Hopefully, most of the time we are dealing with absolute paths, but we have various random places where we make things absolute. It would make things a lot clearer if this was tracked in the types.

Describe the solution you'd like

Use one of the typed path libraries for file paths. We might also need to adjust our NormalizedFilePath and NormalizedUri types to track whether they are relative or absolute, but ideally we would use the same mechanics there as whatever typed path library we use.

Describe alternatives you've considered

Roll our own typed path library. This might be worth it if it's not much code.

@michaelpj michaelpj added type: enhancement New feature or request ZuriHac This issue is suitable for ZuriHac Hacking sessions labels Jun 4, 2024
@michaelpj
Copy link
Collaborator Author

We could also track other information in the types, e.g. "is it a Haskell or Cabal file" or "is it a project or non-project file".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement New feature or request ZuriHac This issue is suitable for ZuriHac Hacking sessions
Projects
Development

No branches or pull requests

1 participant