hls-graph: Haskell Language Server internal graph API

[ apache, development, library ] [ Propose Tags ] [ Report a vulnerability ]
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, 2.0.0.0, 2.0.0.1, 2.1.0.0, 2.2.0.0, 2.3.0.0, 2.4.0.0, 2.5.0.0, 2.6.0.0, 2.7.0.0, 2.8.0.0, 2.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 2023-09-29T08:52:46Z
Distributions Arch:1.9.0.0, NixOS:2.9.0.0
Reverse Dependencies 16 direct, 24 indirect [details]
Downloads 6607 total (180 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-09-29 [all 1 reports]

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