Repository F# setup
open System
open System.IO
open System.Threading
open System.Threading.Tasks
open Axial
open Axial.Layers
open Axial.Console
open Axial.FileSystem
open Axial.Hosting
open Axial.Hosting.Browser
open Axial.Hosting.Node
open Axial.HttpClient
open Axial.PlatformService
open Axial.Process
open Axial.State
open Axial.Telemetry
open Axial.Telemetry.JavaScriptAxial.Process represents external work as an immutable ProcessSpec. Building a specification performs no I/O. Process.run asks the IProcess service to interpret it in the current Flow runtime.
open Axial.Process
let version =
Process.command "dotnet" [ "--version" ]
|> Process.timeout (TimeSpan.FromSeconds 10)
|> Process.runThe live interpreter receives its operational dependencies explicitly:
let process = Process.live clock fileSystem consoletype AppEnv =
{ Processes: IProcess }
interface IHasProcess with member this.Process = this.Processes
06-services_04-processes__index.md_page.AppEnvProcesses: IProcessAxial.Process.IProcessInterprets process specifications as lazy Axial workflows for a concrete host platform.
Axial.Process.IHasProcessDeclares that an environment supplies the process service. Implement this on the environment record supplied at the host edge. A workflow that runs processes constrains its environment with 'env :> IHasProcess.
this: AppEnvProcess: AppEnv -> unit -> IProcess
