hls-graph: Haskell Language Server internal graph API

[ apache, development, library ] [ Propose Tags ]


[Last Documentation]

  • Control
    • Concurrent
      • STM
        • Control.Concurrent.STM.Stats
  • Development
    • IDE
      • Development.IDE.Graph
        • Development.IDE.Graph.Classes
        • Development.IDE.Graph.Database
        • Internal
          • Development.IDE.Graph.Internal.Action
          • Development.IDE.Graph.Internal.Database
          • Development.IDE.Graph.Internal.Options
          • Development.IDE.Graph.Internal.Paths
          • Development.IDE.Graph.Internal.Profile
          • Development.IDE.Graph.Internal.Rules
          • Development.IDE.Graph.Internal.Types
        • Development.IDE.Graph.KeyMap
        • Development.IDE.Graph.KeySet
        • Development.IDE.Graph.Rule
  • Paths_hls_graph


Manual Flags


Enable -Werror


Embed data files into the shake library


Collect STM transaction stats


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


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS],,,,,,,,,,,,,,,,
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-10-10T17:54:02Z
Distributions Arch:, NixOS:
Reverse Dependencies 16 direct, 24 indirect [details]
Downloads 4876 total (262 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2023-10-10 [all 2 reports]

Readme for hls-graph-

[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.


  • 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