package vsrocq-language-server

  1. Overview
  2. Docs
VSRocq language server

Install

dune-project
 Dependency

Authors

Maintainers

Sources

vsrocq-language-server-2.3.4.tar.gz
md5=622048b033c1a214ffbb6f63872fcaa0
sha512=b4140879479fbc8318130e9b258c90597b4c02dd115882ca1b590046c2204dacaf94b3e50cd9b5bb61cd59462bd4edf7927b787eeb3c113fc066a7697c08c61b

doc/vsrocq-language-server.dm/Dm/Scheduler/index.html

Module Dm.SchedulerSource

The scheduler is the component in charge of planning the execution of sentences. It also defines the task delegation strategy, and computes dependencies between tasks. Scheduling can be done incrementally.

Sourcetype state

State for incremental schedule construction

Sourceval initial_state : state
Sourcetype error_recovery_strategy =
  1. | RSkip
  2. | RAdmitted
Sourcetype task =
  1. | Skip of {
    1. id : Types.sentence_id;
    2. error : Pp.t option;
    }
  2. | Block of {
    1. id : Types.sentence_id;
    2. synterp : Vernacstate.Synterp.t;
    3. error : Pp.t Loc.located;
    }
  3. | Exec of executable_sentence
  4. | OpaqueProof of {
    1. terminator : executable_sentence;
    2. opener_id : Types.sentence_id;
    3. proof_using : Vernacexpr.section_subset_expr;
    4. tasks : executable_sentence list;
    }
  5. | Query of executable_sentence
Sourcetype schedule

Holds the dependencies among sentences and a schedule to evaluate all sentences

Sourceval initial_schedule : schedule
Sourceval schedule_errored_sentence : Types.sentence_id -> Pp.t Loc.located -> Vernacstate.Synterp.t -> schedule -> schedule

Identifies the structure of the document and dependencies between sentences in order to easily compute the tasks to interpret the a sentence. Input sentence is None on parsing error.

Sourceval task_for_sentence : schedule -> Types.sentence_id -> Types.sentence_id option * task

Finds the task to be performed and the state on which the task should run

Computes what should be invalidated

Sourceval string_of_schedule : schedule -> string