MercuryTechnologies / ghciwatch

Load a GHCi session for a Haskell project and reload it when source files change
https://mercurytechnologies.github.io/ghciwatch/
MIT License
111 stars 10 forks source link

`ModuleSet`: store a set rather than a map #292

Closed 9999years closed 4 months ago

9999years commented 4 months ago

Previously, a ModuleSet wrapped a HashMap<NormalPath, TargetKind>. This had a number of undesirable consequences:

Now, a ModuleSet wraps a HashSet<LoadedModule>.

9999years commented 4 months ago

I tried making the LoadedModule fields public and replacing ModuleSet with HashSet<LoadedModule>. The diff was +67 -148 (net -81 lines). I like the type safety and the implementation of ModuleSet has changed before, so I'm inclined to keep it at least for now.

github-actions[bot] commented 4 months ago

A PR to release these changes has been created, bumping the version from 1.0.0 to 1.0.1.