Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Introduce service layer/support #753

Open
@alanz

Description

@alanz

I am looking at extending the support for liquid haskell, to include launching the liquid haskell exe when a file is saved.

But since these can be long-running processes, there are a whole lot of coordination issues around it, similar to what we already face for GHC via ghc-mod.

The essence of these is that we have a single thread doing the processing, a queue of pending tasks to be done, and the ability to cancel a given task if it becomes unnecessary or is superseded by another. e.g. an additional series of file changes, you only want to process the file in its final state.

And strictly speaking we should do the same for hlint processing too, although that is generally fast enough that it is not a problem.

But I think it may be worthwhile to abstract the processing queue model, so that it can be available for other diagnostics processors too, making it easier to plug them in.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions