hls-graph: Haskell Language Server internal graph API

[ apache, development, library ] [ Propose Tags ]

Flags

Manual Flags

NameDescriptionDefault
pedantic

Enable -Werror

Disabled
embed-files

Embed data files into the shake library

Disabled
stm-stats

Collect STM transaction stats

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 1.3.0.0, 1.4.0.0, 1.5.1.0, 1.5.1.1, 1.6.0.0, 1.7.0.0, 1.8.0.0, 1.9.0.0
Dependencies aeson, async (>=2.0), base (>=4.12 && <5), bytestring, containers, deepseq, directory, exceptions, extra, filepath, focus, hashable, js-dgtable, js-flot, js-jquery, list-t, stm, stm-containers, text, time, transformers, unliftio, unordered-containers [details]
License Apache-2.0
Copyright The Haskell IDE Team
Author The Haskell IDE Team
Maintainer The Haskell IDE Team
Category Development
Home page https://github.com/haskell/haskell-language-server#readme
Bug tracker https://github.com/haskell/haskell-language-server/issues
Source repo head: git clone https://github.com/haskell/haskell-language-server
Uploaded by hls_team at 2022-12-26T14:54:18Z
Distributions Arch:1.7.0.0, NixOS:1.9.0.0
Reverse Dependencies 14 direct, 23 indirect [details]
Downloads 2926 total (151 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-12-26 [all 1 reports]

Readme for hls-graph-1.9.0.0

[back to package description]

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