unisonweb/unison

`manageLinks` in `HandleInput` should have a stronger type

Open

#1,443 opened on Apr 20, 2020

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Haskell (304 forks)batch import
help wantedtech debt

Repository metrics

Stars
 (6,624 stars)
PR merge metrics
 (Avg merge 12d 19h) (6 merged PRs in 30d)

Description

The current type of this function is:

    manageLinks :: [(Path', NameSegment.HQSegment)]
                -> [HQ.HashQualified]
                -> (forall r. Ord r
                    => (r, Reference, Reference)
                    ->  Branch.Star r NameSegment
                    ->  Branch.Star r NameSegment)
                -> Action m (Either Event Input) v ()

Since it takes names rather than references, it has to parse those names. This is probably OK for now, but may run into strange corner cases later.

Contributor guide