@hackage hls-graph2.14.0.0
Haskell Language Server internal graph API
Categories
License
Apache-2.0
Maintainer
The Haskell IDE Team
Links
Versions
Installation
Dependencies (25)
- aeson
- async >=2.0
- base >=4.12 && <5
- bytestring
- containers
- deepseq Show all…
Dependents (17)
@hackage/hls-overloaded-record-dot-plugin, @hackage/hls-refactor-plugin, @hackage/hls-semantic-tokens-plugin, @hackage/ghcide-bench, @hackage/hls-explicit-imports-plugin, @hackage/hls-refine-imports-plugin, Show all…
Package Flags
pedantic
(off by default)
Enable -Werror
embed-files
(off by default)
Embed data files into the shake library
stm-stats
(off by default)
Collect STM transaction stats
hls-graph - a limited reimplementation of Shake for in-memory build graphs
ghcide was originally built on top of Shake, a Haskell build system. Nowadays Shake has been replaced by a special purpose implementation of a build graph called hls-graph, which drops all the persistency features in exchange for simplicity and performance.
Features:
- Dynamic dependencies
- User defined rules (there are no predefined File rules as in Shake)
- Build reports (a la Shake profiling)
- "Reactive" change tracking for minimal rebuilds (not available in Shake)
What's missing:
- Persistence
- A default set of rules for file system builds
- A testsuite
- General purpose application - many design decisions make assumptions specific to ghcide