package MlFront_Thunk

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module MlFront_Thunk.BuildSchedulersSource

An OCaml embedding of the build system schedulers described in "Build systems à la carte: Theory and practice".

This embedding is not necessary for MlFront thunks; we can implement thunks without using a generalized framework! However, this embedding may aid modifications to thunk implementations.

Confer 4 Schedulers.

Andrey Mokhov, Neil Mitchell, and Simon Peyton Jones. 2018. Build Systems à la Carte. Proc. ACM Program. Lang. 2, ICFP, Article 79 (September 2018) 
doi:10.1017/S0956796820000088
Sourcemodule type SCHEDULER = sig ... end

The type of scheduler build system components.

Sourcemodule type SCHEDULER_EVENTS = sig ... end

State (information recaller) for a scheduler that can listen and react to scheduler events.

Sourcemodule SuspendingSchedulerAsync (IR : BuildSystems.ABSTRACT_TYPE) (K : sig ... end) (KSet : Set.S with type elt = K.t) (V : BuildSystems.ABSTRACT_TYPE) (O : BuildSystems.ORIGIN_WITH_DEPTH with type k = K.t) (I : BuildSystems.ABSTRACT_TYPE) (S : BuildSystems.MUTABLE_STORE with type i = I.t and type k = K.t and type v = V.t) (SM : BuildSystems.MUTABLE_STORE_MESSAGES with type k = K.t and type v = V.t) (P : BuildConstraints.PROMISE_IMPL) (C : BuildConstraints.MONAD_STATE_WRITER_ASYNC with type 'a promise = 'a P.promise) (SE : SCHEDULER_EVENTS with type k = K.t and type uc = unit C.t) (CAccess : sig ... end) (R : BuildRebuilders.REBUILDER_ASYNC with type vc = V.t C.t and type k = K.t and type v = V.t and type o = O.t and type ir = IR.t) (Tasks : BuildSystems.TASKS with type k = K.t and type vc = V.t C.t and type lifted_vc = R.rebuilt_vc and type o = O.t) : sig ... end

Build system component - an asynchronous suspending scheduler.