Files
woofworkflows-poc/WoofWorkflows/StepDag.fs
Smaug123 eb3fa03b15 compiles
2023-12-21 15:16:49 +00:00

22 lines
631 B
Forth

namespace WoofWorkflows
type StepDag<'a, 'plat> = private | StepDag
type SealedStepDag<'a, 'plat> = private | SealedStepDag
type Step<'a> = private | Step
type Comp<'a> = private | Comp of (unit -> 'a)
[<RequireQualifiedAccess>]
module Comp =
let make (x : 'a) : Comp<'a> = Comp (fun () -> x)
[<RequireQualifiedAccess>]
module StepDag =
let empty<'a, 'plat> (v : 'a) : StepDag<'a, 'plat> = StepDag
let addStep (name : string) (step : 'a Step) (cont : 'a -> StepDag<'b, 'plat>) : StepDag<'b, 'plat> =
failwith ""
let seal<'a, 'plat> (s : StepDag<'a, 'plat>) : SealedStepDag<'a, 'plat> = SealedStepDag