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

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

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
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, primitive, stm, stm-containers, time, transformers, unordered-containers [details]
License Apache-2.0
Copyright The Haskell IDE Team
Author The Haskell IDE Team
Maintainer The Haskell IDE Team
Revised Revision 1 made by Bodigrim at 2022-07-06T19:34:50Z
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-04-27T09:22:28Z
Distributions Arch:1.4.0.0, NixOS:1.7.0.0
Downloads 2124 total (83 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-04-28 [all 1 reports]

Readme for hls-graph-1.7.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