val sprintf : format:Printf.StringFormat<'T> -> 'T
Full name: Microsoft.FSharp.Core.ExtraTopLevelOperators.sprintf
type Environment = static member CommandLine : string static member CurrentDirectory : string with get, set static member Exit : exitCode:int -> unit static member ExitCode : int with get, set static member ExpandEnvironmentVariables : name:string -> string static member FailFast : message:string -> unit + 1 overload static member GetCommandLineArgs : unit -> string[] static member GetEnvironmentVariable : variable:string -> string + 1 overload static member GetEnvironmentVariables : unit -> IDictionary + 1 overload static member GetFolderPath : folder:SpecialFolder -> string + 1 overload ... nested type SpecialFolder nested type SpecialFolderOption
Full name: System.Environment
property Environment.MachineName: string
val makeJob : i:'a -> 'b
Full name: index.makeJob
val i : 'a
val failwith : message:string -> 'T
Full name: Microsoft.FSharp.Core.Operators.failwith
Multiple items val byte : value:'T -> byte (requires member op_Explicit)
Full name: Microsoft.FSharp.Core.Operators.byte
-------------------- type byte = Byte
Full name: Microsoft.FSharp.Core.byte
Colour.g: byte
Colour.b: byte
Colour.a: byte
val addTwo : c1:Colour -> c2:Colour -> Colour
Full name: index.addTwo
val c1 : Colour
val c2 : Colour
type Monoid<'a> = {neutral: 'a; op: 'a -> 'a -> 'a;}
Full name: index.Monoid<_>
Monoid.neutral: 'a
Monoid.op: 'a -> 'a -> 'a
val black : Colour
Full name: index.black
val colourAdd : Monoid<Colour>
Full name: index.colourAdd
val c1 : Colour
Full name: index.c1
val c2 : Colour
Full name: index.c2
val l : Colour
Full name: index.l
Multiple items module List
from Microsoft.FSharp.Collections
-------------------- type List<'T> = | ( [] ) | ( :: ) of Head: 'T * Tail: 'T list interface IEnumerable interface IEnumerable<'T> member Head : 'T member IsEmpty : bool member Item : index:int -> 'T with get member Length : int member Tail : 'T list static member Cons : head:'T * tail:'T list -> 'T list static member Empty : 'T list
Full name: Microsoft.FSharp.Collections.List<_>
val reduce : reduction:('T -> 'T -> 'T) -> list:'T list -> 'T
Full name: Microsoft.FSharp.Collections.List.reduce
type T = Colour
Full name: index.T
val M : Monoid<Colour>
Full name: index.M
val Z : Colour
Full name: index.Z
Monoid.neutral: Colour
Monoid.op: Colour -> Colour -> Colour
val ( Z is the neutral element ) : v:T -> bool
Full name: index.( Z is the neutral element )
val v : T
val ( The op is associative ) : a:T * b:T * c:T -> bool
Full name: index.( The op is associative )
val a : T
val b : T
val c : T
val division : a:int -> b:int -> c:int -> d:int -> int option
Full name: index.division
val a : int
val b : int
val c : int
val d : int
union case Option.None: Option<'T>
val divide : a:int -> b:int -> int option
Full name: index.divide
Multiple items type MaybeBuilder = new : unit -> MaybeBuilder member Bind : value:'b option * func:('b -> 'c option) -> 'c option member Return : value:'a -> 'a option
openSystemletsleepWorkflow=async{
printfn"Starting at %O"DateTime.Now.TimeOfDaydo!Async.Sleep2000printfn"Finished at %O"DateTime.Now.TimeOfDay
}
Async.RunSynchronouslysleepWorkflow
mbrace
1: 2: 3: 4: 5:
letjob=cloud {
returnsprintf"run on worker '%s' "Environment.MachineName }
|>runtime.CreateProcess
typeT=ColourletM=colourAddletZ=M.neutrallet (++) =M.op
[<Property>]
let`` Z is the neutral element`` (v:T) =Z++v=v&&v++Z=v
[<Property>]
let``The op is associative`` (a:T, b:T, c:T) =a++ (b++c) = (a++b++c)
A monad is a monoid in the category of endofunctors.
A monad is like a burrito.
Think of monads just like you would think about Legos.