diff --git a/.gitignore b/.gitignore
index 7abb9943..d3829053 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,6 +56,7 @@ packages/*
!packages/FsUnit
!packages/TaskParallelLibrary
!packages/FSharp.Core.Microsoft.Signed
+!packages/FSharp.Core.4.3.0.0.Microsoft.Signed
# FAKE & Paket
packages/FAKE
diff --git a/build.fsx b/build.fsx
index cf51a217..febedb45 100644
--- a/build.fsx
+++ b/build.fsx
@@ -84,49 +84,71 @@ let numericsPack =
ReleaseNotes = releaseNotes
Tags = tags
Authors = [ "Christoph Ruegg"; "Marcus Cuda"; "Jurgen Van Gael" ]
- Dependencies = [{ FrameworkVersion="net35"; Dependencies=[ "TaskParallelLibrary", GetPackageVersion "packages" "TaskParallelLibrary" ] }
- { FrameworkVersion="net40"; Dependencies=[] }]
- Files = [ @"..\..\out\lib\Net35\MathNet.Numerics.*", Some libnet35, Some @"**\MathNet.Numerics.FSharp.*";
- @"..\..\out\lib\Net40\MathNet.Numerics.*", Some libnet40, Some @"**\MathNet.Numerics.FSharp.*";
- @"..\..\out\lib\Profile47\MathNet.Numerics.*", Some libpcl47, Some @"**\MathNet.Numerics.FSharp.*";
- @"..\..\out\lib\Profile328\MathNet.Numerics.*", Some libpcl328, Some @"**\MathNet.Numerics.FSharp.*";
- @"..\..\src\Numerics\**\*.cs", Some "src/Common", None ] }
+ Dependencies =
+ [ { FrameworkVersion="net35"
+ Dependencies=[ "TaskParallelLibrary", GetPackageVersion "packages" "TaskParallelLibrary" ] }
+ { FrameworkVersion="net40"
+ Dependencies=[] } ]
+ Files =
+ [ @"..\..\out\lib\Net35\MathNet.Numerics.*", Some libnet35, Some @"**\MathNet.Numerics.FSharp.*";
+ @"..\..\out\lib\Net40\MathNet.Numerics.*", Some libnet40, Some @"**\MathNet.Numerics.FSharp.*";
+ @"..\..\out\lib\Profile47\MathNet.Numerics.*", Some libpcl47, Some @"**\MathNet.Numerics.FSharp.*";
+ @"..\..\out\lib\Profile328\MathNet.Numerics.*", Some libpcl328, Some @"**\MathNet.Numerics.FSharp.*";
+ @"..\..\src\Numerics\**\*.cs", Some "src/Common", None ] }
let fsharpPack =
- { numericsPack with Id = "MathNet.Numerics.FSharp"
- Title = "Math.NET Numerics for F#"
- Summary = "F# Modules for " + summary
- Description = description + supportFsharp
- Tags = "fsharp F# " + tags
- Dependencies = [{ FrameworkVersion=""; Dependencies=[ "MathNet.Numerics", RequireExactly packageVersion ] }]
- Files = [ @"..\..\out\lib\Net35\MathNet.Numerics.FSharp.*", Some libnet35, None;
- @"..\..\out\lib\Net40\MathNet.Numerics.FSharp.*", Some libnet40, None;
- @"..\..\out\lib\Profile47\MathNet.Numerics.FSharp.*", Some libpcl47, None;
- @"..\..\out\lib\Profile328\MathNet.Numerics.FSharp.*", Some libpcl328, None;
- @"..\..\out\lib\Profile328\MathNet.Numerics.FSharp.*", Some libpcl328, None;
- @"MathNet.Numerics.fsx", None, None;
- @"MathNet.Numerics.IfSharp.fsx", None, None;
- @"..\..\src\FSharp\**\*.fs", Some "src/Common", None ] }
+ { numericsPack with
+ Id = "MathNet.Numerics.FSharp"
+ Title = "Math.NET Numerics for F#"
+ Summary = "F# Modules for " + summary
+ Description = description + supportFsharp
+ Tags = "fsharp F# " + tags
+ Dependencies =
+ [ { FrameworkVersion="net35"
+ Dependencies=[ "MathNet.Numerics", RequireExactly packageVersion
+ "FSharp.Core.4.3.0.0.Microsoft.Signed", GetPackageVersion "packages" "FSharp.Core.4.3.0.0.Microsoft.Signed" ] }
+ { FrameworkVersion="net40"
+ Dependencies=[ "MathNet.Numerics", RequireExactly packageVersion
+ "FSharp.Core.Microsoft.Signed", GetPackageVersion "packages" "FSharp.Core.Microsoft.Signed" ] }
+ { FrameworkVersion=""
+ Dependencies=[ "MathNet.Numerics", RequireExactly packageVersion
+ "FSharp.Core.Microsoft.Signed", GetPackageVersion "packages" "FSharp.Core.Microsoft.Signed" ] } ]
+ Files =
+ [ @"..\..\out\lib\Net35\MathNet.Numerics.FSharp.*", Some libnet35, None;
+ @"..\..\out\lib\Net40\MathNet.Numerics.FSharp.*", Some libnet40, None;
+ @"..\..\out\lib\Profile47\MathNet.Numerics.FSharp.*", Some libpcl47, None;
+ @"..\..\out\lib\Profile328\MathNet.Numerics.FSharp.*", Some libpcl328, None;
+ @"..\..\out\lib\Profile328\MathNet.Numerics.FSharp.*", Some libpcl328, None;
+ @"MathNet.Numerics.fsx", None, None;
+ @"MathNet.Numerics.IfSharp.fsx", None, None;
+ @"..\..\src\FSharp\**\*.fs", Some "src/Common", None ] }
let numericsSignedPack =
- { numericsPack with Id = numericsPack.Id + ".Signed"
- Title = numericsPack.Title + " - Signed Edition"
- Description = description + supportSigned
- Tags = numericsPack.Tags + " signed"
- Dependencies = []
- Files = [ @"..\..\out\lib-signed\Net40\MathNet.Numerics.*", Some libnet40, Some @"**\MathNet.Numerics.FSharp.*";
- @"..\..\src\Numerics\**\*.cs", Some "src/Common", None ] }
+ { numericsPack with
+ Id = numericsPack.Id + ".Signed"
+ Title = numericsPack.Title + " - Signed Edition"
+ Description = description + supportSigned
+ Tags = numericsPack.Tags + " signed"
+ Dependencies = []
+ Files =
+ [ @"..\..\out\lib-signed\Net40\MathNet.Numerics.*", Some libnet40, Some @"**\MathNet.Numerics.FSharp.*";
+ @"..\..\src\Numerics\**\*.cs", Some "src/Common", None ] }
let fsharpSignedPack =
- { fsharpPack with Id = fsharpPack.Id + ".Signed"
- Title = fsharpPack.Title + " - Signed Edition"
- Description = description + supportSigned
- Tags = fsharpPack.Tags + " signed"
- Dependencies = [{ FrameworkVersion=""; Dependencies=[ "MathNet.Numerics.Signed", RequireExactly packageVersion ] }]
- Files = [ @"..\..\out\lib-signed\Net40\MathNet.Numerics.FSharp.*", Some libnet40, None;
- @"MathNet.Numerics.fsx", None, None;
- @"MathNet.Numerics.IfSharp.fsx", None, None;
- @"..\..\src\FSharp\**\*.fs", Some "src/Common", None ] }
+ { fsharpPack with
+ Id = fsharpPack.Id + ".Signed"
+ Title = fsharpPack.Title + " - Signed Edition"
+ Description = description + supportSigned
+ Tags = fsharpPack.Tags + " signed"
+ Dependencies =
+ [ { FrameworkVersion=""
+ Dependencies=[ "MathNet.Numerics.Signed", RequireExactly packageVersion
+ "FSharp.Core.Microsoft.Signed", GetPackageVersion "packages" "FSharp.Core.Microsoft.Signed" ] } ]
+ Files =
+ [ @"..\..\out\lib-signed\Net40\MathNet.Numerics.FSharp.*", Some libnet40, None;
+ @"MathNet.Numerics.fsx", None, None;
+ @"MathNet.Numerics.IfSharp.fsx", None, None;
+ @"..\..\src\FSharp\**\*.fs", Some "src/Common", None ] }
let coreBundle =
{ Id = numericsPack.Id
@@ -163,15 +185,20 @@ let nativeMKLWin32Pack =
ReleaseNotes = nativeReleaseNotes
Tags = "math numeric statistics probability integration interpolation linear algebra matrix fft native mkl"
Authors = [ "Christoph Ruegg"; "Marcus Cuda"; "Jurgen Van Gael" ]
- Dependencies = [{ FrameworkVersion=""; Dependencies=[ "MathNet.Numerics", "2.4.0" ] }]
- Files = [ @"..\..\out\MKL\Windows\x86\libiomp5md.dll", Some "content", None;
- @"..\..\out\MKL\Windows\x86\MathNet.Numerics.MKL.dll", Some "content", None ] }
+ Dependencies =
+ [ { FrameworkVersion=""
+ Dependencies=[ "MathNet.Numerics", "2.4.0" ] } ]
+ Files =
+ [ @"..\..\out\MKL\Windows\x86\libiomp5md.dll", Some "content", None;
+ @"..\..\out\MKL\Windows\x86\MathNet.Numerics.MKL.dll", Some "content", None ] }
let nativeMKLWin64Pack =
- { nativeMKLWin32Pack with Id = "MathNet.Numerics.MKL.Win-x64"
- Title = "Math.NET Numerics - MKL Native Providers (Windows 64-bit)"
- Files = [ @"..\..\out\MKL\Windows\x64\libiomp5md.dll", Some "content", None;
- @"..\..\out\MKL\Windows\x64\MathNet.Numerics.MKL.dll", Some "content", None ] }
+ { nativeMKLWin32Pack with
+ Id = "MathNet.Numerics.MKL.Win-x64"
+ Title = "Math.NET Numerics - MKL Native Providers (Windows 64-bit)"
+ Files =
+ [ @"..\..\out\MKL\Windows\x64\libiomp5md.dll", Some "content", None;
+ @"..\..\out\MKL\Windows\x64\MathNet.Numerics.MKL.dll", Some "content", None ] }
let nativeBundle =
{ Id = "MathNet.Numerics.NativeProviders"
@@ -201,9 +228,12 @@ let dataTextPack =
ReleaseNotes = dataReleaseNotes
Tags = "math numeric data text csv tsv json xml"
Authors = [ "Christoph Ruegg"; "Marcus Cuda" ]
- Dependencies = [{ FrameworkVersion=""; Dependencies=[ "MathNet.Numerics", GetPackageVersion "packages" "MathNet.Numerics" ] }]
- Files = [ @"..\..\out\Data\lib\Net40\MathNet.Numerics.Data.Text.dll", Some libnet40, None;
- @"..\..\out\Data\lib\Net40\MathNet.Numerics.Data.Text.xml", Some libnet40, None ] }
+ Dependencies =
+ [ { FrameworkVersion=""
+ Dependencies=[ "MathNet.Numerics", GetPackageVersion "packages" "MathNet.Numerics" ] } ]
+ Files =
+ [ @"..\..\out\Data\lib\Net40\MathNet.Numerics.Data.Text.dll", Some libnet40, None;
+ @"..\..\out\Data\lib\Net40\MathNet.Numerics.Data.Text.xml", Some libnet40, None ] }
let dataMatlabPack =
{ Id = "MathNet.Numerics.Data.Matlab"
@@ -214,9 +244,12 @@ let dataMatlabPack =
ReleaseNotes = dataReleaseNotes
Tags = "math numeric data matlab"
Authors = [ "Christoph Ruegg"; "Marcus Cuda" ]
- Dependencies = [{ FrameworkVersion=""; Dependencies=[ "MathNet.Numerics", GetPackageVersion "packages" "MathNet.Numerics" ] }]
- Files = [ @"..\..\out\Data\lib\Net40\MathNet.Numerics.Data.Matlab.dll", Some libnet40, None;
- @"..\..\out\Data\lib\Net40\MathNet.Numerics.Data.Matlab.xml", Some libnet40, None ] }
+ Dependencies =
+ [ { FrameworkVersion=""
+ Dependencies=[ "MathNet.Numerics", GetPackageVersion "packages" "MathNet.Numerics" ] } ]
+ Files =
+ [ @"..\..\out\Data\lib\Net40\MathNet.Numerics.Data.Matlab.dll", Some libnet40, None;
+ @"..\..\out\Data\lib\Net40\MathNet.Numerics.Data.Matlab.xml", Some libnet40, None ] }
let dataBundle =
{ Id = "MathNet.Numerics.Data"
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/FSharp.Core.4.3.0.0.Microsoft.Signed.3.0.0.1.nupkg b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/FSharp.Core.4.3.0.0.Microsoft.Signed.3.0.0.1.nupkg
new file mode 100644
index 00000000..9d296208
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/FSharp.Core.4.3.0.0.Microsoft.Signed.3.0.0.1.nupkg differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/FSharp.Core.4.3.0.0.Microsoft.Signed.nuspec b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/FSharp.Core.4.3.0.0.Microsoft.Signed.nuspec
new file mode 100644
index 00000000..db8e0738
--- /dev/null
+++ b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/FSharp.Core.4.3.0.0.Microsoft.Signed.nuspec
@@ -0,0 +1,21 @@
+
+
+
+ FSharp.Core.4.3.0.0.Microsoft.Signed
+ 3.0.0.1
+ FSharp.Core for F# 3.0+
+ F# Software Foundation, Dave Thomas
+ F# Software Foundation
+ https://github.com/fsharp/fsharp/blob/master/LICENSE
+ https://github.com/fsharp/fsharp
+ http://fsharp.org/img/logo.png
+ false
+ Microsoft-signed versions of FSharp.Core for F# 3.0 and above, for
+.Net 2.0
+.Net 4.0
+.Net 4.5
+profile47
+ Microsoft-signed FSharp.Core for F# 3.0 and above, for libraries, desktop, mobile and portable.
+ F#, FSharp, FSharp.Core
+
+
\ No newline at end of file
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/[Content_Types].xml b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/[Content_Types].xml
new file mode 100644
index 00000000..0506e9c5
--- /dev/null
+++ b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/[Content_Types].xml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/_rels/.rels b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/_rels/.rels
new file mode 100644
index 00000000..a0a7bdb4
--- /dev/null
+++ b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/_rels/.rels
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.dll b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.dll
new file mode 100644
index 00000000..f27c8a07
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.dll differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.optdata b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.optdata
new file mode 100644
index 00000000..d635db22
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.optdata differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.sigdata b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.sigdata
new file mode 100644
index 00000000..75d34846
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.sigdata differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.xml b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.xml
new file mode 100644
index 00000000..00c0fb41
--- /dev/null
+++ b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net35/FSharp.Core.xml
@@ -0,0 +1,9715 @@
+
+
+FSharp.Core
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the tail of the list, which is a list containing all the elements of the list, excluding the first element
+
+
+ Gets the number of items contained in the list
+
+
+ Gets the element of the list at the given position.
+ Lists are represented as linked lists so this is an O(n) operation.
+ The index.
+ The value at the given index.
+
+
+ Gets a value indicating if the list contains no entries
+
+
+ Gets the first element of the list
+
+
+ Returns an empty list of a particular type
+
+
+ Returns a list with head as its first element and tail as its subsequent elements
+ A new head value for the list.
+ The existing list.
+ The list with head appended to the front of tail.
+
+
+ The type of immutable singly-linked lists.
+
+ Use the constructors [] and :: (infix) to create values of this type, or
+ the notation [1;2;3]. Use the values in the List module to manipulate
+ values of this type, or pattern match against the values directly.
+
+
+ Lookup an element in the map. Raise KeyNotFoundException if no binding
+ exists in the map.
+ The input key.
+ Thrown when the key is not found.
+ The value mapped to the key.
+
+
+ Returns true if there are no bindings in the map.
+
+
+ The number of bindings in the map.
+
+
+ Lookup an element in the map, returning a Some value if the element is in the domain
+ of the map and None if not.
+ The input key.
+ The mapped value, or None if the key is not in the map.
+
+
+ Removes an element from the domain of the map. No exception is raised if the element is not present.
+ The input key.
+ The resulting map.
+
+
+
+
+
+ Tests if an element is in the domain of the map.
+ The input key.
+ True if the map contains the given key.
+
+
+ Returns a new map with the binding added to the given map.
+ The input key.
+ The resulting map.
+
+
+ Builds a map that contains the bindings of the given IEnumerable.
+ The input sequence of key/value pairs.
+ The resulting map.
+
+
+ Immutable maps. Keys are ordered by F# generic comparison.
+
+ Maps based on generic comparison are efficient for small keys. They are not a suitable choice if keys are recursive data structures
+ or if keys require bespoke comparison semantics.
+
+ All members of this class are thread-safe and may be used concurrently from multiple threads.
+
+
+ An abbreviation for the CLI type System.Collections.Generic.List<_>
+
+
+ Returns a new set with the elements of the second set removed from the first.
+ The first input set.
+ The second input set.
+ A set containing elements of the first set that are not contained in the second set.
+
+
+ Compute the union of the two sets.
+ The first input set.
+ The second input set.
+ The union of the two input sets.
+
+
+ Returns the lowest element in the set according to the ordering being used for the set.
+
+
+ Returns the highest element in the set according to the ordering being used for the set.
+
+
+ A useful shortcut for Set.isEmpty. See the Set module for further operations on sets.
+
+
+ The number of elements in the set
+
+
+ A useful shortcut for Set.remove. Note this operation produces a new set
+ and does not mutate the original set. The new set will share many storage
+ nodes with the original. See the Set module for further operations on sets.
+ The value to remove from the set.
+ The result set.
+
+
+ Evaluates to "true" if all elements of the second set are in the first.
+ The set to test against.
+ True if this set is a superset of otherSet.
+
+
+ Evaluates to "true" if all elements of the first set are in the second.
+ The set to test against.
+ True if this set is a subset of otherSet.
+
+
+ Evaluates to "true" if all elements of the second set are in the first, and at least
+ one element of the first is not in the second.
+ The set to test against.
+ True if this set is a proper superset of otherSet.
+
+
+ Evaluates to "true" if all elements of the first set are in the second, and at least
+ one element of the second is not in the first.
+ The set to test against.
+ True if this set is a proper subset of otherSet.
+
+
+
+
+
+ A useful shortcut for Set.contains. See the Set module for further operations on sets.
+ The value to check.
+ True if the set contains value.
+
+
+ A useful shortcut for Set.add. Note this operation produces a new set
+ and does not mutate the original set. The new set will share many storage
+ nodes with the original. See the Set module for further operations on sets.
+ The value to add to the set.
+ The result set.
+
+
+ Create a set containing elements drawn from the given sequence.
+ The input sequence.
+ The result set.
+
+
+ Immutable sets based on binary trees, where comparison is the
+ F# structural comparison function, potentially using implementations
+ of the IComparable interface on key values.
+
+ See the Set module for further operations on sets.
+
+ All members of this class are thread-safe and may be used concurrently from multiple threads.
+
+
+ An abbreviation for the type of immutable singly-linked lists.
+
+ Use the constructors [] and :: (infix) to create values of this type, or
+ the notation [1;2;3]. Use the values in the List module to manipulate
+ values of this type, or pattern match against the values directly.
+
+
+ An abbreviation for the CLI type System.Collections.Generic.IEnumerable<_>
+
+
+ Fetches an element from a 2D array. You can also use the syntax array.[index1,index2].
+
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+
+ The value of the array at the given index.
+ Thrown when the indices are negative or exceed the bounds of the array.
+
+
+ Sets the value of an element in an array. You can also use the syntax array.[index1,index2] <- value.
+
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The value to set in the array.
+ Thrown when the indices are negative or exceed the bounds of the array.
+
+
+ Builds a new array whose elements are the same as the input array but
+ where a non-zero-based input array generates a corresponding zero-based
+ output array.
+
+ The input array.
+
+ The zero-based output array.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer indices passed to the
+ function indicates the element being transformed.
+
+ For non-zero-based arrays the basing on an input array will be propagated to the output
+ array.
+
+ A function that is applied to transform each element of the array. The two integers
+ provide the index of the element.
+ The input array.
+
+ An array whose elements have been transformed by the given mapping.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+
+ A function that is applied to transform each item of the input array.
+ The input array.
+
+ An array whose elements have been transformed by the given mapping.
+
+
+ Returns the length of an array in the second dimension.
+
+ The input array.
+
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension.
+
+ The input array.
+
+ The length of the array in the first dimension.
+
+
+ Applies the given function to each element of the array. The integer indices passed to the
+ function indicates the index of element.
+
+ A function to apply to each element of the array with the indices available as an argument.
+ The input array.
+
+
+ Applies the given function to each element of the array.
+
+ A function to apply to each element of the array.
+ The input array.
+
+
+ Creates a based array where the entries are initially Unchecked.defaultof<'T>.
+
+ The base for the first dimension of the array.
+ The base for the second dimension of the array.
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+
+ The created array.
+ Thrown when base1, base2, length1, or length2 is negative.
+
+
+ Creates a based array whose elements are all initially the given value.
+
+ The base for the first dimension of the array.
+ The base for the second dimension of the array.
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ The value to populate the new array.
+
+ The created array.
+ Thrown when base1, base2, length1, or length2 is negative.
+
+
+ Creates a based array given the dimensions and a generator function to compute the elements.
+
+ The base for the first dimension of the array.
+ The base for the second dimension of the array.
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ A function to produce elements of the array given the two indices.
+
+ The created array.
+ Thrown when base1, base2, length1, or length2 is negative.
+
+
+ Creates an array where the entries are initially Unchecked.defaultof<'T>.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+
+ The created array.
+ Thrown when length1 or length2 is negative.
+
+
+ Creates an array whose elements are all initially the given value.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ The value to populate the new array.
+
+ The created array.
+ Thrown when length1 or length2 is negative.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ A function to produce elements of the array given the two indices.
+
+ The generated array.
+ Thrown when either of the lengths is negative.
+
+
+ Reads a range of elements from the first array and write them into the second.
+
+ The source array.
+ The first-dimension index to begin copying from in the source array.
+ The second-dimension index to begin copying from in the source array.
+ The target array.
+ The first-dimension index to begin copying into in the target array.
+ The second-dimension index to begin copying into in the target array.
+ The number of elements to copy across the first dimension of the arrays.
+ The number of elements to copy across the second dimension of the arrays.
+ Thrown when any of the indices are negative or if either of
+ the counts are larger than the dimensions of the array allow.
+
+
+ Builds a new array whose elements are the same as the input array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+
+ The input array.
+
+ A copy of the input array.
+
+
+ Fetches the base-index for the second dimension of the array.
+
+ The input array.
+
+ The base-index of the second dimension of the array.
+
+
+ Fetches the base-index for the first dimension of the array.
+
+ The input array.
+
+ The base-index of the first dimension of the array.
+
+
+ Basic operations on 2-dimensional arrays.
+
+ F# and CLI multi-dimensional arrays are typically zero-based.
+ However, CLI multi-dimensional arrays used in conjunction with external
+ libraries (e.g. libraries associated with Visual Basic) be
+ non-zero based, using a potentially different base for each dimension.
+ The operations in this module will accept such arrays, and
+ the basing on an input array will be propagated to a matching output
+ array on the Array2D.map and Array2D.mapi operations.
+ Non-zero-based arrays can also be created using Array2D.zeroCreateBased,
+ Array2D.createBased and Array2D.initBased.
+
+
+ Creates an array where the entries are initially the "default" value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The created array.
+
+
+ Sets the value of an element in an array. You can also
+ use the syntax 'array.[index1,index2,index3] <- value'.
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The value to set at the given index.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer indices passed to the
+ function indicates the element being transformed.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+ The function to transform the elements at each index in the array.
+ The input array.
+ The array created from the transformed elements.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+ The function to transform each element of the array.
+ The input array.
+ The array created from the transformed elements.
+
+
+ Returns the length of an array in the third dimension.
+ The input array.
+ The length of the array in the third dimension.
+
+
+ Returns the length of an array in the second dimension.
+ The input array.
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension
+ The input array.
+ The length of the array in the first dimension.
+
+
+ Applies the given function to each element of the array. The integer indicies passed to the
+ function indicates the index of element.
+ The function to apply to each element of the array.
+ The input array.
+
+
+ Applies the given function to each element of the array.
+ The function to apply to each element of the array.
+ The input array.
+
+
+ Fetches an element from a 3D array. You can also use the syntax 'array.[index1,index2,index3]'
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The value at the given index.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The function to create an initial value at each index into the array.
+ The created array.
+
+
+ Creates an array whose elements are all initially the given value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The value of the array elements.
+ The created array.
+
+
+ Basic operations on rank 3 arrays.
+
+
+ Sets the value of an element in an array. You can also
+ use the syntax 'array.[index1,index2,index3,index4] <- value'.
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The index along the fourth dimension.
+ The value to set.
+
+
+ Fetches an element from a 4D array. You can also use the syntax 'array.[index1,index2,index3,index4]'
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The index along the fourth dimension.
+ The value at the given index.
+
+
+ Creates an array where the entries are initially the "default" value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The created array.
+
+
+ Returns the length of an array in the fourth dimension.
+ The input array.
+ The length of the array in the fourth dimension.
+
+
+ Returns the length of an array in the third dimension.
+ The input array.
+ The length of the array in the third dimension.
+
+
+ Returns the length of an array in the second dimension.
+ The input array.
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension
+ The input array.
+ The length of the array in the first dimension.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The function to create an initial value at each index in the array.
+ The created array.
+
+
+ Creates an array whose elements are all initially the given value
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The initial value for each element of the array.
+ The created array.
+
+
+ Basic operations on rank 4 arrays.
+
+
+ Combines three arrays into an array of pairs. The three arrays must have equal lengths, otherwise an ArgumentException is
+ raised.
+ The first input array.
+ The second input array.
+ The third input array.
+ Thrown when the input arrays differ in length.
+ The array of tupled elements.
+
+
+ Combines the two arrays into an array of pairs. The two arrays must have equal lengths, otherwise an ArgumentException is
+ raised.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of tupled elements.
+
+
+ Splits an array of triples into three arrays.
+ The input array.
+ The tuple of three arrays.
+
+
+ Splits an array of pairs into two arrays.
+ The input array.
+ The two arrays.
+
+
+ Returns the index of the first element in the array
+ that satisfies the given predicate.
+ The function to test the input elements.
+ The input array.
+ The index of the first element that satisfies the predicate, or None.
+
+
+ Returns the first element for which the given function returns true.
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input array.
+ The first element that satisfies the predicate, or None.
+
+
+ Views the given array as a sequence.
+ The input array.
+ The sequence of array elements.
+
+
+ Builds a list from the given array.
+ The input array.
+ The list of array elements.
+
+
+ Returns the sum of the results generated by applying the function to each element of the array.
+ The function to transform the array elements into the type to be summed.
+ The input array.
+ The resulting sum.
+
+
+ Returns the sum of the elements in the array.
+ The input array.
+ The resulting sum.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given comparison function.
+ Elements are compared using Operators.compare.
+ The input array.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given comparison function as the order.
+ The function to compare pairs of array elements.
+ The input array.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given projection for the keys.
+ Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to transform array elements into the type that is compared.
+ The input array.
+
+
+ Sorts the elements of an array, using the given comparison function as the order, returning a new array.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to compare pairs of array elements.
+ The input array.
+ The sorted array.
+
+
+ Sorts the elements of an array, using the given projection for the keys and returning a new array.
+ Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to transform array elements into the type that is compared.
+ The input array.
+ The sorted array.
+
+
+ Sorts the elements of an array, returning a new array. Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The input array.
+ The sorted array.
+
+
+ Builds a new array that contains the given subrange specified by
+ starting index and length.
+ The input array.
+ The index of the first element of the sub array.
+ The length of the sub array.
+ The created sub array.
+
+
+ Sets an element of an array.
+ The input array.
+ The input index.
+ The input value.
+
+
+ Like foldBack, but return both the intermediary and final results.
+ The function to update the state given the input elements.
+ The input array.
+ The initial state.
+ The array of state values.
+
+
+ Like fold, but return the intermediary and final results.
+ The function to update the state given the input elements.
+ The initial state.
+ The input array.
+ The array of state values.
+
+
+ Returns a new array with the elements in reverse order.
+ The input array.
+ The reversed array.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f i0 (...(f iN-1 iN)).
+ Raises ArgumentException if the array has size zero.
+ The function to reduce a pair of elements to a single element.
+ The input array.
+ Thrown when the input array is empty.
+ The final result of the reductions.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f (... (f i0 i1)...) iN.
+ Raises ArgumentException if the array has size zero.
+ The function to reduce a pair of elements to a single element.
+ The input array.
+ Thrown when the input array is empty.
+ The final result of the redcutions.
+
+
+ Returns an array with all elements permuted according to the
+ specified permutation.
+ The function that maps input indices to output indices.
+ The input array.
+ The output array.
+
+
+ Splits the collection into two collections, containing the
+ elements for which the given predicate returns "true" and "false"
+ respectively.
+ The function to test the input elements.
+ The input array.
+ A pair of arrays. The first containing the elements the predicate evaluated to true,
+ and the second containing those evaluated to false.
+
+
+ Builds a new array from the given enumerable object.
+ The input sequence.
+ The array of elements from the sequence.
+
+
+ Builds an array from the given list.
+ The input list.
+ The array of elements from the list.
+
+
+ Returns the lowest of all elements of the array, compared via Operators.min on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The function to transform the elements into a type supporting comparison.
+ The input array.
+ Thrown when the input array is empty.
+ The minimum element.
+
+
+ Returns the lowest of all elements of the array, compared via Operators.min.
+
+ Throws ArgumentException for empty arrays
+ The input array.
+ Thrown when the input array is empty.
+ The minimum element.
+
+
+ Returns the greatest of all elements of the array, compared via Operators.max on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The function to transform the elements into a type supporting comparison.
+ The input array.
+ Thrown when the input array is empty.
+ The maximum element.
+
+
+ Returns the greatest of all elements of the array, compared via Operators.max on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The input array.
+ Thrown when the input array is empty.
+ The maximum element.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer index passed to the
+ function indicates the index of element being transformed.
+ The function to transform elements and their indices.
+ The input array.
+ The array of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise, also passing the index of
+ the elements. The two input arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to transform pairs of input elements and their indices.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to transform the pairs of the input elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of transformed elements.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+ The function to transform elements of the array.
+ The input array.
+ The array of transformed elements.
+
+
+ Returns the length of an array. You can also use property arr.Length.
+ The input array.
+ The length of the array.
+
+
+ Applies the given function to pair of elements drawn from matching indices in two arrays,
+ also passing the index of the elements. The two arrays must have the same lengths,
+ otherwise an ArgumentException is raised.
+ The function to apply to each index and pair of elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+
+
+ Applies the given function to each element of the array. The integer passed to the
+ function indicates the index of element.
+ The function to apply to each index and element.
+ The input array.
+
+
+ Applies the given function to pair of elements drawn from matching indices in two arrays. The
+ two arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to apply.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+
+
+ Applies the given function to each element of the array.
+ The function to apply.
+ The input array.
+
+
+ Returns true if the given array is empty, otherwise false.
+ The input array.
+ True if the array is empty.
+
+
+ Creates an array where the entries are initially the default value Unchecked.defaultof<'T>.
+ The length of the array to create.
+ The created array.
+
+
+ Creates an array given the dimension and a generator function to compute the elements.
+ The number of elements to initialize.
+ The function to generate the initial values for each index.
+ The created array.
+
+
+ Gets an element from an array.
+ The input array.
+ The input index.
+ The value of the array at the given index.
+
+
+ Apply a function to pairs of elements drawn from the two collections, right-to-left,
+ threading an accumulator argument through the computation. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to update the state given the input elements.
+ The first input array.
+ The second input array.
+ The initial state.
+ Thrown when the input arrays differ in length.
+ The final state.
+
+
+ Applies a function to pairs of elements drawn from the two collections,
+ left-to-right, threading an accumulator argument
+ through the computation. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to update the state given the input elements.
+ The initial state.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The final state.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f i0 (...(f iN s))
+ The function to update the state given the input elements.
+ The input array.
+ The initial state.
+ The final state.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f (... (f s i0)...) iN
+ The function to update the state given the input elements.
+ The initial state.
+ The input array.
+ The final state.
+
+
+ Tests if all corresponding elements of the array satisfy the given predicate pairwise.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns false then the overall result is
+ false and no further elements are tested. Otherwise, if one collection is longer
+ than the other then the ArgumentException exception is raised.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ True if all of the array elements satisfy the predicate.
+
+
+ Tests if all elements of the array satisfy the given predicate.
+
+ The predicate is applied to the elements of the input collection. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The input array.
+ True if all of the array elements satisfy the predicate.
+
+
+ Returns the index of the first element in the array
+ that satisfies the given predicate. Raise KeyNotFoundException if
+ none of the elements satisy the predicate.
+ The function to test the input elements.
+ The input array.
+ Thrown if predicate
+ never returns true.
+ The index of the first element in the array that satisfies the given predicate.
+
+
+ Returns the first element for which the given function returns 'true'.
+ Raise KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input array.
+ Thrown if predicate
+ never returns true.
+ The first element for which predicate returns true.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true".
+ The function to test the input elements.
+ The input array.
+ An array containing the elements for which the given predicate returns true.
+
+
+ Tests if any pair of corresponding elements of the arrays satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, if one collections is longer
+ than the other then the ArgumentException exception is raised.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The first input array.
+ The second input array.
+ True if any result from predicate is true.
+
+
+ Tests if any element of the array satisfies the given predicate.
+
+ The predicate is applied to the elements of the input array. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The input array.
+ True if any result from predicate is true.
+
+
+ Returns an empty array of the given type.
+
+
+ Applies the given function to each element of the array. Returns
+ the array comprised of the results "x" for each element where
+ the function returns Some(x)
+ The function to generate options from the elements.
+ The input array.
+ The array of results.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If the function
+ never returns Some(x) then KeyNotFoundException is raised.
+ The function to generate options from the elements.
+ The input array.
+ Thrown if every result from
+ chooser is None.
+ The first result.
+
+
+ Fills a range of elements of the array with the given value.
+ The target array.
+ The index of the first element to set.
+ The number of elements to set.
+ The value to set.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If the function
+ never returns Some(x) then None is returned.
+ The function to transform the array elements into options.
+ The input array.
+ The first transformed element that is Some(x).
+
+
+ Creates an array whose elements are all initially the given value.
+ The length of the array to create.
+ The value for the elements.
+ The created array.
+
+
+ Builds a new array that contains the elements of the given array.
+ The input array.
+ A copy of the input array.
+
+
+ Builds a new array that contains the elements of each of the given sequence of arrays.
+ The input sequence of arrays.
+ The concatenation of the sequence of input arrays.
+
+
+ For each element of the array, applies the given function. Concatenates all the results and return the combined array.
+ The function to create sub-arrays from the input array elements.
+ The input array.
+ The concatenation of the sub-arrays.
+
+
+ Reads a range of elements from the first array and write them into the second.
+ The source array.
+ The starting index of the source array.
+ The target array.
+ The starting index of the target array.
+ The number of elements to copy.
+
+
+ Returns the average of the elements generated by applying the function to each element of the array.
+ The function to transform the array elements before averaging.
+ The input array.
+ Thrown when array is empty.
+ The computed average.
+
+
+ Returns the average of the elements in the array.
+ The input array.
+ Thrown when array is empty.
+ The average of the elements in the array.
+
+
+ Builds a new array that contains the elements of the first array followed by the elements of the second array.
+ The first input array.
+ The second input array.
+ The resulting array.
+
+
+ Basic operations on arrays.
+
+
+ Compare using the given comparer function.
+ A function to compare two values.
+ An object implementing IComparer using the supplied comparer.
+
+
+ Structural comparison. Compare using Operators.compare.
+
+
+ Common notions of comparison identity used with sorted data structures.
+
+
+ Hash using the given hashing and equality functions.
+ A function to generate a hash code from a value.
+ A function to test equality of two values.
+ An object implementing IEqualityComparer using the supplied functions.
+
+
+ Physical hashing (hash on reference identity of objects, and the contents of value types).
+ Hash using LanguagePrimitives.PhysicalEquality and LanguagePrimitives.PhysicalHash,
+ That is, for value types use GetHashCode and Object.Equals (if no other optimization available),
+ and for reference types use System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode and
+ reference equality.
+
+
+
+
+
+ Structural hashing. Hash using Operators.(=) and Operators.hash.
+
+
+ Common notions of value identity used with hash tables.
+
+
+ Combines the three lists into a list of triples. The lists must have equal lengths.
+ The first input list.
+ The second input list.
+ The third input list.
+ A single list containing triples of matching elements from the input lists.
+
+
+ Combines the two lists into a list of pairs. The two lists must have equal lengths.
+ The first input list.
+ The second input list.
+ A single list containing pairs of matching elements from the input lists.
+
+
+ Splits a list of triples into three lists.
+ The input list.
+ Three lists of split elements.
+
+
+ Splits a list of pairs into two lists.
+ The input list.
+ Two lists of split elements.
+
+
+ Returns the index of the first element in the list
+ that satisfies the given predicate.
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input list.
+ The index of the first element for which the predicate returns true, or None if
+ every element evaluates to false.
+
+
+ Returns the first element for which the given function returns true..
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input list.
+ The first element for which the predicate returns true, or None if
+ every element evaluates to false.
+
+
+ Applies the given function to successive elements, returning Some(x) the first
+ result where function returns Some(x) for some x. If no such element
+ exists then return None.
+ The function to generate options from the elements.
+ The input list.
+ The first resulting value or None.
+
+
+ Views the given list as a sequence.
+ The input list.
+ The sequence of elements in the list.
+
+
+ Builds an array from the given list.
+ The input list.
+ The array containing the elements of the list.
+
+
+ Returns the list after removing the first element.
+
+ The input list.
+ Thrown when the list is empty.
+ The list after removing the first element.
+
+
+ Returns the sum of the results generated by applying the function to each element of the list.
+ The function to transform the list elements into the type to be summed.
+ The input list.
+ The resulting sum.
+
+
+ Returns the sum of the elements in the list.
+ The input list.
+ The resulting sum.
+
+
+ Sorts the given list using Operators.compare.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The input list.
+ The sorted list.
+
+
+ Sorts the given list using keys given by the given projection. Keys are compared using Operators.compare.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The function to transform the list elements into the type to be compared.
+ The input list.
+ The sorted list.
+
+
+ Sorts the given list using the given comparison function.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The function to compare the list elements.
+ The input list.
+ The sorted list.
+
+
+ Like foldBack, but returns both the intermediary and final results
+ The function to update the state given the input elements.
+ The input list.
+ The initial state.
+ The list of states.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. Take the second argument, and apply the function to it
+ and the first element of the list. Then feed this result into the function along
+ with the second element and so on. Returns the list of intermediate results and the final result.
+ The function to update the state given the input elements.
+ The initial state.
+ The input list.
+ The list of states.
+
+
+ Returns a new list with the elements in reverse order.
+ The input list.
+ The reversed list.
+
+
+ Creates a list by calling the given generator on each index.
+ The number of elements to replicate.
+ The value to replicate
+ The generated list.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f i0 (...(f iN-1 iN)).
+
+ Raises System.ArgumentException if list is empty
+ The function to reduce two list elements to a single element.
+ The input list.
+ Thrown when the list is empty.
+ The final reduced value.
+
+
+ Apply a function to each element of the collection, threading an accumulator argument
+ through the computation. Apply the function to the first two elements of the list.
+ Then feed this result into the function along with the third element and so on.
+ Return the final result. If the input function is f and the elements are i0...iN then computes
+ f (... (f i0 i1) i2 ...) iN.
+
+ Raises System.ArgumentException if list is empty
+ The function to reduce two list elements to a single element.
+ The input list.
+ Thrown when the list is empty.
+ The final reduced value.
+
+
+ Returns a list with all elements permuted according to the
+ specified permutation.
+ The function to map input indices to output indices.
+ The input list.
+ The permutated list.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If no such
+ element exists then raise System.Collections.Generic.KeyNotFoundException
+ The function to generate options from the elements.
+ The input list.
+ Thrown when the list is empty.
+ The first resulting value.
+
+
+ Splits the collection into two collections, containing the
+ elements for which the given predicate returns true and false
+ respectively. Element order is preserved in both of the created lists.
+ The function to test the input elements.
+ The input list.
+ A list containing the elements for which the predicate evaluated to false and a list
+ containing the elements for which the predicate evaluated to true.
+
+
+ Builds a new list from the given enumerable object.
+ The input sequence.
+ The list of elements from the sequence.
+
+
+ Builds a list from the given array.
+ The input array.
+ The list of elements from the array.
+
+
+ Indexes into the list. The first element has index 0.
+ The input list.
+ The index to retrieve.
+ The value at the given index.
+
+
+ Returns the lowest of all elements of the list, compared via Operators.min on the function result
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform list elements into the type to be compared.
+ The input list.
+ Thrown when the list is empty.
+ The minimum value.
+
+
+ Returns the lowest of all elements of the list, compared via Operators.min.
+
+ Raises System.ArgumentException if list is empty
+ The input list.
+ Thrown when the list is empty.
+ The minimum value.
+
+
+ Returns the greatest of all elements of the list, compared via Operators.max on the function result.
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform the list elements into the type to be compared.
+ The input list.
+ Thrown when the list is empty.
+ The maximum element.
+
+
+ Return the greatest of all elements of the list, compared via Operators.max.
+
+ Raises System.ArgumentException if list is empty
+ The input list.
+ Thrown when the list is empty.
+ The maximum element.
+
+
+ Like mapi, but mapping corresponding elements from two lists of equal length.
+ The function to transform pairs of elements from the two lists and their index.
+ The first input list.
+ The second input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The integer index passed to the
+ function indicates the index (from 0) of element being transformed.
+ The function to transform elements and their indices.
+ The input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the three collections simultaneously.
+ The function to transform triples of elements from the input lists.
+ The first input list.
+ The second input list.
+ The third input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise.
+ The function to transform pairs of elements from the input lists.
+ The first input list.
+ The second input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection.
+ The function to transform elements from the input list.
+ The input list.
+ The list of transformed elements.
+
+
+ Returns the length of the list.
+ The input list.
+ The length of the list.
+
+
+ Applies the given function to two collections simultaneously. The
+ collections must have identical size. The integer passed to the
+ function indicates the index of element.
+ The function to apply to a pair of elements from the input lists along with their index.
+ The first input list.
+ The second input list.
+
+
+ Applies the given function to each element of the collection. The integer passed to the
+ function indicates the index of element.
+ The function to apply to the elements of the list along with their index.
+ The input list.
+
+
+ Applies the given function to two collections simultaneously. The
+ collections must have identical size.
+ The function to apply to pairs of elements from the input lists.
+ The first input list.
+ The second input list.
+
+
+ Applies the given function to each element of the collection.
+ The function to apply to elements from the input list.
+ The input list.
+
+
+ Returns true if the list contains no elements, false otherwise.
+ The input list.
+ True if the list is empty.
+
+
+ Creates a list by calling the given generator on each index.
+ The length of the list to generate.
+ The function to generate an element from an index.
+ The list of generated elements.
+
+
+ Returns the first element of the list.
+
+ The input list.
+ Thrown when the list is empty.
+ The first element of the list.
+
+
+ Tests if all corresponding elements of the collection satisfy the given predicate pairwise.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns false then the overall result is
+ false and no further elements are tested. Otherwise, if one collection is longer
+ than the other then the System.ArgumentException exception is raised.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The first input list.
+ The second input list.
+ Thrown when the input lists differ in length.
+ True if all of the pairs of elements satisfy the predicate.
+
+
+ Tests if all elements of the collection satisfy the given predicate.
+
+ The predicate is applied to the elements of the input list. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The input list.
+ True if all of the elements satisfy the predicate.
+
+
+ Applies a function to corresponding elements of two collections, threading an accumulator argument
+ through the computation. The collections must have identical sizes.
+ If the input function is f and the elements are i0...iN and j0...jN
+ then computes f i0 j0 (...(f iN jN s)).
+ The function to update the state given the input elements.
+ The first input list.
+ The second input list.
+ The initial state.
+ The final state value.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then
+ computes f i0 (...(f iN s)).
+ The function to update the state given the input elements.
+ The input list.
+ The initial state.
+ The final state value.
+
+
+ Applies a function to corresponding elements of two collections, threading an accumulator argument
+ through the computation. The collections must have identical sizes.
+ If the input function is f and the elements are i0...iN and j0...jN
+ then computes f (... (f s i0 j0)...) iN jN.
+ The function to update the state given the input elements.
+ The initial state.
+ The first input list.
+ The second input list.
+ The final state value.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. Take the second argument, and apply the function to it
+ and the first element of the list. Then feed this result into the function along
+ with the second element and so on. Return the final result.
+ If the input function is f and the elements are i0...iN then
+ computes f (... (f s i0) i1 ...) iN.
+ The function to update the state given the input elements.
+ The initial state.
+ The input list.
+ The final state value.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true"
+ The function to test the input elements.
+ The input list.
+ A list containing only the elements that satisfy the predicate.
+
+
+ Returns the index of the first element in the list
+ that satisfies the given predicate.
+ Raises KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input list.
+ Thrown if the predicate evaluates to false for all the
+ elements of the list.
+ The index of the first element that satisfies the predicate.
+
+
+ Returns the first element for which the given function returns true.
+ Raises KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input list.
+ Thrown if the predicate evaluates to false for
+ all the elements of the list.
+ The first element that satisfies the predicate.
+
+
+ Tests if any pair of corresponding elements of the lists satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, if one collections is longer
+ than the other then the System.ArgumentException exception is raised.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The first input list.
+ The second input list.
+ Thrown when the input lists differ in length.
+ True if any pair of elements satisfy the predicate.
+
+
+ Tests if any element of the list satisfies the given predicate.
+
+ The predicate is applied to the elements of the input list. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The input list.
+ True if any element satisfies the predicate.
+
+
+ Returns an empty list of the given type.
+
+
+ Returns a new list that contains the elements of each the lists in order.
+ The input sequence of lists.
+ The resulting concatenated list.
+
+
+ For each element of the list, applies the given function. Concatenates all the results and return the combined list.
+ The function to transform each input element into a sublist to be concatenated.
+ The input list.
+ The concatenation of the transformed sublists.
+
+
+ Applies the given function to each element of the list. Returns
+ the list comprised of the results x for each element where
+ the function returns Some(x)
+ The function to generate options from the elements.
+ The input list.
+ The list comprising the values selected from the chooser function.
+
+
+ Returns the average of the elements generated by applying the function to each element of the list.
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform the list elements into the type to be averaged.
+ The input list.
+ Thrown when the list is empty.
+ The resulting average.
+
+
+ Returns the average of the elements in the list.
+
+ Raises System.ArgumentException if list is empty.
+ The input list.
+ Thrown when the list is empty.
+ The resulting average.
+
+
+ Returns a new list that contains the elements of the first list
+ followed by elements of the second.
+ The first input list.
+ The second input list.
+ The resulting list.
+
+
+ Basic operations on lists.
+
+
+ Returns the key of the first mapping in the collection that satisfies the given predicate.
+ Returns 'None' if no such element exists.
+ The function to test the input elements.
+ The input map.
+ The first key for which the predicate returns true or None if the predicate evaluates to false for each key/value pair.
+
+
+ Evaluates the function on each mapping in the collection. Returns the key for the first mapping
+ where the function returns 'true'. Raise KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input map.
+ Thrown if the key does not exist in the map.
+ The first key for which the predicate evaluates true.
+
+
+ Lookup an element in the map, returning a Some value if the element is in the domain
+ of the map and None if not.
+ The input key.
+ The input map.
+ The found Some value or None.
+
+
+ Removes an element from the domain of the map. No exception is raised if the element is not present.
+ The input key.
+ The input map.
+ The resulting map.
+
+
+ Builds two new maps, one containing the bindings for which the given predicate returns 'true',
+ and the other the remaining bindings.
+ The function to test the input elements.
+ The input map.
+ A pair of maps in which the first contains the elements for which the predicate returned true
+ and the second containing the elements for which the predicated returned false.
+
+
+ Tests if an element is in the domain of the map.
+ The input key.
+ The input map.
+ True if the map contains the key.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The key passed to the
+ function indicates the key of element being transformed.
+ The function to transform the key/value pairs.
+ The input map.
+ The resulting map of keys and transformed values.
+
+
+ Returns true if the given predicate returns true for all of the
+ bindings in the map.
+ The function to test the input elements.
+ The input map.
+ True if the predicate evaluates to true for all of the bindings in the map.
+
+
+ Builds a new map containing only the bindings for which the given predicate returns 'true'.
+ The function to test the key/value pairs.
+ The input map.
+ The filtered map.
+
+
+ Returns true if the given predicate returns true for one of the
+ bindings in the map.
+ The function to test the input elements.
+ The input map.
+ True if the predicate returns true for one of the key/value pairs.
+
+
+ Applies the given function to each binding in the dictionary
+ The function to apply to each key/value pair.
+ The input map.
+
+
+ Folds over the bindings in the map
+ The function to update the state given the input key/value pairs.
+ The initial state.
+ The input map.
+ The final state value.
+
+
+ Folds over the bindings in the map.
+ The function to update the state given the input key/value pairs.
+ The input map.
+ The initial state.
+ The final state value.
+
+
+ Searches the map looking for the first element where the given function returns a Some value
+ The function to generate options from the key/value pairs.
+ The input map.
+ The first result.
+
+
+ Searches the map looking for the first element where the given function returns a Some value.
+ The function to generate options from the key/value pairs.
+ The input map.
+ The first result.
+
+
+ Lookup an element in the map, raising KeyNotFoundException if no binding
+ exists in the map.
+ The input key.
+ The input map.
+ Thrown when the key does not exist in the map.
+ The value mapped to the given key.
+
+
+ The empty map.
+
+
+ Is the map empty?
+ The input map.
+ True if the map is empty.
+
+
+ Returns an array of all key-value pairs in the mapping.
+ The array will be ordered by the keys of the map.
+ The input map.
+ The array of key/value pairs.
+
+
+ Returns a list of all key-value pairs in the mapping.
+ The list will be ordered by the keys of the map.
+ The input map.
+ The list of key/value pairs.
+
+
+ Views the collection as an enumerable sequence of pairs.
+ The sequence will be ordered by the keys of the map.
+ The input map.
+ The sequence of key/value pairs.
+
+
+ Returns a new map made from the given bindings.
+ The input sequence of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map made from the given bindings.
+ The input array of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map made from the given bindings.
+ The input list of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map with the binding added to the given map.
+ The input key.
+ The input value.
+ The input map.
+ The resulting map.
+
+
+ Functional programming operators related to the Map<_,_> type.
+
+
+ Combines the three sequences into a list of triples. The sequences need not have equal lengths:
+ when one sequence is exhausted any remaining elements in the other
+ sequences are ignored.
+
+ The first input sequence.
+ The second input sequence.
+ The third input sequence.
+
+ The result sequence.
+
+ Thrown when any of the input sequences is null.
+
+
+ Combines the two sequences into a list of pairs. The two sequences need not have equal lengths:
+ when one sequence is exhausted any remaining elements in the other
+ sequence are ignored.
+
+ The first input sequence.
+ The second input sequence.
+
+ The result sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Returns a sequence that yields sliding windows of containing elements drawn from the input
+ sequence. Each window is returned as a fresh array.
+
+ The number of elements in each window.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns a sequence that contains the elements generated by the given computation.
+ The given initial state argument is passed to the element generator.
+ For each IEnumerator elements in the stream are generated on-demand by applying the element
+ generator, until a None value is returned by the element generator. Each call to the element
+ generator returns a new residual state.
+
+ The stream will be recomputed each time an IEnumerator is requested and iterated for the Seq.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ A function that takes in the current state and returns an option tuple of the next
+ element of the sequence and the next state value.
+ The initial state value.
+
+ The result sequence.
+
+
+ Returns a sequence that when enumerated returns at most N elements.
+
+ The maximum number of items to enumerate.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to successive elements, returning the first
+ result where the function returns "Some(x)".
+
+ A function that transforms items from the input sequence into options.
+ The input sequence.
+
+ The chosen element or None.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the index of the first element in the sequence
+ that satisfies the given predicate. Return None if no such element exists.
+
+ A function that evaluates to a Boolean when given an item in the sequence.
+ The input sequence.
+
+ The found index or None.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the first element for which the given function returns true.
+ Return None if no such element exists.
+
+ A function that evaluates to a Boolean when given an item in the sequence.
+ The input sequence.
+
+ The found element or None.
+
+ Thrown when the input sequence is null.
+
+
+ Builds a list from the given collection.
+
+ The input sequence.
+
+ The result list.
+
+ Thrown when the input sequence is null.
+
+
+ Builds an array from the given collection.
+
+ The input sequence.
+
+ The result array.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that, when iterated, yields elements of the underlying sequence while the
+ given predicate returns true, and then returns no further elements.
+
+ A function that evaluates to false when no more items should be returned.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the first N elements of the sequence.
+ Throws InvalidOperationException
+ if the count exceeds the number of elements in the sequence. Seq.truncate
+ returns as many items as the sequence contains instead of throwing an exception.
+
+ The number of items to take.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+ Thrown when count exceeds the number of elements
+ in the sequence.
+
+
+ Returns the sum of the results generated by applying the function to each element of the sequence.
+ The generated elements are summed using the + operator and Zero property associated with the generated type.
+
+ A function to transform items from the input sequence into the type that will be summed.
+ The input sequence.
+
+ The computed sum.
+
+
+ Returns the sum of the elements in the sequence.
+
+ The elements are summed using the + operator and Zero property associated with the generated type.
+
+ The input sequence.
+
+ The computed sum.
+
+
+ Applies a key-generating function to each element of a sequence and yield a sequence ordered
+ by keys. The keys are compared using generic comparison as implemented by Operators.compare.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ This is a stable sort, that is the original order of equal elements is preserved.
+
+ A function to transform items of the input sequence into comparable keys.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Yields a sequence ordered by keys.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ This is a stable sort, that is the original order of equal elements is preserved.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that, when iterated, skips elements of the underlying sequence while the
+ given predicate returns true, and then yields the remaining elements of the sequence.
+
+ A function that evaluates an element of the sequence to a boolean value.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that skips N elements of the underlying sequence and then yields the
+ remaining elements of the sequence.
+
+ The number of items to skip.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when count exceeds the number of elements
+ in the sequence.
+
+
+ Returns a sequence that yields one item only.
+
+ The input item.
+
+ The result sequence of one item.
+
+
+ Like fold, but computes on-demand and returns the sequence of intermediary and final results.
+
+ A function that updates the state with each element from the sequence.
+ The initial state.
+ The input sequence.
+
+ The resulting sequence of computed states.
+
+ Thrown when the input sequence is null.
+
+
+ Applies a function to each element of the sequence, threading an accumulator argument
+ through the computation. Begin by applying the function to the first two elements.
+ Then feed this result into the function along with the third element and so on.
+ Return the final result.
+
+ A function that takes in the current accumulated result and the next
+ element of the sequence to produce the next accumulated result.
+ The input sequence.
+
+ The final result of the reduction function.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Builds a new sequence object that delegates to the given sequence object. This ensures
+ the original sequence cannot be rediscovered and mutated by a type cast. For example,
+ if given an array the returned sequence will return the elements of the array, but
+ you cannot cast the returned sequence object to an array.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to successive elements, returning the first
+ x where the function returns "Some(x)".
+
+ A function to transform each item of the input sequence into an option of the output type.
+ The input sequence.
+
+ The selected element.
+
+ Thrown when the input sequence is null.
+ Thrown when every item of the sequence
+ evaluates to None when the given function is applied.
+
+
+ Returns a sequence of each element in the input sequence and its predecessor, with the
+ exception of the first element which is only returned as the predecessor of the second element.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Views the given list as a sequence.
+
+ The input list.
+
+ The result sequence.
+
+
+ Views the given array as a sequence.
+
+ The input array.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Computes the nth element in the collection.
+
+ The index of element to retrieve.
+ The input sequence.
+
+ The nth element of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the lowest of all elements of the sequence, compared via Operators.min on the function result.
+
+ A function to transform items from the input sequence into comparable keys.
+ The input sequence.
+
+ The smallest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the lowest of all elements of the sequence, compared via Operators.min.
+
+ The input sequence.
+
+ The smallest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the greatest of all elements of the sequence, compared via Operators.max on the function result.
+
+ A function to transform items from the input sequence into comparable keys.
+ The input sequence.
+
+ The largest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the greatest of all elements of the sequence, compared via Operators.max
+
+ The input sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+ The largest element of the sequence.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The integer index passed to the
+ function indicates the index (from 0) of element being transformed.
+
+ A function to transform items from the input sequence that also supplies the current index.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding pairs of elements from the two sequences. If one input sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to transform pairs of items from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ The result sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The given function will be applied
+ as elements are demanded using the MoveNext method on enumerators retrieved from the
+ object.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ A function to transform items from the input sequence.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the length of the sequence
+
+ The input sequence.
+
+ The length of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to two collections simultaneously. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to apply to each pair of elements from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Applies the given function to each element of the collection. The integer passed to the
+ function indicates the index of element.
+
+ A function to apply to each element of the sequence that can also access the current index.
+ The input sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to each element of the collection.
+
+ A function to apply to each element of the sequence.
+ The input sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Generates a new sequence which, when iterated, will return successive
+ elements by calling the given function. The results of calling the function
+ will not be saved, that is the function will be reapplied as necessary to
+ regenerate the elements. The function is passed the index of the item being
+ generated.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+ Iteration can continue up to Int32.MaxValue.
+
+ A function that generates an item in the sequence from a given index.
+
+ The result sequence.
+
+
+ Generates a new sequence which, when iterated, will return successive
+ elements by calling the given function, up to the given count. Each element is saved after its
+ initialization. The function is passed the index of the item being
+ generated.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The maximum number of items to generate for the sequence.
+ A function that generates an item in the sequence from a given index.
+
+ The result sequence.
+
+ Thrown when count is negative.
+
+
+ Returns true if the sequence contains no elements, false otherwise.
+
+ The input sequence.
+
+ True if the sequence is empty; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the only element of the sequence.
+
+ The input sequence.
+
+ The last element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have precisely one element.
+
+
+ Returns the last element of the sequence.
+
+ The input sequence.
+
+ The last element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have any elements.
+
+
+ Returns the first element of the sequence.
+
+ The input sequence.
+
+ The first element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have any elements.
+
+
+ Applies a key-generating function to each element of a sequence and yields a sequence of
+ unique keys. Each unique key contains a sequence of all elements that match
+ to this key.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ A function that transforms an element of the sequence into a comparable key.
+ The input sequence.
+
+ The result sequence.
+
+
+ Tests the all pairs of elements drawn from the two sequences satisfy the
+ given predicate. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to test pairs of elements from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ True if all pairs satisfy the predicate; false otherwise.
+
+ Thrown when either of the input sequences is null.
+
+
+ Tests if all elements of the sequence satisfy the given predicate.
+
+ The predicate is applied to the elements of the input sequence. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+
+ A function to test an element of the input sequence.
+ The input sequence.
+
+ True if every element of the sequence satisfies the predicate; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f (... (f s i0)...) iN
+
+ A function that updates the state with each element from the sequence.
+ The initial state.
+ The input sequence.
+
+ The state object after the folding function is applied to each element of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the index of the first element for which the given function returns true.
+
+ A function to test whether the index of a particular element should be returned.
+ The input sequence.
+
+ The index of the first element for which the predicate returns true.
+
+ Thrown if no element returns true when
+ evaluated by the predicate
+ Thrown when the input sequence is null
+
+
+ Returns the first element for which the given function returns true.
+
+ A function to test whether an item in the sequence should be returned.
+ The input sequence.
+
+ The first element for which the predicate returns true.
+
+ Thrown if no element returns true when
+ evaluated by the predicate
+ Thrown when the input sequence is null
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true".
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A synonym for Seq.filter.
+
+ A function to test whether each item in the input sequence should be included in the output.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true". This is a synonym for Seq.where.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A function to test whether each item in the input sequence should be included in the output.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Tests if any pair of corresponding elements of the input sequences satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two sequences up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, false is returned. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to test each pair of items from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ True if any result from the predicate is true; false otherwise.
+
+ Thrown when either of the two input sequences is null.
+
+
+ Tests if any element of the sequence satisfies the given predicate.
+
+ The predicate is applied to the elements of the input sequence. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+
+ A function to test each item of the input sequence.
+ The input sequence.
+
+ True if any result from the predicate is true; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Creates an empty sequence.
+
+ An empty sequence.
+
+
+ Returns a sequence that contains no duplicate entries according to the
+ generic hash and equality comparisons on the keys returned by the given key-generating function.
+ If an element occurs multiple times in the sequence then the later occurrences are discarded.
+
+ A function transforming the sequence items into comparable keys.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that contains no duplicate entries according to generic hash and
+ equality comparisons on the entries.
+ If an element occurs multiple times in the sequence then the later occurrences are discarded.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that is built from the given delayed specification of a
+ sequence.
+
+ The input function is evaluated each time an IEnumerator for the sequence
+ is requested.
+
+ The generating function for the sequence.
+
+
+ Applies a key-generating function to each element of a sequence and return a sequence yielding unique
+ keys and their number of occurrences in the original sequence.
+
+ Note that this function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ A function transforming each item of input sequence into a key to be
+ compared against the others.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Combines the given enumeration-of-enumerations as a single concatenated
+ enumeration.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The input enumeration-of-enumerations.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Compares two sequences using the given comparison function, element by element.
+ Returns the first non-zero result from the comparison function. If the end of a sequence
+ is reached it returns a -1 if the first sequence is shorter and a 1 if the second sequence
+ is shorter.
+
+ A function that takes an element from each sequence and returns an int.
+ If it evaluates to a non-zero value iteration is stopped and that value is returned.
+ The first input sequence.
+ The second input sequence.
+
+ The first non-zero value from the comparison function.
+
+ Thrown when either of the input sequences
+ is null.
+
+
+ Applies the given function to each element of the sequence and concatenates all the
+ results.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A function to transform elements of the input sequence into the sequences
+ that will then be concatenated.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to each element of the list. Return
+ the list comprised of the results "x" for each element where
+ the function returns Some(x).
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not
+ be accessed concurrently.
+
+ A function to transform items of type T into options of type U.
+ The input sequence of type T.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Wraps a loosely-typed System.Collections sequence as a typed sequence.
+
+ The use of this function usually requires a type annotation.
+ An incorrect type annotation may result in runtime type
+ errors.
+ Individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that corresponds to a cached version of the input sequence.
+ This result sequence will have the same elements as the input sequence. The result
+ can be enumerated multiple times. The input sequence will be enumerated at most
+ once and only as far as is necessary. Caching a sequence is typically useful when repeatedly
+ evaluating items in the original sequence is computationally expensive or if
+ iterating the sequence causes side-effects that the user does not want to be
+ repeated multiple times.
+
+ Enumeration of the result sequence is thread safe in the sense that multiple independent IEnumerator
+ values may be used simultaneously from different threads (accesses to
+ the internal lookaside table are thread safe). Each individual IEnumerator
+ is not typically thread safe and should not be accessed concurrently.
+
+ Once enumeration of the input sequence has started,
+ it's enumerator will be kept live by this object until the enumeration has completed.
+ At that point, the enumerator will be disposed.
+
+ The enumerator may be disposed and underlying cache storage released by
+ converting the returned sequence object to type IDisposable, and calling the Dispose method
+ on this object. The sequence object may then be re-enumerated and a fresh enumerator will
+ be used.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the average of the results generated by applying the function to each element
+ of the sequence.
+
+ The elements are averaged using the + operator, DivideByInt method and Zero property
+ associated with the generated type.
+
+ A function applied to transform each element of the sequence.
+ The input sequence.
+
+ The average.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence has zero elements.
+
+
+ Returns the average of the elements in the sequence.
+
+ The elements are averaged using the + operator, DivideByInt method and Zero property
+ associated with the element type.
+
+ The input sequence.
+
+ The average.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence has zero elements.
+
+
+ Wraps the two given enumerations as a single concatenated
+ enumeration.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed
+ concurrently.
+
+ The first sequence.
+ The second sequence.
+
+ The result sequence.
+
+ Thrown when either of the two provided sequences is
+ null.
+
+
+ Basic operations on IEnumerables.
+
+
+ Returns a new set with the elements of the second set removed from the first.
+ The first input set.
+ The set whose elements will be removed from set1.
+ The set with the elements of set2 removed from set1.
+
+
+ Builds a new collection from the given enumerable object.
+ The input sequence.
+ The set containing elements.
+
+
+ Returns an ordered view of the collection as an enumerable object.
+ The input set.
+ An ordered sequence of the elements of set.
+
+
+ Builds an array that contains the elements of the set in order.
+ The input set.
+ An ordered array of the elements of set.
+
+
+ Builds a set that contains the same elements as the given array.
+ The input array.
+ A set containing the elements of array.
+
+
+ Builds a list that contains the elements of the set in order.
+ The input set.
+ An ordered list of the elements of set.
+
+
+ Builds a set that contains the same elements as the given list.
+ The input list.
+ A set containing the elements form the input list.
+
+
+ Returns the highest element in the set according to the ordering being used for the set.
+ The input set.
+ The max value from the set.
+
+
+ Returns the lowest element in the set according to the ordering being used for the set.
+ The input set.
+ The min value from the set.
+
+
+ Returns a new set with the given element removed. No exception is raised if
+ the set doesn't contain the given element.
+ The element to remove.
+ The input set.
+ The input set with value removed.
+
+
+ Splits the set into two sets containing the elements for which the given predicate
+ returns true and false respectively.
+ The function to test set elements.
+ The input set.
+ A pair of sets with the first containing the elements for which predicate returns
+ true and the second containing the elements for which predicate returns false.
+
+
+ Applies the given function to each element of the set, in order according
+ to the comparison function.
+ The function to apply to each element.
+ The input set.
+
+
+ Returns "true" if the set is empty.
+ The input set.
+ True if set is empty.
+
+
+ Computes the union of a sequence of sets.
+ The sequence of sets to untion.
+ The union of the input sets.
+
+
+ Computes the union of the two sets.
+ The first input set.
+ The second input set.
+ The union of set1 and set2.
+
+
+ Computes the intersection of a sequence of sets. The sequence must be non-empty.
+ The sequence of sets to intersect.
+ The intersection of the input sets.
+
+
+ Computes the intersection of the two sets.
+ The first input set.
+ The second input set.
+ The intersection of set1 and set2.
+
+
+ Tests if all elements of the collection satisfy the given predicate.
+ If the input function is f and the elements are i0...iN and "j0...jN"
+ then computes p i0 && ... && p iN.
+ The function to test set elements.
+ The input set.
+ True if all elements of set satisfy predicate.
+
+
+ Applies the given accumulating function to all the elements of the set.
+ The accumulating function.
+ The input set.
+ The initial state.
+ The final state.
+
+
+ Applies the given accumulating function to all the elements of the set
+ The accumulating function.
+ The initial state.
+ The input set.
+ The final state.
+
+
+ Returns a new collection containing the results of applying the
+ given function to each element of the input set.
+ The function to transform elements of the input set.
+ The input set.
+ A set containing the transformed elements.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns true.
+ The function to test set elements.
+ The input set.
+ The set containing only the elements for which predicate returns true.
+
+
+ Tests if any element of the collection satisfies the given predicate.
+ If the input function is predicate and the elements are i0...iN
+ then computes p i0 or ... or p iN.
+ The function to test set elements.
+ The input set.
+ True if any element of set satisfies predicate.
+
+
+ Returns the number of elements in the set. Same as size.
+ The input set.
+ The number of elements in the set.
+
+
+ Evaluates to "true" if all elements of the second set are in the first, and at least
+ one element of the first is not in the second.
+ The potential superset.
+ The set to test against.
+ True if set1 is a proper superset of set2.
+
+
+ Evaluates to "true" if all elements of the second set are in the first.
+ The potential superset.
+ The set to test against.
+ True if set1 is a superset of set2.
+
+
+ Evaluates to "true" if all elements of the first set are in the second, and at least
+ one element of the second is not in the first.
+ The potential subset.
+ The set to test against.
+ True if set1 is a proper subset of set2.
+
+
+ Evaluates to "true" if all elements of the first set are in the second
+ The potential subset.
+ The set to test against.
+ True if set1 is a subset of set2.
+
+
+ Evaluates to "true" if the given element is in the given set.
+ The element to test.
+ The input set.
+ True if element is in set.
+
+
+ Returns a new set with an element added to the set. No exception is raised if
+ the set already contains the given element.
+ The value to add.
+ The input set.
+ A new set containing value.
+
+
+ The set containing the given element.
+ The value for the set to contain.
+ The set containing value.
+
+
+ The empty set for the type 'T.
+
+
+ Functional programming operators related to the Set<_> type.
+
+
+ Gets the default cancellation token for executing asynchronous computations.
+ The default CancellationToken.
+
+
+ Creates an asynchronous computation that returns the CancellationToken governing the execution
+ of the computation.
+ In async { let! token = Async.CancellationToken ...} token can be used to initiate other
+ asynchronous operations that will cancel cooperatively with this workflow.
+ An asynchronous computation capable of retrieving the CancellationToken from a computation
+ expression.
+
+
+ Creates an asynchronous computation that executes computation.
+ If this computation is cancelled before it completes then the computation generated by
+ running compensation is executed.
+ The input asynchronous computation.
+ The function to be run if the computation is cancelled.
+ An asynchronous computation that runs the compensation if the input computation
+ is cancelled.
+
+
+ Creates an asynchronous computation that queues a work item that runs
+ its continuation.
+ A computation that generates a new work item in the thread pool.
+
+
+ Creates an asynchronous computation that creates a new thread and runs
+ its continuation in that thread.
+ A computation that will execute on a new thread.
+
+
+ Creates an asynchronous computation that runs
+ its continuation using syncContext.Post. If syncContext is null
+ then the asynchronous computation is equivalent to SwitchToThreadPool().
+ The synchronization context to accept the posted computation.
+ An asynchronous computation that uses the syncContext context to execute.
+
+
+ Runs an asynchronous computation, starting immediately on the current operating system
+ thread. Call one of the three continuations when the operation completes.
+ If no cancellation token is provided then the default cancellation token
+ is used.
+ The asynchronous computation to execute.
+ The function called on success.
+ The function called on exception.
+ The function called on cancellation.
+ The CancellationToken to associate with the computation.
+ The default is used if this parameter is not provided.
+
+
+ Runs an asynchronous computation, starting immediately on the current operating system
+ thread.
+ If no cancellation token is provided then the default cancellation token is used.
+ The asynchronous computation to execute.
+ The CancellationToken to associate with the computation.
+ The default is used if this parameter is not provided.
+
+
+ Starts a child computation within an asynchronous workflow.
+ This allows multiple asynchronous computations to be executed simultaneously.
+
+ This method should normally be used as the immediate
+ right-hand-side of a let! binding in an F# asynchronous workflow, that is,
+
+ async { ...
+ let! completor1 = childComputation1 |> Async.StartChild
+ let! completor2 = childComputation2 |> Async.StartChild
+ ...
+ let! result1 = completor1
+ let! result2 = completor2
+ ... }
+
+ When used in this way, each use of StartChild starts an instance of childComputation
+ and returns a completor object representing a computation to wait for the completion of the operation.
+ When executed, the completor awaits the completion of childComputation.
+ The child computation.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ A new computation that waits for the input computation to finish.
+
+
+ Starts the asynchronous computation in the thread pool. Do not await its result.
+
+ If no cancellation token is provided then the default cancellation token is used.
+ The computation to run asynchronously.
+ The cancellation token to be associated with the computation.
+ If one is not supplied, the default cancellation token is used.
+
+
+ Creates an asynchronous computation that will sleep for the given time. This is scheduled
+ using a System.Threading.Timer object. The operation will not block operating system threads
+ for the duration of the wait.
+ The number of milliseconds to sleep.
+ An asynchronous computation that will sleep for the given time.
+ Thrown when the due time is negative
+ and not infinite.
+
+
+ Runs the asynchronous computation and await its result.
+
+ If an exception occurs in the asynchronous computation then an exception is re-raised by this
+ function.
+
+ If no cancellation token is provided then the default cancellation token is used.
+
+ The timeout parameter is given in milliseconds. A value of -1 is equivalent to
+ System.Threading.Timeout.Infinite.
+ The computation to run.
+ The amount of time in milliseconds to wait for the result of the
+ computation before raising a System.TimeoutException. If no value is provided
+ for timeout then a default of -1 is used to correspond to System.Threading.Timeout.Infinite.
+ The cancellation token to be associated with the computation.
+ If one is not supplied, the default cancellation token is used.
+ The result of the computation.
+
+
+ Creates an asynchronous computation that executes all the given asynchronous computations,
+ initially queueing each as work items and using a fork/join pattern.
+
+ If all child computations succeed, an array of results is passed to the success continuation.
+
+ If any child computation raises an exception, then the overall computation will trigger an
+ exception, and cancel the others.
+
+ The overall computation will respond to cancellation while executing the child computations.
+ If cancelled, the computation will cancel any remaining child computations but will still wait
+ for the other child computations to complete.
+ A sequence of distinct computations to be parallelized.
+ A computation that returns an array of values from the sequence of input computations.
+
+
+ Generates a scoped, cooperative cancellation handler for use within an asynchronous workflow.
+
+ For example,
+ async { use! holder = Async.OnCancel interruption ... }
+ generates an asynchronous computation where, if a cancellation happens any time during
+ the execution of the asynchronous computation in the scope of holder, then action
+ interruption is executed on the thread that is performing the cancellation. This can
+ be used to arrange for a computation to be asynchronously notified that a cancellation
+ has occurred, e.g. by setting a flag, or deregistering a pending I/O action.
+ The function that is executed on the thread performing the
+ cancellation.
+ An asynchronous computation that triggers the interruption if it is cancelled
+ before being disposed.
+
+
+ Creates an asynchronous computation that runs the given computation and ignores
+ its result.
+ The input computation.
+ A computation that is equivalent to the input computation, but disregards the result.
+
+
+ Creates an asynchronous computation that captures the current
+ success, exception and cancellation continuations. The callback must
+ eventually call exactly one of the given continuations.
+ The function that accepts the current success, exception, and cancellation
+ continuations.
+ An asynchronous computation that provides the callback with the current continuations.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by three arguments. For example,
+ Async.FromBeginEnd(arg1,arg2,arg3,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The first argument for the operation.
+ The second argument for the operation.
+ The third argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by two arguments. For example,
+ Async.FromBeginEnd(arg1,arg2,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The first argument for the operation.
+ The second argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by one argument. For example,
+ Async.FromBeginEnd(place,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. For example,
+ Async.FromBeginEnd(ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation that executes computation.
+ If this computation completes successfully then return Choice1Of2 with the returned
+ value. If this computation raises an exception before it completes then return Choice2Of2
+ with the raised exception.
+ The input computation that returns the type T.
+ A computation that returns a choice of type T or exception.
+
+
+ Raises the cancellation condition for the most recent set of asynchronous computations started
+ without any specific CancellationToken. Replaces the global CancellationTokenSource with a new
+ global token source for any asynchronous computations created after this point without any
+ specific CancellationToken.
+
+
+ Creates an asynchronous computation that will wait on the given WaitHandle.
+
+ The computation returns true if the handle indicated a result within the given timeout.
+ The WaitHandle that can be signalled.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ An asynchronous computation that waits on the given WaitHandle.
+
+
+ Creates an asynchronous computation that will wait on the IAsyncResult.
+
+ The computation returns true if the handle indicated a result within the given timeout.
+ The IAsyncResult to wait on.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ An asynchronous computation that waits on the given IAsyncResult.
+
+
+ Creates an asynchronous computation that waits for a single invocation of a CLI
+ event by adding a handler to the event. Once the computation completes or is
+ cancelled, the handler is removed from the event.
+
+ The computation will respond to cancellation while waiting for the event. If a
+ cancellation occurs, and cancelAction is specified, then it is executed, and
+ the computation continues to wait for the event.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to cancel immediately.
+ The event to handle once.
+ An optional function to execute instead of cancelling when a
+ cancellation is issued.
+ An asynchronous computation that waits for the event to be invoked.
+
+
+ Creates three functions that can be used to implement the .NET Asynchronous
+ Programming Model (APM) for a given asynchronous computation.
+
+ The functions should normally be published as members with prefix Begin,
+ End and Cancel, and can be used within a type definition as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg -> computation)
+ member x.BeginSomeOperation(arg,callback,state:obj) = beginAction(arg,callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+ If the asynchronous computation takes no arguments, then AsBeginEnd is used as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun () -> computation)
+ member x.BeginSomeOperation(callback,state:obj) = beginAction((),callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+
+ If the asynchronous computation takes two arguments, then AsBeginEnd is used as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg1 arg2 -> computation)
+ member x.BeginSomeOperation(arg1,arg2,callback,state:obj) = beginAction((),callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+ In each case, the resulting API will be familiar to programmers in other CLI languages and
+ is a useful way to publish asynchronous computations in CLI components.
+ A function generating the asynchronous computation to split into the traditional
+ .NET Asynchronous Programming Model.
+ A tuple of the begin, end, and cancel members.
+
+
+ This static class holds members for creating and manipulating asynchronous computations.
+
+
+ Creates an asynchronous computation that just returns ().
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of empty else branches in the
+ async { ... } computation expression syntax.
+ An asynchronous computation that returns ().
+
+
+ Creates an asynchronous computation that runs computation repeatedly
+ until guard() becomes false.
+
+ A cancellation check is performed whenever the computation is executed.
+
+ The existence of this method permits the use of while in the
+ async { ... } computation expression syntax.
+ The function to determine when to stop executing computation.
+ The function to be executed. Equivalent to the body
+ of a while expression.
+ An asynchronous computation that behaves similarly to a while loop when run.
+
+
+ Creates an asynchronous computation that runs binder(resource).
+ The action resource.Dispose() is executed as this computation yields its result
+ or if the asynchronous computation exits by an exception or by cancellation.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of use and use! in the
+ async { ... } computation expression syntax.
+ The resource to be used and disposed.
+ The function that takes the resource and returns an asynchronous
+ computation.
+ An asynchronous computation that binds and eventually disposes resource.
+
+
+ Creates an asynchronous computation that runs computation and returns its result.
+ If an exception happens then catchHandler(exn) is called and the resulting computation executed instead.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of try/with in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The function to run when computation throws an exception.
+ An asynchronous computation that executes computation and calls catchHandler if an
+ exception is thrown.
+
+
+ Creates an asynchronous computation that runs computation. The action compensation is executed
+ after computation completes, whether computation exits normally or by an exception. If compensation raises an exception itself
+ the original exception is discarded and the new exception becomes the overall result of the computation.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of try/finally in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The action to be run after computation completes or raises an
+ exception (including cancellation).
+ An asynchronous computation that executes computation and compensation aftewards or
+ when an exception is raised.
+
+
+ Delegates to the input computation.
+
+ The existence of this method permits the use of return! in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The input computation.
+
+
+ Creates an asynchronous computation that returns the result v.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of return in the
+ async { ... } computation expression syntax.
+ The value to return from the computation.
+ An asynchronous computation that returns value when executed.
+
+
+ Creates an asynchronous computation that enumerates the sequence seq
+ on demand and runs body for each element.
+
+ A cancellation check is performed on each iteration of the loop.
+
+ The existence of this method permits the use of for in the
+ async { ... } computation expression syntax.
+ The sequence to enumerate.
+ A function to take an item from the sequence and create
+ an asynchronous computation. Can be seen as the body of the for expression.
+ An asynchronous computation that will enumerate the sequence and run body
+ for each element.
+
+
+ Creates an asynchronous computation that runs generator.
+
+ A cancellation check is performed when the computation is executed.
+ The function to run.
+ An asynchronous computation that runs generator.
+
+
+ Creates an asynchronous computation that first runs computation1
+ and then runs computation2, returning the result of computation2.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of expression sequencing in the
+ async { ... } computation expression syntax.
+ The first part of the sequenced computation.
+ The second part of the sequenced computation.
+ An asynchronous computation that runs both of the computations sequentially.
+
+
+ Creates an asynchronous computation that runs computation, and when
+ computation generates a result T, runs binder res.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of let! in the
+ async { ... } computation expression syntax.
+ The computation to provide an unbound result.
+ The function to bind the result of computation.
+ An asynchronous computation that performs a monadic bind on the result
+ of computation.
+
+
+
+ Generate an object used to build asynchronous computations using F# computation expressions. The value
+ 'async' is a pre-defined instance of this type.
+
+ A cancellation check is performed when the computation is executed.
+
+
+
+ The type of the async operator, used to build workflows for asynchronous computations.
+
+
+ Sends a reply to a PostAndReply message.
+ The value to send.
+
+
+ A handle to a capability to reply to a PostAndReply message.
+
+
+ A compositional asynchronous computation, which, when run, will eventually produce a value
+ of type T, or else raises an exception.
+
+ Asynchronous computations are normally specified using an F# computation expression.
+
+ When run, asynchronous computations have two modes: as a work item (executing synchronous
+ code), or as a wait item (waiting for an event or I/O completion).
+
+ When run, asynchronous computations can be governed by CancellationToken. This can usually
+ be specified when the async computation is started. The associated CancellationTokenSource
+ may be used to cancel the asynchronous computation. Asynchronous computations built using
+ computation expressions can check the cancellation condition regularly. Synchronous
+ computations within an asynchronous computation do not automatically check this condition.
+
+
+ Publishes the event as a first class event value.
+
+
+ Triggers the event using the given parameters.
+ The parameters for the event.
+
+
+ Creates an event object suitable for implementing an arbitrary type of delegate.
+ The event object.
+
+
+ Event implementations for an arbitrary type of delegate.
+
+
+ Publishes an observation as a first class value.
+
+
+ Triggers an observation using the given parameters.
+ The event parameters.
+
+
+ Creates an observable object.
+ The created event.
+
+
+ Event implementations for the IEvent<_> type.
+
+
+ Publishes the event as a first class event value.
+
+
+ Triggers the event using the given sender object and parameters. The sender object may be null.
+ The object triggering the event.
+ The parameters for the event.
+
+
+ Creates an event object suitable for delegate types following the standard .NET Framework convention of a first 'sender' argument.
+ The created event.
+
+
+ Event implementations for a delegate types following the standard .NET Framework convention of a first 'sender' argument.
+
+
+
+
+
+ A delegate type associated with the F# event type IEvent<_>
+ The object that fired the event.
+ The event arguments.
+
+
+ Remove a listener delegate from an event listener store.
+ The delegate to be removed from the event listener store.
+
+
+ Connect a handler delegate object to the event. A handler can
+ be later removed using RemoveHandler. The listener will
+ be invoked when the event is fired.
+ A delegate to be invoked when the event is fired.
+
+
+ First class event values for arbitrary delegate types.
+
+ F# gives special status to member properties compatible with type IDelegateEvent and
+ tagged with the CLIEventAttribute. In this case the F# compiler generates approriate
+ CLI metadata to make the member appear to other CLI languages as a CLI event.
+
+
+ First-class listening points (i.e. objects that permit you to register a callback
+ activated when the event is triggered).
+
+
+ First class event values for CLI events conforming to CLI Framework standards.
+
+
+ The type of delayed computations.
+
+ Use the values in the Lazy module to manipulate
+ values of this type, and the notation lazy expr to create values
+ of type .
+
+
+ Raises a timeout exception if a message not received in this amount of time. By default
+ no timeout is used.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Raises a timeout exception if a message not received in this amount of time. By default
+ no timeout is used.
+
+
+ Returns the number of unprocessed messages in the message queue of the agent.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Scans for a message by looking through messages in arrival order until scanner
+ returns a Some value. Other messages remain in the queue.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ The function to return None if the message is to be skipped
+ or Some if the message is to be processed and removed from the queue.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that scanner built off the read message.
+
+
+ Waits for a message. This will consume the first message in arrival order.
+
+ This method is for use within the body of the agent.
+
+ Returns None if a timeout is given and the timeout is exceeded.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ An optional timeout in milliseconds. Defaults to -1 which
+ corresponds to System.Threading.Timeout.Infinite.
+ An asynchronous computation that returns the received message or
+ None if the timeout is exceeded.
+
+
+ Like PostAndReply, but returns None if no reply within the timeout period.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ The reply from the agent or None if the timeout expires.
+
+
+ Starts the agent.
+
+
+ Creates and starts an agent. The body function is used to generate the asynchronous
+ computation executed by the agent.
+ The function to produce an asynchronous computation that will be executed
+ as the read loop for the MailboxProcessor when Start is called.
+ An optional cancellation token for the body.
+ Defaults to Async.DefaultCancellationToken.
+ The created MailboxProcessor.
+
+
+ Scans for a message by looking through messages in arrival order until scanner
+ returns a Some value. Other messages remain in the queue.
+
+ Returns None if a timeout is given and the timeout is exceeded.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ The function to return None if the message is to be skipped
+ or Some if the message is to be processed and removed from the queue.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that scanner built off the read message.
+ Thrown when the timeout is exceeded.
+
+
+ Waits for a message. This will consume the first message in arrival order.
+
+ This method is for use within the body of the agent.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that returns the received message.
+ Thrown when the timeout is exceeded.
+
+
+ Like AsyncPostAndReply, but returns None if no reply within the timeout period.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ An asynchronous computation that will return the reply or None if the timeout expires.
+
+
+ Posts a message to an agent and await a reply on the channel, synchronously.
+
+ The message is generated by applying buildMessage to a new reply channel
+ to be incorporated into the message. The receiving agent must process this
+ message and invoke the Reply method on this reply channel precisely once.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ The reply from the agent.
+
+
+ Posts a message to an agent and await a reply on the channel, asynchronously.
+
+ The message is generated by applying buildMessage to a new reply channel
+ to be incorporated into the message. The receiving agent must process this
+ message and invoke the Reply method on this reply channel precisely once.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ An asychronous computation that will wait for the reply from the agent.
+
+
+ Posts a message to the message queue of the MailboxProcessor, asynchronously.
+ The message to post.
+
+
+ Creates an agent. The body function is used to generate the asynchronous
+ computation executed by the agent. This function is not executed until
+ Start is called.
+ The function to produce an asynchronous computation that will be executed
+ as the read loop for the MailboxProcessor when Start is called.
+ An optional cancellation token for the body.
+ Defaults to Async.DefaultCancellationToken.
+ The created MailboxProcessor.
+
+
+ A message-processing agent which executes an asynchronous computation.
+
+ The agent encapsulates a message queue that supports multiple-writers and
+ a single reader agent. Writers send messages to the agent by using the Post
+ method and its variations.
+
+ The agent may wait for messages using the Receive or TryReceive methods or
+ scan through all available messages using the Scan or TryScan method.
+
+
+
+
+
+ Connects a listener function to the observable. The listener will
+ be invoked for each observation. The listener can be removed by
+ calling Dispose on the returned IDisposable object.
+ The function to be called for each observation.
+ An object that will remove the listener if disposed.
+
+
+ Permanently connects a listener function to the observable. The listener will
+ be invoked for each observation.
+ The function to be called for each observation.
+
+
+ Returns an asynchronous computation that will write the given bytes to the stream.
+ The buffer to write from.
+ An optional offset as a number of bytes in the stream.
+ An optional number of bytes to write to the stream.
+ An asynchronous computation that will write the given bytes to the stream.
+ Thrown when the sum of offset and count is longer than
+ the buffer length.
+ Thrown when offset or count is negative.
+
+
+ Returns an asynchronous computation that will read the given number of bytes from the stream.
+ The number of bytes to read.
+ An asynchronous computation that returns the read byte[] when run.
+
+
+ Returns an asynchronous computation that will read from the stream into the given buffer.
+ The buffer to read into.
+ An optional offset as a number of bytes in the stream.
+ An optional number of bytes to read from the stream.
+ An asynchronous computation that will read from the stream into the given buffer.
+ Thrown when the sum of offset and count is longer than
+ the buffer length.
+ Thrown when offset or count is negative.
+
+
+ A module of extension members providing asynchronous operations for some basic CLI types related to concurrency and I/O.
+
+
+ Returns a new event that triggers on the second and subsequent triggerings of the input event.
+ The Nth triggering of the input event passes the arguments from the N-1th and Nth triggering as
+ a pair. The argument passed to the N-1th triggering is held in hidden internal state until the
+ Nth triggering occurs.
+ The input event.
+ An event that triggers on pairs of consecutive values passed from the source event.
+
+
+ Runs the given function each time the given event is triggered.
+ The function to call when the event is triggered.
+ The input event.
+
+
+ Returns a new event consisting of the results of applying the given accumulating function
+ to successive values triggered on the input event. An item of internal state
+ records the current value of the state parameter. The internal state is not locked during the
+ execution of the accumulation function, so care should be taken that the
+ input IEvent not triggered by multiple threads simultaneously.
+ The function to update the state with each event value.
+ The initial state.
+ The input event.
+ An event that fires on the updated state values.
+
+
+ Returns a new event which fires on a selection of messages from the original event.
+ The selection function takes an original message to an optional new message.
+ The function to select and transform event values to pass on.
+ The input event.
+ An event that fires only when the chooser returns Some.
+
+
+ Returns a new event that listens to the original event and triggers the
+ first resulting event if the application of the function to the event arguments
+ returned a Choice1Of2, and the second event if it returns a Choice2Of2.
+ The function to transform event values into one of two types.
+ The input event.
+ A tuple of events. The first fires whenever splitter evaluates to Choice1of1 and
+ the second fires whenever splitter evaluates to Choice2of2.
+
+
+ Returns a new event that listens to the original event and triggers the
+ first resulting event if the application of the predicate to the event arguments
+ returned true, and the second event if it returned false.
+ The function to determine which output event to trigger.
+ The input event.
+ A tuple of events. The first is triggered when the predicate evaluates to true
+ and the second when the predicate evaluates to false.
+
+
+ Returns a new event that listens to the original event and triggers the resulting
+ event only when the argument to the event passes the given function.
+ The function to determine which triggers from the event to propagate.
+ The input event.
+ An event that only passes values that pass the predicate.
+
+
+ Returns a new event that passes values transformed by the given function.
+ The function to transform event values.
+ The input event.
+ An event that passes the transformed values.
+
+
+ Fires the output event when either of the input events fire.
+ The first input event.
+ The second input event.
+ An event that fires when either of the input events fire.
+
+
+
+
+
+ Forces the execution of this value and return its result. Same as Value. Mutual exclusion is used to
+ prevent other threads also computing the value.
+ The value of the Lazy object.
+
+
+ Creates a lazy computation that evaluates to the given value when forced.
+ The input value.
+ The created Lazy object.
+
+
+ Creates a lazy computation that evaluates to the result of the given function when forced.
+ The function to provide the value when needed.
+ The created Lazy object.
+
+
+ Extensions related to Lazy values.
+
+
+ Returns a new observable that triggers on the second and subsequent triggerings of the input observable.
+ The Nth triggering of the input observable passes the arguments from the N-1th and Nth triggering as
+ a pair. The argument passed to the N-1th triggering is held in hidden internal state until the
+ Nth triggering occurs.
+
+ For each observer, the registered intermediate observing object is not thread safe.
+ That is, observations arising from the source must not be triggered concurrently
+ on different threads.
+ The input Observable.
+ An Observable that triggers on successive pairs of observations from the input Observable.
+
+
+ Creates an observer which subscribes to the given observable and which calls
+ the given function for each observation.
+ The function to be called on each observation.
+ The input Observable.
+ An object that will remove the callback if disposed.
+
+
+ Creates an observer which permanently subscribes to the given observable and which calls
+ the given function for each observation.
+ The function to be called on each observation.
+ The input Observable.
+
+
+ Returns an observable which, for each observer, allocates an item of state
+ and applies the given accumulating function to successive values arising from
+ the input. The returned object will trigger observations for each computed
+ state value, excluding the initial value. The returned object propagates
+ all errors arising from the source and completes when the source completes.
+
+ For each observer, the registered intermediate observing object is not thread safe.
+ That is, observations arising from the source must not be triggered concurrently
+ on different threads.
+ The function to update the state with each observation.
+ The initial state.
+ The input Observable.
+ An Observable that triggers on the updated state values.
+
+
+ Returns an observable which chooses a projection of observations from the source
+ using the given function. The returned object will trigger observations x
+ for which the splitter returns Some x. The returned object also propagates
+ all errors arising from the source and completes when the source completes.
+ The function that returns Some for observations to be propagated
+ and None for observations to ignore.
+ The input Observable.
+ An Observable that only propagates some of the observations from the source.
+
+
+ Returns two observables which split the observations of the source by the
+ given function. The first will trigger observations x for which the
+ splitter returns Choice1Of2 x. The second will trigger observations
+ y for which the splitter returns Choice2Of2 y The splitter is
+ executed once for each subscribed observer. Both also propagate error
+ observations arising from the source and each completes when the source
+ completes.
+ The function that takes an observation an transforms
+ it into one of the two output Choice types.
+ The input Observable.
+ A tuple of Observables. The first triggers when splitter returns Choice1of2
+ and the second triggers when splitter returns Choice2of2.
+
+
+ Returns two observables which partition the observations of the source by
+ the given function. The first will trigger observations for those values
+ for which the predicate returns true. The second will trigger observations
+ for those values where the predicate returns false. The predicate is
+ executed once for each subscribed observer. Both also propagate all error
+ observations arising from the source and each completes when the source
+ completes.
+ The function to determine which output Observable will trigger
+ a particular observation.
+ The input Observable.
+ A tuple of Observables. The first triggers when the predicate returns true, and
+ the second triggers when the predicate returns false.
+
+
+ Returns an observable which filters the observations of the source
+ by the given function. The observable will see only those observations
+ for which the predicate returns true. The predicate is executed once for
+ each subscribed observer. The returned object also propagates error
+ observations arising from the source and completes when the source completes.
+ The function to apply to observations to determine if it should
+ be kept.
+ The input Observable.
+ An Observable that filters observations based on filter.
+
+
+ Returns an observable which transforms the observations of the source by the
+ given function. The transformation function is executed once for each
+ subscribed observer. The returned object also propagates error observations
+ arising from the source and completes when the source completes.
+ The function applied to observations from the source.
+ The input Observable.
+ An Observable of the type specified by mapping.
+
+
+ Returns an observable for the merged observations from the sources.
+ The returned object propagates success and error values arising
+ from either source and completes when both the sources have completed.
+
+ For each observer, the registered intermediate observing object is not
+ thread safe. That is, observations arising from the sources must not
+ be triggered concurrently on different threads.
+ The first Observable.
+ The second Observable.
+ An Observable that propagates information from both sources.
+
+
+ Basic operations on first class event and other observable objects.
+
+
+ Returns an asynchronous computation that, when run, will wait for the download of the given URI.
+ The URI to retrieve.
+ An asynchronous computation that will wait for the download of the URI.
+
+
+ Returns an asynchronous computation that, when run, will wait for a response to the given WebRequest.
+ An asynchronous computation that waits for response to the WebRequest.
+
+
+ A module of extension members providing asynchronous operations for some basic Web operations.
+
+
+ Creates an instance of the attribute
+ AbstractClassAttribute
+
+
+ Adding this attribute to class definition makes it abstract, which means it need not
+ implement all its methods. Instances of abstract classes may not be constructed directly.
+
+
+ Creates an instance of the attribute
+ AllowNullLiteralAttribute
+
+
+ Adding this attribute to a type lets the 'null' literal be used for the type
+ within F# code. This attribute may only be added to F#-defined class or
+ interface types.
+
+
+ Indicates the namespace or module to be automatically opened when an assembly is referenced
+ or an enclosing module opened.
+
+
+ Creates an attribute used to mark a namespace or module path to be 'automatically opened' when an assembly is referenced
+ The namespace or module to be automatically opened when an assembly is referenced
+ or an enclosing module opened.
+ AutoOpenAttribute
+
+
+ Creates an attribute used to mark a module as 'automatically opened' when the enclosing namespace is opened
+ AutoOpenAttribute
+
+
+ This attribute is used for two purposes. When applied to an assembly, it must be given a string
+ argument, and this argument must indicate a valid module or namespace in that assembly. Source
+ code files compiled with a reference to this assembly are processed in an environment
+ where the given path is automatically oepned.
+
+ When applied to a module within an assembly, then the attribute must not be given any arguments.
+ When the enclosing namespace is opened in user source code, the module is also implicitly opened.
+
+
+ The value of the attribute, indicating whether the type is automatically marked serializable or not
+
+
+ Creates an instance of the attribute
+ Indicates whether the type should be serializable by default.
+ AutoSerializableAttribute
+
+
+ Adding this attribute to a type with value 'false' disables the behaviour where F# makes the
+ type Serializable by default.
+
+
+ Creates an instance of the attribute
+ CLIEventAttribute
+
+
+ Adding this attribute to a property with event type causes it to be compiled with as a CLI
+ metadata event, through a syntactic translation to a pair of 'add_EventName' and
+ 'remove_EventName' methods.
+
+
+ Creates an instance of the attribute
+ CLIMutableAttribute
+
+
+ Adding this attribute to a record type causes it to be compiled to a CLI representation
+ with a default constructor with property getters and setters.
+
+
+ Choice 2 of 2 choices
+
+
+ Choice 1 of 2 choices
+
+
+ Helper types for active patterns with 2 choices.
+
+
+ Choice 3 of 3 choices
+
+
+ Choice 2 of 3 choices
+
+
+ Choice 1 of 3 choices
+
+
+ Helper types for active patterns with 3 choices.
+
+
+ Choice 4 of 4 choices
+
+
+ Choice 3 of 4 choices
+
+
+ Choice 2 of 4 choices
+
+
+ Choice 1 of 4 choices
+
+
+ Helper types for active patterns with 4 choices.
+
+
+ Choice 5 of 5 choices
+
+
+ Choice 4 of 5 choices
+
+
+ Choice 3 of 5 choices
+
+
+ Choice 2 of 5 choices
+
+
+ Choice 1 of 5 choices
+
+
+ Helper types for active patterns with 5 choices.
+
+
+ Choice 6 of 6 choices
+
+
+ Choice 5 of 6 choices
+
+
+ Choice 4 of 6 choices
+
+
+ Choice 3 of 6 choices
+
+
+ Choice 2 of 6 choices
+
+
+ Choice 1 of 6 choices
+
+
+ Helper types for active patterns with 6 choices.
+
+
+ Choice 7 of 7 choices
+
+
+ Choice 6 of 7 choices
+
+
+ Choice 5 of 7 choices
+
+
+ Choice 4 of 7 choices
+
+
+ Choice 3 of 7 choices
+
+
+ Choice 2 of 7 choices
+
+
+ Choice 1 of 7 choices
+
+
+ Helper types for active patterns with 7 choices.
+
+
+ Creates an instance of the attribute
+ ClassAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI class.
+
+
+ Creates an instance of the attribute
+ ComparisonConditionalOnAttribute
+
+
+ This attribute is used to indicate a generic container type satisfies the F# 'comparison'
+ constraint only if a generic argument also satisfies this constraint. For example, adding
+ this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports
+ comparison if the type X also supports comparison and all other conditions for C<X> to support
+ comparison are also met. The type C<'T> can still be used with other type arguments, but a type such
+ as C<(int -> int)> will not support comparison because the type (int -> int) is an F# function type
+ and does not support comparison.
+
+ This attribute will be ignored if it is used on the generic parameters of functions or methods.
+
+
+ Indicates the number of arguments in each argument group
+
+
+ Creates an instance of the attribute
+ Indicates the number of arguments in each argument group.
+ CompilationArgumentCountsAttribute
+
+
+ This attribute is generated automatically by the F# compiler to tag functions and members
+ that accept a partial application of some of their arguments and return a residual function
+
+
+ Indicates the variant number of the entity, if any, in a linear sequence of elements with F# source code
+
+
+ Indicates the relationship between the compiled entity and F# source code
+
+
+ Indicates the sequence number of the entity, if any, in a linear sequence of elements with F# source code
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ This attribute is inserted automatically by the F# compiler to tag types
+ and methods in the generated CLI code with flags indicating the correspondence
+ with original source constructs. It is used by the functions in the
+ Microsoft.FSharp.Reflection namespace to reverse-map compiled constructs to
+ their original forms. It is not intended for use from user code.
+
+
+ Indicates one or more adjustments to the compiled representation of an F# type or member
+
+
+ Creates an instance of the attribute
+ Indicates adjustments to the compiled representation of the type or member.
+ CompilationRepresentationAttribute
+
+
+ This attribute is used to adjust the runtime representation for a type.
+ For example, it may be used to note that the null representation
+ may be used for a type. This affects how some constructs are compiled.
+
+
+ Compile a property as a CLI event.
+
+
+ Permit the use of null as a representation for nullary discriminators in a discriminated union.
+
+
+ append 'Module' to the end of a module whose name clashes with a type name in the same namespace.
+
+
+ Compile a member as 'instance' even if null is used as a representation for this type.
+
+
+ Compile an instance member as 'static' .
+
+
+ No special compilation representation.
+
+
+
+
+
+ Indicates one or more adjustments to the compiled representation of an F# type or member.
+
+
+ Indicates the name of the entity in F# source code
+
+
+ Creates an instance of the attribute
+ The name of the method in source.
+ CompilationSourceNameAttribute
+
+
+ This attribute is inserted automatically by the F# compiler to tag
+ methods which are given the 'CompiledName' attribute. It is not intended
+ for use from user code.
+
+
+ The name of the value as it appears in compiled code
+
+
+ Creates an instance of the attribute
+ The name to use in compiled code.
+ CompiledNameAttribute
+
+
+ Adding this attribute to a value or function definition in an F# module changes the name used
+ for the value in compiled CLI code.
+
+
+ Indicates if the construct should always be hidden in an editing environment.
+
+
+ Indicates if the message should indicate a compiler error. Error numbers less than
+ 10000 are considered reserved for use by the F# compiler and libraries.
+
+
+ Indicates the number associated with the message.
+
+
+ Indicates the warning message to be emitted when F# source code uses this construct
+
+
+ Indicates if the construct should always be hidden in an editing environment.
+
+
+ Indicates if the message should indicate a compiler error. Error numbers less than
+ 10000 are considered reserved for use by the F# compiler and libraries.
+
+
+ Creates an instance of the attribute.
+
+
+ Indicates that a message should be emitted when F# source code uses this construct.
+
+
+ Creates an instance of the attribute
+ CustomComparisonAttribute
+
+
+ Adding this attribute to a type indicates it is a type with a user-defined implementation of comparison.
+
+
+ Creates an instance of the attribute
+ CustomEqualityAttribute
+
+
+ Adding this attribute to a type indicates it is a type with a user-defined implementation of equality.
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression
+
+
+ Indicates the name used for the 'on' part of the custom query operator for join-like operators
+
+
+ Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs
+
+
+ Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint
+
+
+ Indicates if the custom operation is an operation similar to a group join in a sequence computation, supporting two inputs and a correlation constraint, and generating a group
+
+
+ Indicates if the custom operation supports the use of 'into' immediately after the use of the operation in a query or other computation expression to consume the results of the operation
+
+
+ Get the name of the custom operation when used in a query or other computation expression
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression
+
+
+ Indicates the name used for the 'on' part of the custom query operator for join-like operators
+
+
+ Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs
+
+
+ Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint
+
+
+ Indicates if the custom operation is an operation similar to a group join in a sequence computation, supporting two inputs and a correlation constraint, and generating a group
+
+
+ Indicates if the custom operation supports the use of 'into' immediately after the use of the operation in a query or other computation expression to consume the results of the operation
+
+
+ Creates an instance of the attribute
+ CustomOperationAttribute
+
+
+
+ Indicates that a member on a computation builder type is a custom query operator,
+ and indicates the name of that operator.
+
+
+
+ The value of the attribute, indicating whether the type has a default augmentation or not
+
+
+ Creates an instance of the attribute
+ Indicates whether to generate helper members on the CLI class representing a discriminated
+ union.
+ DefaultAugmentationAttribute
+
+
+ Adding this attribute to a discriminated union with value false
+ turns off the generation of standard helper member tester, constructor
+ and accessor members for the generated CLI class for that type.
+
+
+ Indicates if a constraint is asserted that the field type supports 'null'
+
+
+ Creates an instance of the attribute
+ Indicates whether to assert that the field type supports null.
+ DefaultValueAttribute
+
+
+ Creates an instance of the attribute
+ DefaultValueAttribute
+
+
+ Adding this attribute to a field declaration means that the field is
+ not initialized. During type checking a constraint is asserted that the field type supports 'null'.
+ If the 'check' value is false then the constraint is not asserted.
+
+
+ Creates an instance of the attribute
+ EntryPointAttribute
+
+
+ Adding this attribute to a function indicates it is the entrypoint for an application.
+ If this attribute is not specified for an EXE then the initialization implicit in the
+ module bindings in the last file in the compilation sequence are used as the entrypoint.
+
+
+ Creates an instance of the attribute
+ EqualityConditionalOnAttribute
+
+
+ This attribute is used to indicate a generic container type satisfies the F# 'equality'
+ constraint only if a generic argument also satisfies this constraint. For example, adding
+ this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports
+ equality if the type X also supports equality and all other conditions for C<X> to support
+ equality are also met. The type C<'T> can still be used with other type arguments, but a type such
+ as C<(int -> int)> will not support equality because the type (int -> int) is an F# function type
+ and does not support equality.
+
+ This attribute will be ignored if it is used on the generic parameters of functions or methods.
+
+
+ Indicates the warning message to be emitted when F# source code uses this construct
+
+
+ Creates an instance of the attribute
+ The warning message to be emitted when code uses this construct.
+ ExperimentalAttribute
+
+
+ This attribute is used to tag values that are part of an experimental library
+ feature.
+
+
+ Convert an value of type System.Converter to a F# first class function value
+ The input System.Converter.
+ An F# function of the same type.
+
+
+ Convert an F# first class function value to a value of type System.Converter
+ The input function.
+ A System.Converter of the function type.
+
+
+ Convert an F# first class function value to a value of type System.Converter
+ The input function.
+ System.Converter<'T,'U>
+
+
+ Invoke an F# first class function value with two curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The function result.
+
+
+ Invoke an F# first class function value with three curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The function result.
+
+
+ Invoke an F# first class function value with four curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The function result.
+
+
+ Invoke an F# first class function value with five curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The fifth arg.
+ The function result.
+
+
+ Invoke an F# first class function value with one argument
+
+ 'U
+
+
+ Convert an value of type System.Converter to a F# first class function value
+ The input System.Converter.
+ An F# function of the same type.
+
+
+ Construct an instance of an F# first class function value
+ The created F# function.
+
+
+ The CLI type used to represent F# function values. This type is not
+ typically used directly, though may be used from other CLI languages.
+
+
+ The release number of the F# version associated with the attribute
+
+
+ The minor version number of the F# version associated with the attribute
+
+
+ The major version number of the F# version associated with the attribute
+
+
+ Creates an instance of the attribute
+ The major version number.
+ The minor version number.
+ The release number.
+ FSharpInterfaceDataVersionAttribute
+
+
+ This attribute is added to generated assemblies to indicate the
+ version of the data schema used to encode additional F#
+ specific information in the resource attached to compiled F# libraries.
+
+
+ Specialize the type function at a given type
+ The specialized type.
+
+
+ Construct an instance of an F# first class type function value
+ FSharpTypeFunc
+
+
+ The CLI type used to represent F# first-class type function values. This type is for use
+ by compiled F# code.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+ Tuple of values generated by scan or match.
+
+
+ Convert the given Converter delegate object to an F# function value
+ The input Converter.
+ The F# function.
+
+
+ Convert the given Action delegate object to an F# function value
+ The input action.
+ The F# function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ Helper functions for converting F# first class function values to and from CLI representaions
+ of functions using delegates.
+
+
+ Creates an instance of the attribute
+ GeneralizableValueAttribute
+
+
+ Adding this attribute to a non-function value with generic parameters indicates that
+ uses of the construct can give rise to generic code through type inference.
+
+
+ Creates an instance of the attribute
+ InterfaceAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI interface.
+
+
+ Creates an instance of the attribute
+ LiteralAttribute
+
+
+ Adding this attribute to a value causes it to be compiled as a CLI constant literal.
+
+
+ Creates an instance of the attribute
+ MeasureAnnotatedAbbreviationAttribute
+
+
+ Adding this attribute to a type causes it to be interpreted as a refined type, currently limited to measure-parameterized types.
+ This may only be used under very limited conditions.
+
+
+ Creates an instance of the attribute
+ MeasureAttribute
+
+
+ Adding this attribute to a type causes it to be interpreted as a unit of measure.
+ This may only be used under very limited conditions.
+
+
+ Creates an instance of the attribute
+ NoComparisonAttribute
+
+
+ Adding this attribute to a type indicates it is a type where comparison is an abnormal operation.
+ This means that the type does not satisfy the F# 'comparison' constraint. Within the bounds of the
+ F# type system, this helps ensure that the F# generic comparison function is not instantiated directly
+ at this type. The attribute and checking does not constrain the use of comparison with base or child
+ types of this type.
+
+
+ Creates an instance of the attribute
+ NoDynamicInvocationAttribute
+
+
+ This attribute is used to tag values that may not be dynamically invoked at runtime. This is
+ typically added to inlined functions whose implementations include unverifiable code. It
+ causes the method body emitted for the inlined function to raise an exception if
+ dynamically invoked, rather than including the unverifiable code in the generated
+ assembly.
+
+
+ Creates an instance of the attribute
+ NoEqualityAttribute
+
+
+ Adding this attribute to a type indicates it is a type where equality is an abnormal operation.
+ This means that the type does not satisfy the F# 'equality' constraint. Within the bounds of the
+ F# type system, this helps ensure that the F# generic equality function is not instantiated directly
+ at this type. The attribute and checking does not constrain the use of comparison with base or child
+ types of this type.
+
+
+ The representation of "Value of type 'T"
+ The input value.
+ An option representing the value.
+
+
+ The representation of "No value"
+
+
+ Get the value of a 'Some' option. A NullReferenceException is raised if the option is 'None'.
+
+
+ Create an option value that is a 'None' value.
+
+
+ Return 'true' if the option is a 'Some' value.
+
+
+ Return 'true' if the option is a 'None' value.
+
+
+ Create an option value that is a 'Some' value.
+ The input value
+ An option representing the value.
+
+
+ The type of optional values. When used from other CLI languages the
+ empty option is the null value.
+
+ Use the constructors Some and None to create values of this type.
+ Use the values in the Option module to manipulate values of this type,
+ or pattern match against the values directly.
+
+ None values will appear as the value null to other CLI languages.
+ Instance methods on this type will appear as static methods to other CLI languages
+ due to the use of null as a value representation.
+
+
+ Creates an instance of the attribute
+ OptionalArgumentAttribute
+
+
+ This attribute is added automatically for all optional arguments.
+
+
+ The raw text of the format string.
+
+
+ Construct a format string
+ The input string.
+ The PrintfFormat containing the formatted result.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+
+
+ Construct a format string
+ The input string.
+ The created format string.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+ Tuple of values generated by scan or match.
+
+
+ Creates an instance of the attribute
+ ProjectionParameterAttribute
+
+
+ Indicates that, when a custom operator is used in a computation expression,
+ a parameter is automatically parameterized by the variable space of the computation expression
+
+
+
+ The current value of the reference cell
+
+
+
+ The current value of the reference cell
+
+
+ The current value of the reference cell
+
+
+ The type of mutable references. Use the functions [:=] and [!] to get and
+ set values of this type.
+
+
+ Creates an instance of the attribute
+ ReferenceEqualityAttribute
+
+
+ Adding this attribute to a record or union type disables the automatic generation
+ of overrides for 'System.Object.Equals(obj)', 'System.Object.GetHashCode()'
+ and 'System.IComparable' for the type. The type will by default use reference equality.
+
+
+ Creates an instance of the attribute
+ ReflectedDefinitionAttribute
+
+
+ Adding this attribute to the let-binding for the definition of a top-level
+ value makes the quotation expression that implements the value available
+ for use at runtime.
+
+
+ Creates an instance of the attribute
+ RequireQualifiedAccessAttribute
+
+
+ This attribute is used to indicate that references to the elements of a module, record or union
+ type require explicit qualified access.
+
+
+ Creates an instance of the attribute
+ RequiresExplicitTypeArgumentsAttribute
+
+
+ Adding this attribute to a type, value or member requires that
+ uses of the construct must explicitly instantiate any generic type parameters.
+
+
+ The value of the attribute, indicating whether the type is sealed or not.
+
+
+ Creates an instance of the attribute
+ Indicates whether the class is sealed.
+ SealedAttribute
+
+
+ Creates an instance of the attribute.
+ The created attribute.
+
+
+ Adding this attribute to class definition makes it sealed, which means it may not
+ be extended or implemented.
+
+
+ Indicates that the compiled entity had private or internal representation in F# source code.
+
+
+ The mask of values related to the kind of the compiled entity.
+
+
+ Indicates that the compiled entity is part of the representation of an F# value declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# union case declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# module declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# closure.
+
+
+ Indicates that the compiled entity is part of the representation of an F# exception declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# record or union case field declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# class or other object type declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# record type declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# union type declaration.
+
+
+ Indicates that the compiled entity has no relationship to an element in F# source code.
+
+
+
+
+
+ Indicates the relationship between a compiled entity in a CLI binary and an element in F# source code.
+
+
+ Creates an instance of the attribute
+ StructAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI struct.
+
+
+ Creates an instance of the attribute
+ StructuralComparisonAttribute
+
+
+ Adding this attribute to a record, union, exception, or struct type confirms the
+ automatic generation of implementations for 'System.IComparable' for the type.
+
+
+ Creates an instance of the attribute
+ StructuralEqualityAttribute
+
+
+ Adding this attribute to a record, union or struct type confirms the automatic
+ generation of overrides for 'System.Object.Equals(obj)' and
+ 'System.Object.GetHashCode()' for the type.
+
+
+ Indicates the text to display by default when objects of this type are displayed
+ using '%A' printf formatting patterns and other two-dimensional text-based display
+ layouts.
+
+
+ Creates an instance of the attribute
+ Indicates the text to display when using the '%A' printf formatting.
+ StructuredFormatDisplayAttribute
+
+
+ This attribute is used to mark how a type is displayed by default when using
+ '%A' printf formatting patterns and other two-dimensional text-based display layouts.
+ In this version of F# the only valid values are of the form PreText {PropertyName} PostText.
+ The property name indicates a property to evaluate and to display instead of the object itself.
+
+
+ The type 'unit', which has only one value "()". This value is special and
+ always uses the representation 'null'.
+
+
+ Creates an instance of the attribute
+ UnverifiableAttribute
+
+
+ This attribute is used to tag values whose use will result in the generation
+ of unverifiable code. These values are inevitably marked 'inline' to ensure that
+ the unverifiable constructs are not present in the actual code for the F# library,
+ but are rather copied to the source code of the caller.
+
+
+ Creates an instance of the attribute
+ VolatileFieldAttribute
+
+
+ Adding this attribute to an F# mutable binding causes the "volatile"
+ prefix to be used for all accesses to the field.
+
+
+ Four dimensional arrays, typically zero-based. Non-zero-based arrays
+ can be created using methods on the System.Array type.
+
+ Use the values in the Array4D module
+ to manipulate values of this type, or the notation arr.[x1,x2,x3,x4] to get and set array
+ values.
+
+
+ Three dimensional arrays, typically zero-based. Non-zero-based arrays
+ can be created using methods on the System.Array type.
+
+ Use the values in the Array3D module
+ to manipulate values of this type, or the notation arr.[x1,x2,x3] to get and set array
+ values.
+
+
+ Two dimensional arrays, typically zero-based.
+
+ Use the values in the Array2D module
+ to manipulate values of this type, or the notation arr.[x,y] to get/set array
+ values.
+
+ Non-zero-based arrays can also be created using methods on the System.Array type.
+
+
+ Single dimensional, zero-based arrays, written int[], string[] etc.
+ Use the values in the Array module to manipulate values
+ of this type, or the notation arr.[x] to get/set array
+ values.
+
+
+ Single dimensional, zero-based arrays, written int[], string[] etc.
+
+ Use the values in the Array module to manipulate values
+ of this type, or the notation arr.[x] to get/set array
+ values.
+
+
+
+
+
+ An abbreviation for the CLI type System.Boolean.
+
+
+ Represents a managed pointer in F# code.
+
+
+ An abbreviation for the CLI type System.Byte.
+
+
+ An abbreviation for the CLI type System.Char.
+
+
+ An abbreviation for the CLI type System.Decimal.
+
+
+ The type of decimal numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Decimal.
+
+
+ An abbreviation for the CLI type System.Double.
+
+
+ An abbreviation for the CLI type System.Exception.
+
+
+ An abbreviation for the CLI type System.Double.
+
+
+ An abbreviation for the CLI type System.Single.
+
+
+ The type of floating point numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Single.
+
+
+ The type of floating point numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Double.
+
+
+ This type is for internal use by the F# code generator.
+
+
+ An abbreviation for the CLI type System.Int32.
+
+
+ An abbreviation for the CLI type System.Int16.
+
+
+ The type of 16-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int16.
+
+
+ An abbreviation for the CLI type System.Int32.
+
+
+ An abbreviation for the CLI type System.Int64.
+
+
+ The type of 64-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int64.
+
+
+ An abbreviation for the CLI type System.SByte.
+
+
+ The type of 32-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int32.
+
+
+ An abbreviation for the CLI type System.IntPtr.
+
+
+ Represents an unmanaged pointer in F# code.
+
+ This type should only be used when writing F# code that interoperates
+ with native code. Use of this type in F# code may result in
+ unverifiable code being generated. Conversions to and from the
+ nativeint type may be required. Values of this type can be generated
+ by the functions in the NativeInterop.NativePtr module.
+
+
+ An abbreviation for the CLI type System.Object.
+
+
+ The type of optional values. When used from other CLI languages the
+ empty option is the null value.
+
+ Use the constructors Some and None to create values of this type.
+ Use the values in the Option module to manipulate values of this type,
+ or pattern match against the values directly.
+
+ 'None' values will appear as the value null to other CLI languages.
+ Instance methods on this type will appear as static methods to other CLI languages
+ due to the use of null as a value representation.
+
+
+ The type of mutable references. Use the functions [:=] and [!] to get and
+ set values of this type.
+
+
+ An abbreviation for the CLI type System.SByte.
+
+
+ The type of 8-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.SByte.
+
+
+ An abbreviation for the CLI type System.Single.
+
+
+ An abbreviation for the CLI type System.String.
+
+
+ An abbreviation for the CLI type System.UInt16.
+
+
+ An abbreviation for the CLI type System.UInt32.
+
+
+ An abbreviation for the CLI type System.UInt64.
+
+
+ An abbreviation for the CLI type System.Byte.
+
+
+ An abbreviation for the CLI type System.UIntPtr.
+
+
+ The type 'unit', which has only one value "()". This value is special and
+ always uses the representation 'null'.
+
+
+
+
+
+
+
+
+
+
+
+ Non-exhaustive match failures will raise the MatchFailureException exception
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A new enumerator for the sequence.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A reference to the sequence.
+
+ A 0, 1, and 2 respectively indicate Stop, Yield, and Goto conditions for the sequence generator.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A new sequence generator for the expression.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates an anonymous event with the given handlers.
+
+ A function to handle adding a delegate for the event to trigger.
+ A function to handle removing a delegate that the event triggers.
+ A function to produce the delegate type the event can trigger.
+
+ The initialized event.
+
+
+ The F# compiler emits calls to this function to implement the use operator for F# sequence
+ expressions.
+
+ The resource to be used and disposed.
+ The input sequence.
+
+ The result sequence.
+
+
+ The F# compiler emits calls to this function to implement the compiler-intrinsic
+ conversions from untyped System.Collections.IEnumerable sequences to typed sequences.
+
+ An initializer function.
+ A function to iterate and test if end of sequence is reached.
+ A function to retrieve the current element.
+
+ The resulting typed sequence.
+
+
+ The F# compiler emits calls to this function to
+ implement the try/finally operator for F# sequence expressions.
+
+ The input sequence.
+ A computation to be included in an enumerator's Dispose method.
+
+ The result sequence.
+
+
+ The F# compiler emits calls to this function to
+ implement the while operator for F# sequence expressions.
+
+ A function that indicates whether iteration should continue.
+ The input sequence.
+
+ The result sequence.
+
+
+ A group of functions used as part of the compiled representation of F# sequence expressions.
+
+
+ An active pattern to force the execution of values of type Lazy<_>.
+
+
+ Special prefix operator for splicing untyped expressions into quotation holes.
+
+
+ Special prefix operator for splicing typed expressions into quotation holes.
+
+
+ Builds a 2D array from a sequence of sequences of elements.
+
+
+ Builds a read-only lookup table from a sequence of key/value pairs. The key objects are indexed using generic hashing and equality.
+
+
+ Converts the argument to signed byte.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using SByte.Parse() with InvariantCulture settings.
+ Otherwise the operation requires and invokes a ToSByte method on the input type.
+
+
+ Converts the argument to byte.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Byte.Parse() on strings and otherwise requires a ToByte method on the input type.
+
+
+ Converts the argument to 64-bit float.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Double.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToDouble method on the input type.
+
+
+ Converts the argument to 32-bit float.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Single.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToSingle method on the input type.
+
+
+ Builds an aysnchronous workflow using computation expression syntax.
+
+
+ Builds a set from a sequence of objects. The objects are indexed using generic comparison.
+ The input sequence of elements.
+ The created set.
+
+
+ Print to a file using the given format, and add a newline.
+ The file TextWriter.
+ The formatter.
+ The formatted result.
+
+
+ Print to a file using the given format.
+ The file TextWriter.
+ The formatter.
+ The formatted result.
+
+
+ Print to a string buffer and raise an exception with the given
+ result. Helper printers must return strings.
+ The formatter.
+ The formatted result.
+
+
+ Print to a string using the given format.
+ The formatter.
+ The formatted result.
+
+
+ Print to stderr using the given format, and add a newline.
+ The formatter.
+ The formatted result.
+
+
+ Print to stderr using the given format.
+ The formatter.
+ The formatted result.
+
+
+ Print to stdout using the given format, and add a newline.
+ The formatter.
+ The formatted result.
+
+
+ Print to stdout using the given format.
+ The formatter.
+ The formatted result.
+
+
+
+
+
+ Divides a value by an integer.
+ The input value.
+ The input int.
+ The division result.
+
+
+
+
+
+ Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One'
+
+
+ Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'
+
+
+ A compiler intrinsic that implements dynamic invocations for the DivideByInt primitive.
+
+
+ A compiler intrinsic that implements dynamic invocations to the checked '*' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the '*' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the checked '+' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the '+' operator.
+
+
+ Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One'.
+
+
+ Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'.
+
+
+ Parse an uint64 according to the rules used by the overloaded 'uint64' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an int64 according to the rules used by the overloaded 'int64' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an uint32 according to the rules used by the overloaded 'uint32' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an int32 according to the rules used by the overloaded 'int32' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Creates an sbyte value with units-of-measure
+ The input sbyte.
+ The sbyte with units-of-measure.
+
+
+ Creates an int16 value with units-of-measure
+ The input int16.
+ The int16 with units-of-measure.
+
+
+ Creates an int64 value with units-of-measure
+ The input int64.
+ The int64 with units of measure.
+
+
+ Creates an int32 value with units-of-measure
+ The input int.
+ The int with units of measure.
+
+
+ Creates a decimal value with units-of-measure
+ The input decimal.
+ The decimal with units of measure.
+
+
+ Creates a float32 value with units-of-measure
+ The input float.
+ The float with units-of-measure.
+
+
+ Creates a float value with units-of-measure
+ The input float.
+ The float with units-of-measure.
+
+
+ Get the underlying value for an enum value
+ The input enum.
+ The enumeration as a value.
+
+
+ Build an enum value from an underlying value
+ The input value.
+ The value as an enumeration.
+
+
+ Recursively hash a part of a value according to its structure.
+ The comparison function.
+ The input object.
+ The hashed value.
+
+
+ Hash a value according to its structure. Use the given limit to restrict the hash when hashing F#
+ records, lists and union types.
+ The limit on the number of nodes.
+ The input object.
+ The hashed value.
+
+
+ Hash a value according to its structure. This hash is not limited by an overall node count when hashing F#
+ records, lists and union types.
+ The input object.
+ The hashed value.
+
+
+ Make an F# hash/equality object for the given type using node-limited hashing when hashing F#
+ records, lists and union types.
+ The input limit on the number of nodes.
+ System.Collections.Generic.IEqualityComparer<'T>
+
+
+ Make an F# hash/equality object for the given type
+
+
+ Make an F# comparer object for the given type, where it can be null if System.Collections.Generic.Comparer<'T>.Default
+
+
+ Make an F# comparer object for the given type
+
+
+ A static F# comparer object
+
+
+ Return an F# comparer object suitable for hashing and equality. This hashing behaviour
+ of the returned comparer is not limited by an overall node count when hashing F#
+ records, lists and union types. This equality comparer has equivalence
+ relation semantics ([nan] = [nan]).
+
+
+ Return an F# comparer object suitable for hashing and equality. This hashing behaviour
+ of the returned comparer is not limited by an overall node count when hashing F#
+ records, lists and union types.
+
+
+ The physical hash. Hashes on the object identity, except for value types,
+ where we hash on the contents.
+ The input object.
+ The hashed value.
+
+
+ Reference/physical equality.
+ True if the inputs are reference-equal, false otherwise.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Take the maximum of two values structurally according to the order given by GenericComparison
+ The first value.
+ The second value.
+ The maximum value.
+
+
+ Take the minimum of two values structurally according to the order given by GenericComparison
+ The first value.
+ The second value.
+ The minimum value.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values. May be called as a recursive case from an implementation of System.IComparable to
+ ensure consistent NaN comparison semantics.
+ The function to compare the values.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality
+
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality using equivalence relation semantics ([nan] = [nan])
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality using partial equivalence relation semantics ([nan] <> [nan])
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+
+ The standard overloaded associative (4-indexed) mutation operator
+
+
+
+ The standard overloaded associative (3-indexed) mutation operator
+
+
+ The standard overloaded associative (2-indexed) mutation operator
+
+
+ The standard overloaded associative (indexed) mutation operator
+
+
+ The standard overloaded associative (4-indexed) lookup operator
+
+
+ The standard overloaded associative (3-indexed) lookup operator
+
+
+ The standard overloaded associative (2-indexed) lookup operator
+
+
+ The standard overloaded associative (indexed) lookup operator
+
+
+ A compiler intrinsic for checking initialization soundness of recursive bindings
+
+
+ A compiler intrinsic for checking initialization soundness of recursive static bindings
+
+
+ A compiler intrinsic for checking initialization soundness of recursive bindings
+
+
+ A compiler intrinsic for the efficient compilation of sequence expressions
+
+
+ This function implements parsing of decimal constants
+
+
+ This function implements calls to default constructors
+ acccessed by 'new' constraints.
+
+
+ Primitive used by pattern match compilation
+
+
+ A compiler intrinsic that implements the ':?' operator
+
+
+ A compiler intrinsic that implements the ':?' operator
+
+
+ A compiler intrinsic that implements the ':?>' operator
+
+
+ A compiler intrinsic that implements the ':?>' operator
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+ Address-of. Uses of this value may result in the generation of unverifiable code.
+ The input object.
+ The unmanaged pointer.
+
+
+ Address-of. Uses of this value may result in the generation of unverifiable code.
+ The input object.
+ The managed pointer.
+
+
+ Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand
+ The first value.
+ The second value.
+ The result of the operation.
+
+
+ Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand.
+
+
+ Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand
+ The first value.
+ The second value.
+ The result of the operation.
+
+
+ Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand.
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ For internal use only
+
+
+ Language primitives associated with the F# language
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+ An active pattern to match values of type System.Collections.Generic.KeyValuePair
+ The input key/value pair.
+ A tuple containing the key and value.
+
+
+ Converts the argument to character. Numeric inputs are converted according to the UTF-16
+ encoding for characters. String inputs must be exactly one character long. For other
+ input types the operation requires an appropriate static conversion method on the input type.
+ The input value.
+ The converted char.
+
+
+ Converts the argument to System.Decimal using a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted decimal.
+
+
+ Converts the argument to a string using ToString.
+
+ For standard integer and floating point values the ToString conversion
+ uses CultureInfo.InvariantCulture.
+ The input value.
+ The converted string.
+
+
+ Converts the argument to unsigned native integer using a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to signed native integer. This is a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to 64-bit float. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Double.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float
+
+
+ Converts the argument to 32-bit float. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Single.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float32
+
+
+ Converts the argument to unsigned 64-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to signed 64-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to unsigned 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to a particular enum type.
+ The input value.
+ The converted enum type.
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to unsigned 16-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to signed 16-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to signed byte. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using SByte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Byte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+ Overloaded power operator. If n > 0 then equivalent to x*...*x for n occurrences of x.
+ The input base.
+ The input exponent.
+ The base raised to the exponent.
+
+
+ Overloaded power operator.
+ The input base.
+ The input exponent.
+ The base raised to the exponent.
+
+
+ Overloaded truncate operator.
+ The input value.
+ The truncated value.
+
+
+ Hyperbolic tangent of the given number
+ The input value.
+ The hyperbolic tangent of the input.
+
+
+ Tangent of the given number
+ The input value.
+ The tangent of the input.
+
+
+ Hyperbolic sine of the given number
+ The input value.
+ The hyperbolic sine of the input.
+
+
+ Sine of the given number
+ The input value.
+ The sine of the input.
+
+
+ Hyperbolic cosine of the given number
+ The input value.
+ The hyperbolic cosine of the input.
+
+
+ Cosine of the given number
+ The input value.
+ The cosine of the input.
+
+
+ Square root of the given number
+ The input value.
+ The square root of the input.
+
+
+ Logarithm to base 10 of the given number
+ The input value.
+ The logarithm to base 10 of the input.
+
+
+ Natural logarithm of the given number
+ The input value.
+ The natural logarithm of the input.
+
+
+ Round the given number
+ The input value.
+ The nearest integer to the input value.
+
+
+ Sign of the given number
+ The input value.
+ -1, 0, or 1 depending on the sign of the input.
+
+
+ Floor of the given number
+ The input value.
+ The floor of the input.
+
+
+ Exponential of the given number
+ The input value.
+ The exponential of the input.
+
+
+ Ceiling of the given number
+ The input value.
+ The ceiling of the input.
+
+
+ Inverse tangent of x/y where x and y are specified separately
+ The y input value.
+ The x input value.
+ The inverse tangent of the input ratio.
+
+
+ Inverse tangent of the given number
+ The input value.
+ The inverse tangent of the input.
+
+
+ Inverse sine of the given number
+ The input value.
+ The inverse sine of the input.
+
+
+ Inverse cosine of the given number
+ The input value.
+ The inverse cosine of the input.
+
+
+ Absolute value of the given number.
+ The input value.
+ The absolute value of the input.
+
+
+ A generic hash function. This function has the same behaviour as 'hash',
+ however the default structural hashing for F# union, record and tuple
+ types stops when the given limit of nodes is reached. The exact behaviour of
+ the function can be adjusted on a type-by-type basis by implementing
+ GetHashCode for each type.
+ The limit of nodes.
+ The input object.
+ The computed hash.
+
+
+ A generic hash function, designed to return equal hash values for items that are
+ equal according to the "=" operator. By default it will use structural hashing
+ for F# union, record and tuple types, hashing the complete contents of the
+ type. The exact behaviour of the function can be adjusted on a
+ type-by-type basis by implementing GetHashCode for each type.
+ The input object.
+ The computed hash.
+
+
+ Returns the internal size of a type in bytes. For example, sizeof<int> returns 4.
+
+
+ Generate a System.Type representation for a type definition. If the
+ input type is a generic type instantiation then return the
+ generic type definition associated with all such instantiations.
+
+
+ An internal, library-only compiler intrinsic for compile-time
+ generation of a RuntimeMethodHandle.
+
+
+ Generate a System.Type runtime representation of a static type.
+ The static type is still maintained on the value returned.
+
+
+ Clean up resources associated with the input object after the completion of the given function.
+ Cleanup occurs even when an exception is raised by the protected
+ code.
+ The resource to be disposed after action is called.
+ The action that accepts the resource.
+ The resulting value.
+
+
+ Execute the function as a mutual-exclusion region using the input value as a lock.
+ The object to be locked.
+ The action to perform during the lock.
+ The resulting value.
+
+
+ The standard overloaded skip range operator, e.g. [n..skip..m] for lists, seq {n..skip..m} for sequences
+ The start value of the range.
+ The step value of the range.
+ The end value of the range.
+ The sequence spanning the range using the specified step size.
+
+
+ The standard overloaded range operator, e.g. [n..m] for lists, seq {n..m} for sequences
+ The start value of the range.
+ The end value of the range.
+ The sequence spanning the range.
+
+
+ Reads the value of the property System.Console.Out.
+
+
+ Reads the value of the property System.Console.Error.
+
+
+ Reads the value of the property System.Console.In.
+
+
+ Equivalent to System.Single.NaN
+
+
+ Equivalent to System.Single.PositiveInfinity
+
+
+ Equivalent to System.Double.NaN
+
+
+ Equivalent to System.Double.PositiveInfinity
+
+
+ Exit the current hardware isolated process, if security settings permit,
+ otherwise raise an exception. Calls System.Environment.Exit.
+ The exit code to use.
+ The result value.
+
+
+ Builds a sequence using sequence expression syntax
+ The input sequence.
+ The result sequence.
+
+
+ Negate a logical value. not true equals false and not false equals true
+ The value to negate.
+ The result of the negation.
+
+
+ Concatenate two lists.
+ The first list.
+ The second list.
+ The concatenation of the lists.
+
+
+ Increment a mutable reference cell containing an integer
+ The reference cell.
+
+
+ Decrement a mutable reference cell containing an integer
+ The reference cell.
+
+
+ Dereference a mutable reference cell
+ The cell to dereference.
+ The value contained in the cell.
+
+
+ Assign to a mutable reference cell
+ The cell to mutate.
+ The value to set inside the cell.
+
+
+ Create a mutable reference cell
+ The value to contain in the cell.
+ The created reference cell.
+
+
+ The identity function
+ The input value.
+ The same value.
+
+
+ Throw a System.InvalidOperationException exception
+ The exception message.
+ The result value.
+
+
+ Throw a System.ArgumentNullException exception
+ The argument name.
+ The result value.
+
+
+ Throw a System.ArgumentException exception with
+ the given argument name and message.
+ The argument name.
+ The exception message.
+ The result value.
+
+
+ Throw a System.Exception exception.
+ The exception message.
+ The result value.
+
+
+ Boxes a strongly typed value.
+ The value to box.
+ The boxed object.
+
+
+ Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a.
+ The boxed value.
+ The unboxed result.
+
+
+ Ignore the passed value. This is often used to throw away results of a computation.
+ The value to ignore.
+
+
+ Minimum based on generic comparison
+ The first value.
+ The second value.
+ The minimum value.
+
+
+ Maximum based on generic comparison
+ The first value.
+ The second value.
+ The maximum value.
+
+
+ Generic comparison.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Return the second element of a tuple, snd (a,b) = b.
+ The input tuple.
+ The second value.
+
+
+ Return the first element of a tuple, fst (a,b) = a.
+ The input tuple.
+ The first value.
+
+
+ Matches System.Exception objects whose runtime type is precisely System.Exception
+ The input exception.
+ A string option.
+
+
+ Builds a System.Exception object.
+ The message for the Exception.
+ A System.Exception.
+
+
+ Rethrows an exception. This should only be used when handling an exception
+ The result value.
+
+
+ Rethrows an exception. This should only be used when handling an exception
+ The result value.
+
+
+ Raises an exception
+ The exception to raise.
+ The result value.
+
+
+ Concatenate two strings. The operator '+' may also be used.
+
+
+ Used to specify a default value for an optional argument in the implementation of a function
+ An option representing the argument.
+ The default value of the argument.
+ The argument value. If it is None, the defaultValue is returned.
+
+
+ Apply a function to three values, the values being a triple on the right, the function on the left
+ The function.
+ The first argument.
+ The second argument.
+ The third argument.
+ The function result.
+
+
+ Apply a function to two values, the values being a pair on the right, the function on the left
+ The function.
+ The first argument.
+ The second argument.
+ The function result.
+
+
+ Apply a function to a value, the value being on the right, the function on the left
+ The function.
+ The argument.
+ The function result.
+
+
+ Apply a function to three values, the values being a triple on the left, the function on the right
+ The first argument.
+ The second argument.
+ The third argument.
+ The function.
+ The function result.
+
+
+ Apply a function to two values, the values being a pair on the left, the function on the right
+ The first argument.
+ The second argument.
+ The function.
+ The function result.
+
+
+ Apply a function to a value, the value being on the left, the function on the right
+ The argument.
+ The function.
+ The function result.
+
+
+ Compose two functions, the function on the right being applied first
+ The second function to apply.
+ The first function to apply.
+ The composition of the input functions.
+
+
+ Compose two functions, the function on the left being applied first
+ The first function to apply.
+ The second function to apply.
+ The composition of the input functions.
+
+
+ Structural inequality
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural equality
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural less-than-or-equal comparison
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural greater-than-or-equal
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural greater-than
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural less-than comparison
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Overloaded prefix=plus operator
+ The input value.
+ The result of the operation.
+
+
+ Overloaded logical-NOT operator
+ The input value.
+ The result of the operation.
+
+
+ Overloaded byte-shift right operator by a specified number of bits
+ The input value.
+ The amount to shift.
+ The result of the operation.
+
+
+ Overloaded byte-shift left operator by a specified number of bits
+ The input value.
+ The amount to shift.
+ The result of the operation.
+
+
+ Overloaded logical-XOR operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded logical-OR operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded logical-AND operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded modulo operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded division operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded multiplication operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded subtraction operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded addition operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded unary negation.
+ The value to negate.
+ The result of the operation.
+
+
+ Converts the argument to char. Numeric inputs are converted using a checked
+ conversion according to the UTF-16 encoding for characters. String inputs must
+ be exactly one character long. For other input types the operation requires an
+ appropriate static conversion method on the input type.
+ The input value.
+ The converted char
+
+
+ Converts the argument to unativeint. This is a direct, checked conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to nativeint. This is a direct, checked conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to uint64. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to int64. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to uint32. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to int32. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to int. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to uint16. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to int16. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to sbyte. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.SByte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Byte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+ Overloaded multiplication operator (checks for overflow)
+ The first value.
+ The second value.
+ The product of the two input values.
+
+
+ Overloaded addition operator (checks for overflow)
+ The first value.
+ The second value.
+ The sum of the two input values.
+
+
+ Overloaded subtraction operator (checks for overflow)
+ The first value.
+ The second value.
+ The first value minus the second value.
+
+
+ Overloaded unary negation (checks for overflow)
+ The input value.
+ The negated value.
+
+
+ This module contains the basic arithmetic operations with overflow checks.
+
+
+ Perform generic hashing on a value where the type of the value is not
+ statically required to satisfy the 'equality' constraint.
+ The computed hash value.
+
+
+ Perform generic equality on two values where the type of the values is not
+ statically required to satisfy the 'equality' constraint.
+ The result of the comparison.
+
+
+ Perform generic comparison on two values where the type of the values is not
+ statically required to have the 'comparison' constraint.
+ The result of the comparison.
+
+
+ Generate a default value for any type. This is null for reference types,
+ For structs, this is struct value where all fields have the default value.
+ This function is unsafe in the sense that some F# values do not have proper null values.
+
+
+ Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a.
+ The boxed value.
+ The unboxed result.
+
+
+ This module contains basic operations which do not apply runtime and/or static checks
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'decimal'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'unativeint'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'nativeint'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint64'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int64'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint16'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int16'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'sbyte'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'byte'
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ Generate a range of values using the given zero, add, start, step and stop values
+
+
+ Generate a range of values using the given zero, add, start, step and stop values
+
+
+ Generate a range of char values
+
+
+ Generate a range of byte values
+
+
+ Generate a range of sbyte values
+
+
+ Generate a range of uint16 values
+
+
+ Generate a range of int16 values
+
+
+ Generate a range of unativeint values
+
+
+ Generate a range of nativeint values
+
+
+ Generate a range of uint32 values
+
+
+ Generate a range of uint64 values
+
+
+ Generate a range of int64 values
+
+
+ Generate a range of float32 values
+
+
+ Generate a range of float values
+
+
+ Generate a range of integers
+
+
+ Gets a slice from a string
+ The source string.
+ The index of the first character of the slice.
+ The index of the last character of the slice.
+ The substring from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The start index of the fourth dimension.
+ The end index of the fourth dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The start index of the fourth dimension.
+ The end index of the fourth dimension.
+ The four dimensional sub array from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The three dimensional sub array from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The two dimensional sub array from the input indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index.
+ The end index.
+ The source array.
+
+
+ Gets a slice of an array
+ The input array.
+ The start index.
+ The end index.
+ The sub array from the input indices.
+
+
+ A module of compiler intrinsic functions for efficient implementations of F# integer ranges
+ and dynamic invocations of other F# operators
+
+
+ Basic F# Operators. This module is automatically opened in all F# code.
+
+
+ Invoke an F# first class function value that accepts five curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The fifth arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept five curried arguments without intervening execution.
+ The input function.
+ The optimized function.
+
+
+ Construct an optimized function value that can accept five curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept five curried arguments
+ without intervening execution. This type should not typically used directly from
+ either F# code or from other CLI languages.
+
+
+ Invoke an F# first class function value that accepts four curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept four curried arguments without intervening execution.
+ The input function.
+ The optimized function.
+
+
+ Construct an optimized function value that can accept four curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept four curried arguments
+ without intervening execution. This type should not typically used directly from
+ either F# code or from other CLI languages.
+
+
+ Invoke an F# first class function value that accepts three curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept three curried arguments without intervening execution.
+ The input function.
+ The adapted function.
+
+
+ Construct an optimized function value that can accept three curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept
+ three iterated (curried) arguments without intervening execution. This type should not
+ typically used directly from either F# code or from other CLI languages.
+
+
+ Invoke the optimized function value with two curried arguments
+ The first arg.
+ The second arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept two curried arguments without intervening execution.
+ The input function.
+ The adapted function.
+
+
+ Construct an optimized function value that can accept two curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept
+ two iterated (curried) arguments without intervening execution. This type should not
+ typically used directly from either F# code or from other CLI languages.
+
+
+ An implementation module used to hold some private implementations of function
+ value invocation.
+
+
+ Convert the option to a list of length 0 or 1.
+ The input option.
+ The result list.
+
+
+ Convert the option to an array of length 0 or 1.
+ The input option.
+ The result array.
+
+
+ bind f inp evaluates to match inp with None -> None | Some x -> f x
+ A function that takes the value of type T from an option and transforms it into
+ an option containing a value of type U.
+ The input option.
+ An option of the output type of the binder.
+
+
+ map f inp evaluates to match inp with None -> None | Some x -> Some (f x).
+ A function to apply to the option value.
+ The input option.
+ An option of the input value after applying the mapping function, or None if the input is None.
+
+
+ iter f inp executes match inp with None -> () | Some x -> f x.
+ A function to apply to the option value.
+ The input option.
+ Unit if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ forall p inp evaluates to match inp with None -> true | Some x -> p x.
+ A function that evaluates to a boolean when given a value from the option type.
+ The input option.
+ True if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ exists p inp evaluates to match inp with None -> false | Some x -> p x.
+ A function that evaluates to a boolean when given a value from the option type.
+ The input option.
+ False if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ fold f inp s evaluates to match inp with None -> s | Some x -> f x s.
+ A function to update the state data when given a value from an option.
+ The input option.
+ The initial state.
+ The original state if the option is None, otherwise it returns the updated state with the folder
+ and the option value.
+
+
+ fold f s inp evaluates to match inp with None -> s | Some x -> f s x.
+ A function to update the state data when given a value from an option.
+ The initial state.
+ The input option.
+ The original state if the option is None, otherwise it returns the updated state with the folder
+ and the option value.
+
+
+ count inp evaluates to match inp with None -> 0 | Some _ -> 1.
+ The input option.
+ A zero if the option is None, a one otherwise.
+
+
+ Gets the value associated with the option.
+ The input option.
+ The value within the option.
+ Thrown when the option is None.
+
+
+ Returns true if the option is None.
+ The input option.
+ True if the option is None.
+
+
+ Returns true if the option is not None.
+ The input option.
+ True if the option is not None.
+
+
+ Basic operations on options.
+
+
+ Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format when formatting builds a string. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Represents a statically-analyzed format when formatting builds a string. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Print to a string buffer and raise an exception with the given
+ result. Helper printers must return strings.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ sprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called to generate a result from the formatted string.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ printf, but call the given 'final' function to generate the result.
+ For example, these let the printing force a flush after all output has
+ been entered onto the channel, but not before.
+ The function called after formatting to generate the format result.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ fprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called after formatting to generate the format result.
+ The input TextWriter.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ bprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called after formatting to generate the format result.
+ The input StringBuilder.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ Print to a string via an internal string buffer and return
+ the result as a string. Helper printers must return strings.
+ The input formatter.
+ The formatted string.
+
+
+ Formatted printing to stdout, adding a newline.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Formatted printing to stdout
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Formatted printing to stderr, adding a newline
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Formatted printing to stderr
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a text writer, adding a newline
+ The TextWriter to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a text writer.
+ The TextWriter to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a System.Text.StringBuilder
+ The StringBuilder to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Extensible printf-style formatting for numbers and other datatypes
+
+ Format specifications are strings with "%" markers indicating format
+ placeholders. Format placeholders consist of:
+
+ %[flags][width][.precision][type]
+
+ where the type is interpreted as follows:
+
+ %b: bool, formatted as "true" or "false"
+ %s: string, formatted as its unescaped contents
+ %c: character literal
+ %d, %i: any basic integer type formatted as a decimal integer, signed if the basic integer type is signed.
+ %u: any basic integer type formatted as an unsigned decimal integer
+ %x, %X, %o: any basic integer type formatted as an unsigned hexadecimal
+ (a-f)/Hexadecimal (A-F)/Octal integer
+
+ %e, %E, %f, %F, %g, %G:
+ any basic floating point type (float,float32) formatted
+ using a C-style floating point format specifications, i.e
+
+ %e, %E: Signed value having the form [-]d.dddde[sign]ddd where
+ d is a single decimal digit, dddd is one or more decimal
+ digits, ddd is exactly three decimal digits, and sign
+ is + or -
+
+ %f: Signed value having the form [-]dddd.dddd, where dddd is one
+ or more decimal digits. The number of digits before the
+ decimal point depends on the magnitude of the number, and
+ the number of digits after the decimal point depends on
+ the requested precision.
+
+ %g, %G: Signed value printed in f or e format, whichever is
+ more compact for the given value and precision.
+
+
+ %M: System.Decimal value
+
+ %O: Any value, printed by boxing the object and using it's ToString method(s)
+
+ %A: Any value, printed with the default layout settings
+
+ %a: A general format specifier, requires two arguments:
+ (1) a function which accepts two arguments:
+ (a) a context parameter of the appropriate type for the
+ given formatting function (e.g. an #System.IO.TextWriter)
+ (b) a value to print
+ and which either outputs or returns appropriate text.
+
+ (2) the particular value to print
+
+
+ %t: A general format specifier, requires one argument:
+ (1) a function which accepts a context parameter of the
+ appropriate type for the given formatting function (e.g.
+ an System.IO.TextWriter)and which either outputs or returns
+ appropriate text.
+
+ Basic integer types are:
+ byte,sbyte,int16,uint16,int32,uint32,int64,uint64,nativeint,unativeint
+ Basic floating point types are:
+ float, float32
+
+ The optional width is an integer indicating the minimal width of the
+ result. For instance, %6d prints an integer, prefixing it with spaces
+ to fill at least 6 characters. If width is '*', then an extra integer
+ argument is taken to specify the corresponding width.
+
+ any number
+ '*':
+
+ Valid flags are:
+
+ 0: add zeros instead of spaces to make up the required width
+ '-': left justify the result within the width specified
+ '+': add a '+' character if the number is positive (to match a '-' sign
+ for negatives)
+ ' ': add an extra space if the number is positive (to match a '-'
+ sign for negatives)
+
+ The printf '#' flag is invalid and a compile-time error will be reported if it is used.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the length of the string.
+ The input string.
+ The number of characters in the string.
+ Thrown when the input string is null.
+
+
+ Returns a string by concatenating count instances of str.
+ The number of copies of the input string will be copied.
+ The input string.
+ The concatenated string.
+ Thrown when the input string is null.
+
+
+ Tests if any character of the string satisfies the given predicate.
+ The function to test each character of the string.
+ The input string.
+ True if any character returns true for the predicate and false otherwise.
+ Thrown when the input string is null.
+
+
+ Tests if all characters in the string satisfy the given predicate.
+ The function to test each character of the string.
+ The input string.
+ True if all characters return true for the predicate and false otherwise.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each index from 0 to count-1 and concatenating the resulting
+ strings.
+ The number of strings to initialize.
+ The function to take an index and produce a string to
+ be concatenated with the others.
+ The constructed string.
+ Thrown when count is negative.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each of the characters of the input string and concatenating the resulting
+ strings.
+ The function to produce a string from each character of the input string.
+ The input string.
+ The concatenated string.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each character and index of the input string.
+ The function to apply to each character and index of the string.
+ The input string.
+ The resulting string.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each of the characters of the input string.
+ The function to apply to the characters of the string.
+ The input string.
+ The resulting string.
+ Thrown when the input string is null.
+
+
+ Applies the function action to the index of each character in the string and the
+ character itself.
+ The function to apply to each character and index of the string.
+ The input string.
+ Thrown when the input string is null.
+
+
+ Applies the function action to each character in the string.
+ The function to be applied to each character of the string.
+ The input string.
+ Thrown when the input string is null.
+
+
+ Returns a new string made by concatenating the given strings
+ with separator sep, that is a1 + sep + ... + sep + aN.
+ The separator string to be inserted between the strings
+ of the input sequence.
+ The sequence of strings to be concatenated.
+ A new string consisting of the concatenated strings separated by
+ the separation string.
+ Thrown when strings is null.
+
+
+ Functional programming operators for string processing. Further string operations
+ are available via the member functions on strings and other functionality in
+ System.String
+ and System.Text.RegularExpressions types.
+
+
+
+ The SI unit of catalytic activity
+
+
+
+
+ The SI unit of does equivalent
+
+
+
+
+ The SI unit of absorbed dose
+
+
+
+
+ The SI unit of activity referred to a radionuclide
+
+
+
+
+ The SI unit of illuminance
+
+
+
+
+ The SI unit of luminous flux
+
+
+
+
+ The SI unit of inductance
+
+
+
+
+ The SI unit of magnetic flux density
+
+
+
+
+ The SI unit of magnetic flux
+
+
+
+
+ The SI unit of electric conductance
+
+
+
+
+ The SI unit of electric resistance
+
+
+
+
+ The SI unit of capacitance
+
+
+
+
+ The SI unit of electric potential difference, electromotive force
+
+
+
+
+ The SI unit of electric charge, amount of electricity
+
+
+
+
+ The SI unit of power, radiant flux
+
+
+
+
+ The SI unit of energy, work, amount of heat
+
+
+
+
+ The SI unit of pressure, stress
+
+
+
+
+ The SI unit of force
+
+
+
+
+ The SI unit of frequency
+
+
+
+
+ The SI unit of luminous intensity
+
+
+
+
+ The SI unit of amount of substance
+
+
+
+
+ The SI unit of thermodynamic temperature
+
+
+
+
+ The SI unit of electric current
+
+
+
+
+ The SI unit of time
+
+
+
+
+ The SI unit of mass
+
+
+
+
+ The SI unit of length
+
+
+
+
+ The SI unit of length
+
+
+
+
+ A synonym for henry, the SI unit of inductance
+
+
+
+
+ A synonym for katal, the SI unit of catalytic activity
+
+
+
+
+ A synonym for sievert, the SI unit of does equivalent
+
+
+
+
+ A synonym for gray, the SI unit of absorbed dose
+
+
+
+
+ A synonym for becquerel, the SI unit of activity referred to a radionuclide
+
+
+
+
+ A synonym for lux, the SI unit of illuminance
+
+
+
+
+ A synonym for lumen, the SI unit of luminous flux
+
+
+
+
+ A synonym for tesla, the SI unit of magnetic flux density
+
+
+
+
+ A synonym for weber, the SI unit of magnetic flux
+
+
+
+
+ A synonym for UnitNames.ohm, the SI unit of electric resistance.
+
+
+
+
+ A synonym for siemens, the SI unit of electric conductance
+
+
+
+
+ A synonym for farad, the SI unit of capacitance
+
+
+
+
+ A synonym for volt, the SI unit of electric potential difference, electromotive force
+
+
+
+
+ A synonym for coulomb, the SI unit of electric charge, amount of electricity
+
+
+
+
+ A synonym for watt, the SI unit of power, radiant flux
+
+
+
+
+ A synonym for joule, the SI unit of energy, work, amount of heat
+
+
+
+
+ A synonym for pascal, the SI unit of pressure, stress
+
+
+
+
+ A synonym for newton, the SI unit of force
+
+
+
+
+ A synonym for hertz, the SI unit of frequency
+
+
+
+
+ A synonym for candela, the SI unit of luminous intensity
+
+
+
+
+ A synonym for mole, the SI unit of amount of substance
+
+
+
+
+ A synonym for kelvin, the SI unit of thermodynamic temperature
+
+
+
+
+ A synonym for ampere, the SI unit of electric current
+
+
+
+
+ A synonym for second, the SI unit of time
+
+
+
+
+ A synonym for kilogram, the SI unit of mass
+
+
+
+
+ A synonym for Metre, the SI unit of length
+
+
+
+
+ Abstract internal type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Allocates a region of memory on the stack.
+ The number of objects of type T to allocate.
+ A typed pointer to the allocated memory.
+
+
+ Assigns the value into the memory location referenced by the typed native
+ pointer computed by adding index * sizeof<'T> to the given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ The value to assign.
+
+
+ Assigns the value into the memory location referenced by the given typed native pointer.
+ The input pointer.
+ The value to assign.
+
+
+ Dereferences the given typed native pointer.
+ The input pointer.
+ The value at the pointer address.
+
+
+ Dereferences the typed native pointer computed by adding index * sizeof<'T> to the
+ given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ The value at the pointer address.
+
+
+ Returns a typed native pointer by adding index * sizeof<'T> to the
+ given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ A typed pointer.
+
+
+ Returns a machine address for a given typed native pointer.
+ The input pointer.
+ The machine address.
+
+
+ Returns a typed native pointer for a given machine address.
+ The pointer address.
+ A typed pointer.
+
+
+ Contains operations on native pointers. Use of these operators may
+ result in the generation of unverifiable code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the raw expression associated with this type-carrying expression
+
+
+ Type-carrying quoted expressions. Expressions are generated either
+ by quotations in source text or programatically
+
+
+ Returns type of an expression.
+
+
+ Returns the custom attributes of an expression.
+
+
+ Builds an expression that represents a while loop
+ The predicate to control the loop iteration.
+ The body of the while loop.
+ The resulting expression.
+
+
+ Builds an expression that represents setting a mutable variable
+ The input variable.
+ The value to set.
+ The resulting expression.
+
+
+ Builds an expression that represents a variable
+ The input variable.
+ The resulting expression.
+
+
+ Builds an expression that represents a constant value
+ The typed value.
+ The resulting expression.
+
+
+ Builds an expression that represents a constant value of a particular type
+ The untyped object.
+ The type of the object.
+ The resulting expression.
+
+
+ Builds an expression that represents a test of a value is of a particular union case
+ The expression to test.
+ The description of the union case.
+ The resulting expression.
+
+
+ Builds an expression that represents a type test.
+ The expression to test.
+ The target type.
+ The resulting expression.
+
+
+ Builds an expression that represents getting a field of a tuple
+ The input tuple.
+ The index of the tuple element to get.
+ The resulting expression.
+
+
+ Builds an expression that represents a try/with construct for exception filtering and catching.
+ The body of the try expression.
+
+
+ The variable to bind to a caught exception.
+ The expression evaluated when an exception is caught.
+ The resulting expression.
+
+
+ Try and find a stored reflection definition for the given method. Stored reflection
+ definitions are added to an F# assembly through the use of the [<ReflectedDefinition>] attribute.
+ The description of the method to find.
+ The reflection definition or None if a match could not be found.
+
+
+ Builds an expression that represents a try/finally construct
+ The body of the try expression.
+ The final part of the expression to be evaluated.
+ The resulting expression.
+
+
+ Format the expression as a string
+ Indicates if method, property, constructor and type objects should be printed in detail. If false, these are abbreviated to their name.
+ The formatted string.
+
+
+ Substitutes through the given expression using the given functions
+ to map variables to new values. The functions must give consistent results
+ at each application. Variable renaming may occur on the target expression
+ if variable capture occurs.
+ The function to map variables into expressions.
+ The expression with the given substitutions.
+
+
+ Builds an expression that represents the sequential execution of one expression followed by another
+ The first expression.
+ The second expression.
+ The resulting expression.
+
+
+ Permits interactive environments such as F# Interactive
+ to explicitly register new pickled resources that represent persisted
+ top level definitions. The string indicates a unique name for the resources
+ being added. The format for the bytes is the encoding generated by the F# compiler.
+ The assembly associated with the resource.
+ The unique name for the resources being added.
+ The serialized resource to register with the environment.
+
+
+ Builds an expression that represents a nested quotation literal
+ The expression being quoted.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a static property
+ The description of the property.
+ The value to set.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a property of an object
+ The input object.
+ The description of the property.
+ The value to set.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents reading a static property
+ The description of the property.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents reading a property of an object
+ The input object.
+ The description of the property.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of a union case value
+ The description of the union case.
+ The list of arguments for the case.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of an F# tuple value
+ The list of elements of the tuple.
+ The resulting expression.
+
+
+ Builds record-construction expressions
+ The type of record.
+ The list of elements of the record.
+ The resulting expression.
+
+
+ Builds an expression that represents the invocation of an object constructor
+ The description of the constructor.
+ The list of arguments to the constructor.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of a delegate value for the given type
+ The type of delegate.
+ The parameters for the delegate.
+ The body of the function.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of an array value initialized with the given elements
+ The type for the elements of the array.
+ The list of elements of the array.
+ The resulting expression.
+
+
+ Builds recursives expressions associated with 'let rec' constructs
+ The list of bindings for the let expression.
+ The sub-expression where the bindings are in scope.
+ The resulting expression.
+
+
+ Builds expressions associated with 'let' constructs
+ The variable in the let expression.
+ The expression bound to the variable.
+ The sub-expression where the binding is in scope.
+ The resulting expression.
+
+
+ Builds an expression that represents the constrution of an F# function value
+ The parameter to the function.
+ The body of the function.
+ The resulting expression.
+
+
+ Builds 'if ... then ... else' expressions.
+ The condition expression.
+ The then sub-expression.
+ The else sub-expression.
+ The resulting expression.
+
+
+ Fetches or creates a new variable with the given name and type from a global pool of shared variables
+ indexed by name and type. The type is given by the expicit or inferred type parameter
+ The variable name.
+ The created of fetched typed global variable.
+
+
+ Gets the free expression variables of an expression as a list.
+ A sequence of the free variables in the expression.
+
+
+ Builds a 'for i = ... to ... do ...' expression that represent loops over integer ranges
+ The sub-expression declaring the loop variable.
+ The sub-expression setting the initial value of the loop variable.
+ The sub-expression declaring the final value of the loop variable.
+ The sub-expression representing the body of the loop.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a field of an object
+ The input object.
+ The description of the field to write to.
+ The value to set to the field.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a static field
+ The description of the field to write to.
+ The value to the set to the field.
+ The resulting expression.
+
+
+ Builds an expression that represents the access of a field of an object
+ The input object.
+ The description of the field to access.
+ The resulting expression.
+
+
+ Builds an expression that represents the access of a static field
+ The description of the field to access.
+ The resulting expression.
+
+
+
+
+
+ This function is called automatically when quotation syntax (<@ @>) and related typed-expression
+ quotations are used. The bytes are a pickled binary representation of an unlinked form of the quoted expression,
+ and the System.Type argument is any type in the assembly where the quoted
+ expression occurs, i.e. it helps scope the interpretation of the cross-assembly
+ references in the bytes.
+ A type in the assembly where the quotation occurs.
+ The list of spliced types.
+ The list of spliced expressions.
+ The serialized form of the quoted expression.
+ The resulting expression.
+
+
+ Builds an expression that represents the invocation of a default object constructor
+ The type on which the constructor is invoked.
+ The resulting expression.
+
+
+ Builds an expression that represents the coercion of an expression to a type
+ The expression to coerce.
+ The target type.
+ The resulting expression.
+
+
+ Returns a new typed expression given an underlying runtime-typed expression.
+ A type annotation is usually required to use this function, and
+ using an incorrect type annotation may result in a later runtime exception.
+ The expression to cast.
+ The resulting typed expression.
+
+
+ Builds an expression that represents a call to an instance method associated with an object
+ The input object.
+ The description of the method to call.
+ The list of arguments to the method.
+ The resulting expression.
+
+
+ Builds an expression that represents a call to an static method or module-bound function
+ The MethodInfo describing the method to call.
+ The list of arguments to the method.
+ The resulting expression.
+
+
+ Builds an expression that represents the application of a first class function value to multiple arguments
+ The function to apply.
+ The list of lists of arguments to the function.
+ The resulting expression.
+
+
+ Builds an expression that represents the application of a first class function value to a single argument.
+ The function to apply.
+ The argument to the function.
+ The resulting expression.
+
+
+ Builds an expression that represents setting the value held at a particular address.
+ The target expression.
+ The value to set at the address.
+ The resulting expression.
+
+
+ Builds an expression that represents getting the address of a value.
+ The target expression.
+ The resulting expression.
+
+
+ Quoted expressions annotated with System.Type values.
+
+
+ The type associated with the variable
+
+
+ The declared name of the variable
+
+
+ Indicates if the variable represents a mutable storage location
+
+
+ Fetches or create a new variable with the given name and type from a global pool of shared variables
+ indexed by name and type
+ The name of the variable.
+ The type associated with the variable.
+ The retrieved or created variable.
+
+
+ Creates a new variable with the given name, type and mutability
+ The declared name of the variable.
+ The type associated with the variable.
+ Indicates if the variable represents a mutable storage location. Default is false.
+ The created variable.
+
+
+ Information at the binding site of a variable
+
+
+ Re-build combination expressions. The first parameter should be an object
+ returned by the ShapeCombination case of the active pattern in this module.
+ The input shape.
+ The list of arguments.
+ The rebuilt expression.
+
+
+ An active pattern that performs a complete decomposition viewing the expression tree as a binding structure
+ The input expression.
+ The decomposed Var, Lambda, or ConstApp.
+
+
+ Active patterns for traversing, visiting, rebuilding and tranforming expressions in a generic way
+
+
+ An active pattern to recognize property setters that have an associated ReflectedDefinition
+ The description of the property.
+ The expression of the method definition if found, or None.
+
+
+ An active pattern to recognize property getters or values in modules that have an associated ReflectedDefinition
+ The description of the property.
+ The expression of the method definition if found, or None.
+
+
+ An active pattern to recognize methods that have an associated ReflectedDefinition
+ The description of the method.
+ The expression of the method definition if found, or None.
+
+
+ A parameterized active pattern to recognize calls to a specified function or method.
+ The returned elements are the optional target object (present if the target is an
+ instance method), the generic type instantation (non-empty if the target is a generic
+ instantiation), and the arguments to the function or method.
+ The input template expression to specify the method to call.
+ The optional target object (present if the target is an
+ instance method), the generic type instantation (non-empty if the target is a generic
+ instantiation), and the arguments to the function or method.
+
+
+ An active pattern to recognize constant unsigned int64 expressions
+ The input expression to match against.
+ uint64 option
+
+
+ An active pattern to recognize constant int64 expressions
+ The input expression to match against.
+ int64 option
+
+
+ An active pattern to recognize constant unsigned int32 expressions
+ The input expression to match against.
+ uint32 option
+
+
+ An active pattern to recognize constant int32 expressions
+ The input expression to match against.
+ int32 option
+
+
+ An active pattern to recognize constant unsigned int16 expressions
+ The input expression to match against.
+ uint16 option
+
+
+ An active pattern to recognize constant int16 expressions
+ The input expression to match against.
+ int16 option
+
+
+ An active pattern to recognize constant byte expressions
+ The input expression to match against.
+ byte option
+
+
+ An active pattern to recognize constant signed byte expressions
+ The input expression to match against.
+ sbyte option
+
+
+ An active pattern to recognize constant unicode character expressions
+ The input expression to match against.
+ char option
+
+
+ An active pattern to recognize constant 64-bit floating point number expressions
+ The input expression to match against.
+ float option
+
+
+ An active pattern to recognize constant 32-bit floating point number expressions
+ The input expression to match against.
+ float32 option
+
+
+ An active pattern to recognize constant string expressions
+ The input expression to match against.
+ string option
+
+
+ An active pattern to recognize constant boolean expressions
+ The input expression to match against.
+ bool option
+
+
+ An active pattern to recognize () constant expressions
+ The input expression to match against.
+ unit option
+
+
+ An active pattern to recognize expressions of the form a || b
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions of the form a && b
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent the application of a (possibly curried or tupled) first class function value
+ The input expression to match against.
+ (Expr * Expr list list) option
+
+
+ An active pattern to recognize expressions that represent a (possibly curried or tupled) first class function value
+ The input expression to match against.
+ (Var list list * Expr) option
+
+
+ Contains a set of derived F# active patterns to analyze F# expression objects
+
+
+ An active pattern to recognize expressions that represent setting a mutable variable
+ The input expression to match against.
+ (Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent a variable
+ The input expression to match against.
+ Var option
+
+
+ An active pattern to recognize expressions that represent a constant value
+ The input expression to match against.
+ (obj * Type) option
+
+
+ An active pattern to recognize expressions that represent a test if a value is of a particular union case
+ The input expression to match against.
+ (Expr * UnionCaseInfo) option
+
+
+ An active pattern to recognize expressions that represent a dynamic type test
+ The input expression to match against.
+ (Expr * Type) option
+
+
+ An active pattern to recognize expressions that represent getting a tuple field
+ The input expression to match against.
+ (Expr * int) option
+
+
+ An active pattern to recognize expressions that represent a try/finally construct
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent a try/with construct for exception filtering and catching
+ The input expression to match against.
+ (Expr * Var * Expr * Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent sequential exeuction of one expression followed by another
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent a nested quotation literal
+ The input expression to match against.
+ Expr option
+
+
+ An active pattern to recognize expressions that represent setting a static or instance property, or a non-function value declared in a module
+ The input expression to match against.
+ (Expr option * PropertyInfo * Expr list * Expr) option
+
+
+ An active pattern to recognize expressions that represent the read of a static or instance property, or a non-function value declared in a module
+ The input expression to match against.
+ (Expr option * PropertyInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of tuple values
+ The input expression to match against.
+ (Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of particular union case values
+ The input expression to match against.
+ (UnionCaseInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of record values
+ The input expression to match against.
+ (Type * Expr list) option
+
+
+ An active pattern to recognize expressions that represent invocation of object constructors
+ The input expression to match against.
+ (ConstructorInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of delegate values
+ The input expression to match against.
+ (Type * Var list * Expr) option
+
+
+ An active pattern to recognize expressions that represent invocations of a default constructor of a struct
+ The input expression to match against.
+ Type option
+
+
+ An active pattern to recognize expressions that represent the construction of arrays
+ The input expression to match against.
+ (Type * Expr list) option
+
+
+ An active pattern to recognize expressions that represent recursive let bindings of one or more variables
+ The input expression to match against.
+ ((Var * Expr) list * Expr) option
+
+
+ An active pattern to recognize expressions that represent let bindings
+ The input expression to match against.
+ (Var * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent first class function values
+ The input expression to match against.
+ (Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent conditionals
+ The input expression to match against.
+ (Expr * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent while loops
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent loops over integer ranges
+ The input expression to match against.
+ (Var * Expr * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent setting a static or instance field
+ The input expression to match against.
+ (Expr option * FieldInfo * Expr) option
+
+
+ An active pattern to recognize expressions that represent getting a static or instance field
+ The input expression to match against.
+ (Expr option * FieldInfo) option
+
+
+ An active pattern to recognize expressions that represent coercions from one type to another
+ The input expression to match against.
+ (Expr * Type) option
+
+
+ An active pattern to recognize expressions that represent calls to static and instance methods, and functions defined in modules
+ The input expression to match against.
+ (Expr option * MethodInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent applications of first class function values
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent setting the value held at an address
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent getting the address of a value
+ The input expression to match against.
+ Expr option
+
+
+ Contains a set of primitive F# active patterns to analyze F# expression objects
+
+
+ Returns a System.Type representing an F# tuple type with the given element types
+ An array of types for the tuple elements.
+ The type representing the tuple containing the input elements.
+
+
+ Returns a System.Type representing the F# function type with the given domain and range
+ The input type of the function.
+ The output type of the function.
+ The function type with the given domain and range.
+
+
+ Returns true if the typ is a representation of an F# union type or the runtime type of a value of that type
+ The type to check.
+ Optional binding flags.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# tuple type
+ The type to check.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# record type
+ The type to check.
+ Optional binding flags.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a System.Type value corresponding to the compiled form of an F# module
+ The type to check.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# function type or the runtime type of a closure implementing an F# function type
+ The type to check.
+ True if the type check succeeds.
+
+
+ Returns true if the typ is a representation of an F# exception declaration
+ The type to check.
+ Optional binding flags.
+ True if the type check is an F# exception.
+
+
+ Gets the cases of a union type.
+
+ Assumes the given type is a union type. If not, ArgumentException is raised during pre-computation.
+ The input union type.
+ Optional binding flags.
+ Thrown when the input type is not a union type.
+ An array of descriptions of the cases of the given union type.
+
+
+ Gets the tuple elements from the representation of an F# tuple type.
+ The input tuple type.
+ An array of the types contained in the given tuple type.
+
+
+ Reads all the fields from a record value, in declaration order
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The input record type.
+ Optional binding flags.
+ An array of descriptions of the properties of the record type.
+
+
+ Gets the domain and range types from an F# function type or from the runtime type of a closure implementing an F# type
+ The input function type.
+ A tuple of the domain and range types of the input function.
+
+
+ Reads all the fields from an F# exception declaration, in declaration order
+
+ Assumes exceptionType is an exception representation type. If not, ArgumentException is raised.
+ The exception type to read.
+ Optional binding flags.
+ Thrown if the given type is not an exception.
+ An array containing the PropertyInfo of each field in the exception.
+
+
+ Contains operations associated with constructing and analyzing F# types such as records, unions and tuples
+
+
+ Assumes the given type is a union type.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function is more efficient than calling GetUnionCase
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The type of union to optimize reading.
+ Optional binding flags.
+ An optimized function to read the tags of the given union type.
+
+
+ Precompute a property or static method for reading an integer representing the case tag of a union type.
+ The type of union to read.
+ Optional binding flags.
+ The description of the union case reader.
+
+
+ Precomputes a function for reading all the fields for a particular discriminator case of a union type
+
+ Using the computed function will typically be faster than executing a corresponding call to GetFields
+ The description of the union case to read.
+ Optional binding flags.
+ A function to for reading the fields of the given union case.
+
+
+ A method that constructs objects of the given case
+ The description of the union case.
+ Optional binding flags.
+ The description of the constructor of the given union case.
+
+
+ Precomputes a function for constructing a discriminated union value for a particular union case.
+ The description of the union case.
+ Optional binding flags.
+ A function for constructing values of the given union case.
+
+
+ Precomputes a function for reading the values of a particular tuple type
+
+ Assumes the given type is a TupleType.
+ If not, ArgumentException is raised during pre-computation.
+ The tuple type to read.
+ Thrown when the given type is not a tuple type.
+ A function to read values of the given tuple type.
+
+
+ Gets information that indicates how to read a field of a tuple
+ The input tuple type.
+ The index of the tuple element to describe.
+ The description of the tuple element and an optional type and index if the tuple is big.
+
+
+ Gets a method that constructs objects of the given tuple type.
+ For small tuples, no additional type will be returned.
+
+ For large tuples, an additional type is returned indicating that
+ a nested encoding has been used for the tuple type. In this case
+ the suffix portion of the tuple type has the given type and an
+ object of this type must be created and passed as the last argument
+ to the ConstructorInfo. A recursive call to PreComputeTupleConstructorInfo
+ can be used to determine the constructor for that the suffix type.
+ The input tuple type.
+ The description of the tuple type constructor and an optional extra type
+ for large tuples.
+
+
+ Precomputes a function for reading the values of a particular tuple type
+
+ Assumes the given type is a TupleType.
+ If not, ArgumentException is raised during pre-computation.
+ The type of tuple to read.
+ Thrown when the given type is not a tuple type.
+ A function to read a particular tuple type.
+
+
+ Precompute a function for reading all the fields from a record. The fields are returned in the
+ same order as the fields reported by a call to Microsoft.FSharp.Reflection.Type.GetInfo for
+ this type.
+
+ Assumes the given type is a RecordType.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The type of record to read.
+ Optional binding flags.
+ Thrown when the input type is not a record type.
+ An optimized reader for the given record type.
+
+
+ Precompute a function for reading a particular field from a record.
+ Assumes the given type is a RecordType with a field of the given name.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The PropertyInfo of the field to read.
+ Thrown when the input type is not a record type.
+ A function to read the specified field from the record.
+
+
+ Get a ConstructorInfo for a record type
+ The record type.
+ Optional binding flags.
+ A ConstructorInfo for the given record type.
+
+
+ Precompute a function for constructing a record value.
+
+ Assumes the given type is a RecordType.
+ If not, ArgumentException is raised during pre-computation.
+ The type of record to construct.
+ Optional binding flags.
+ Thrown when the input type is not a record type.
+ A function to construct records of the given type.
+
+
+ Create a union case value.
+ The description of the union case to create.
+ The array of arguments to construct the given case.
+ Optional binding flags.
+ The constructed union case.
+
+
+ Creates an instance of a tuple type
+
+ Assumes at least one element is given. If not, ArgumentException is raised.
+ The array of tuple fields.
+ The tuple type to create.
+ Thrown if no elements are given.
+ An instance of the tuple type with the given elements.
+
+
+ Creates an instance of a record type.
+
+ Assumes the given input is a record type.
+ The type of record to make.
+ The array of values to initialize the record.
+ Optional binding flags for the record.
+ Thrown when the input type is not a record type.
+ The created record.
+
+
+ Builds a typed function from object from a dynamic function implementation
+ The function type of the implementation.
+ The untyped lambda of the function implementation.
+ A typed function from the given dynamic implementation.
+
+
+ Identify the union case and its fields for an object
+
+ Assumes the given input is a union case value. If not, ArgumentException is raised.
+
+ If the type is not given, then the runtime type of the input object is used to identify the
+ relevant union type. The type should always be given if the input object may be null. For example,
+ option values may be represented using the 'null'.
+ The input union case.
+ The union type containing the value.
+ Optional binding flags.
+ Thrown when the input type is not a union case value.
+ The description of the union case and its fields.
+
+
+ Reads all fields from a tuple.
+
+ Assumes the given input is a tuple value. If not, ArgumentException is raised.
+ The input tuple.
+ Thrown when the input is not a tuple value.
+ An array of the fields from the given tuple.
+
+
+ Reads a field from a tuple value.
+
+ Assumes the given input is a tuple value. If not, ArgumentException is raised.
+ The input tuple.
+ The index of the field to read.
+ The value of the field.
+
+
+ Reads all the fields from a record value.
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The record object.
+ Optional binding flags for the record.
+ Thrown when the input type is not a record type.
+ The array of fields from the record.
+
+
+ Reads a field from a record value.
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The record object.
+ The PropertyInfo describing the field to read.
+ Thrown when the input type is not a record type.
+ The field from the record.
+
+
+ Reads all the fields from a value built using an instance of an F# exception declaration
+
+ Assumes the given input is an F# exception value. If not, ArgumentException is raised.
+ The exception instance.
+ Optional binding flags.
+ Thrown when the input type is not an F# exception.
+ The fields from the given exception.
+
+
+ Contains operations associated with constructing and analyzing values associated with F# types
+ such as records, unions and tuples.
+
+
+ The integer tag for the case.
+
+
+ The name of the case.
+
+
+ The type in which the case occurs.
+
+
+ The fields associated with the case, represented by a PropertyInfo.
+ The fields associated with the case.
+
+
+ Returns the custom attributes associated with the case matching the given attribute type.
+ The type of attributes to return.
+ An array of custom attributes.
+
+
+ Returns the custom attributes associated with the case.
+ An array of custom attributes.
+
+
+ Represents a case of a discriminated union type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A record of options to control structural formatting.
+ For F# Interactive properties matching those of this value can be accessed via the 'fsi'
+ value.
+
+ Floating Point format given in the same format accepted by System.Double.ToString,
+ e.g. f6 or g15.
+
+ If ShowProperties is set the printing process will evaluate properties of the values being
+ displayed. This may cause additional computation.
+
+ The ShowIEnumerable is set the printing process will force the evalution of IEnumerable objects
+ to a small, finite depth, as determined by the printing parameters.
+ This may lead to additional computation being performed during printing.
+
+ <example>
+ From F# Interactive the default settings can be adjusted using, for example,
+ <pre>
+ open Microsoft.FSharp.Compiler.Interactive.Settings;;
+ setPrintWidth 120;;
+ </pre>
+ </example>
+
+
+
+
+ Data representing structured layouts of terms.
+
+
+
+
+ Convert any value to a layout using the given formatting options. The
+ layout can then be processed using formatting display engines such as
+ those in the LayoutOps module. any_to_string and output_any are
+ built using any_to_layout with default format options.
+
+
+
+
+
+
+
+ Ouput any value to a channel using the same set of formatting rules
+ as any_to_string
+
+
+
+
+ Convert any value to a string using a standard formatter
+ Data is typically formatted in a structured format, e.g.
+ lists are formatted using the "[1;2]" notation.
+ The details of the format are not specified and may change
+ from version to version and according to the flags given
+ to the F# compiler. The format is intended to be human-readable,
+ not machine readable. If alternative generic formats are required
+ you should develop your own formatter, using the code in the
+ implementation of this file as a starting point.
+
+ Data from other .NET languages is formatted using a virtual
+ call to Object.ToString() on the boxed version of the input.
+
+
+
+
+
+
+
+ For limitting layout of list-like sequences (lists,arrays,etc).
+ unfold a list of items using (project and z) making layout list via itemL.
+ If reach maxLength (before exhausting) then truncate.
+
+
+
+
+ See tagL
+
+
+
+
+ Layout like an F# list.
+
+
+
+
+ Layout like an F# option.
+
+
+
+
+ Layout list vertically.
+
+
+
+
+ Layout two vertically.
+
+
+
+
+ Form tuple of layouts.
+
+
+
+
+ Wrap braces around layout.
+
+
+
+
+ Wrap square brackets around layout.
+
+
+
+
+ Wrap round brackets around Layout.
+
+
+
+
+ Join layouts into a list separated using the given Layout.
+
+
+
+
+ Join layouts into a semi-colon separated list.
+
+
+
+
+ Join layouts into a space separated list.
+
+
+
+
+ Join layouts into a comma separated list.
+
+
+
+
+ Join broken with ident=2
+
+
+
+
+ Join broken with ident=1
+
+
+
+
+ Join broken with ident=0
+
+
+
+
+ Join, possible break with indent=2
+
+
+
+
+ Join, possible break with indent=1
+
+
+
+
+ Join, possible break with indent=0
+
+
+
+
+ Join, unbreakable.
+
+
+
+
+ An string which is left parenthesis (no space on the right).
+
+
+
+
+ An string which is right parenthesis (no space on the left).
+
+
+
+
+ An string which requires no spaces either side.
+
+
+
+
+ An string leaf
+
+
+
+
+ An uninterpreted leaf, to be interpreted into a string
+ by the layout engine. This allows leaf layouts for numbers, strings and
+ other atoms to be customized according to culture.
+
+
+
+
+ Is it the empty layout?
+
+
+
+
+ The empty layout
+
+
+
+
+ A layout is a sequence of strings which have been joined together.
+ The strings are classified as words, separators and left and right parenthesis.
+ This classification determines where spaces are inserted.
+ A joint is either unbreakable, breakable or broken.
+ If a joint is broken the RHS layout occurs on the next line with optional indentation.
+ A layout can be squashed to for given width which forces breaks as required.
+
+
+
+ Gets a read-only collection of the Exception instances that caused
+ the current exception.
+
+
+ Represents one or more errors that occur during application execution.
+
+
+ Subscribe an observer to the source of results
+ The observer to be added to those that are notified.
+ An IDisposable to allow for unsubscription.
+
+
+ A source of observable results
+
+
+ Notify an observer of a new result
+ The value to notify observers.
+
+
+ Notify an observer of an error
+ The exception to notify observers.
+
+
+ Notify an observer that no more results will be produced.
+
+
+ A client that may be subscribed to observe the results from an IObservable.
+
+
+ The value contained in the Lazy.
+
+
+ Is true if the value is ready to be accessed.
+
+
+ Encapsulates a lazily computed value.
+
+
+
+
+
+
+
+
+ Compiled versions of F# tuple types. These are not used directly, though
+ these compiled forms are seen by other CLI languages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Determines whether the current object precedes, occurs in the same position as,
+ or follows another object in the sort order.
+ The object to compare with the current instance.
+ An object that performs comparisons.
+ An integer that indicates the relationship of the current object to the target object.
+
+
+
+
+
+ Returns a hash code for the current instance.
+ An object that computes the hash code of the current object.
+ The hash code for the current instance.
+
+
+ Equality comparison against a target object with a given comparer.
+ The target for comparison.
+ Compares the two objects.
+ The result of the comparer.
+
+
+
+
+
+
+ Return the given big integer
+
+
+
+
+ Return the negation of a big integer
+
+
+
+
+ Return the difference of two big integers
+
+
+
+
+ Return the product of big integers
+
+
+
+
+ Return the modulus of big integers
+
+
+
+
+ This operator is for consistency when this type be used from other CLI languages
+
+
+
+
+ This operator is for consistency when this type be used from other CLI languages
+
+
+
+
+ This operator is for consistency when this type be used from other CLI languages
+
+
+
+
+ This operator is for consistency when this type be used from other CLI languages
+
+
+
+
+ This operator is for consistency when this type be used from other CLI languages
+
+
+
+
+ Convert a big integer to a 32-bit signed integer
+
+
+
+
+ Convert a big integer to a 64-bit signed integer
+
+
+
+
+ Convert a big integer to a floating point number
+
+
+
+
+ This operator is for consistency when this type be used from other CLI languages
+
+
+
+
+ Return the ratio of two big integers
+
+
+
+
+ Return the sum of two big integers
+
+
+
+
+ Get the big integer for zero
+
+
+
+
+ Return the sign of a big integer: 0, +1 or -1
+
+
+
+
+ Get the big integer for one
+
+
+
+
+ Return true if a big integer is 'zero'
+
+
+
+
+ Return true if a big integer is 'one'
+
+
+
+
+
+
+
+ Return n^m for two big integers
+
+
+
+
+ Parse a big integer from a string format
+
+
+
+
+ Return the greatest common divisor of two big integers
+
+
+
+
+
+
+
+
+
+
+ Compute the ratio and remainder of two big integers
+
+
+
+
+ Compute the absolute value of a big integer
+
+
+
+
+ Construct a BigInteger value for the given 64-bit integer
+
+
+
+
+ Construct a BigInteger value for the given integer
+
+
+
+
+ The type of arbitrary-sized integers
+
+
+
+ Fetches the token representing the capability to detect cancellation of an operation.
+
+
+ Discards resources associated with this capability.
+
+
+ Creates a cancellation capability linking two tokens.
+ The first input token.
+ The second input token.
+ The created CancellationTokenSource.
+
+
+ Cancels the operation.
+
+
+ Creates a new cancellation capability.
+
+
+ Signals to a CancellationToken that it should be cancelled.
+
+
+
+
+
+ Inequality operator for tokens.
+ The first input token.
+ The second input token.
+ False if the two tokens are equal.
+
+
+ Equality operator for tokens.
+ The first input token.
+ The second input token.
+ True if the two tokens are equal.
+
+
+ Flags whether an operation should be cancelled.
+
+
+ Registers an action to perform with the CancellationToken.
+ The action to associate with the token.
+ The state associated with the action.
+ The created registration object.
+
+
+ Equality comparison against another token.
+ The target for comparison.
+ True if the two tokens are equal.
+
+
+ Represents a capability to detect cancellation of an operation.
+
+
+
+
+
+
+
+
+ Inequality operator for registrations.
+ The first input registration.
+ The second input registration.
+ False if the two registrations are equal.
+
+
+ Equality operator for registrations.
+ The first input registration.
+ The second input registration.
+ True if the two registrations are equal.
+
+
+ Equality comparison against another registration.
+ The target for comparison.
+ True if the two registrations are equal.
+
+
+ Frees resources associated with the registration.
+
+
+ Represents a registration to a Cancellation token source.
+
+
+
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.dll b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.dll
new file mode 100644
index 00000000..a8ab0782
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.dll differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.optdata b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.optdata
new file mode 100644
index 00000000..adcd2429
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.optdata differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.sigdata b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.sigdata
new file mode 100644
index 00000000..3499ff85
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.sigdata differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.xml b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.xml
new file mode 100644
index 00000000..d941f776
--- /dev/null
+++ b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net40/FSharp.Core.xml
@@ -0,0 +1,10517 @@
+
+
+FSharp.Core
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the tail of the list, which is a list containing all the elements of the list, excluding the first element
+
+
+ Gets the number of items contained in the list
+
+
+ Gets the element of the list at the given position.
+ Lists are represented as linked lists so this is an O(n) operation.
+ The index.
+ The value at the given index.
+
+
+ Gets a value indicating if the list contains no entries
+
+
+ Gets the first element of the list
+
+
+ Returns an empty list of a particular type
+
+
+ Returns a list with head as its first element and tail as its subsequent elements
+ A new head value for the list.
+ The existing list.
+ The list with head appended to the front of tail.
+
+
+ The type of immutable singly-linked lists.
+
+ Use the constructors [] and :: (infix) to create values of this type, or
+ the notation [1;2;3]. Use the values in the List module to manipulate
+ values of this type, or pattern match against the values directly.
+
+
+ Lookup an element in the map. Raise KeyNotFoundException if no binding
+ exists in the map.
+ The input key.
+ Thrown when the key is not found.
+ The value mapped to the key.
+
+
+ Returns true if there are no bindings in the map.
+
+
+ The number of bindings in the map.
+
+
+ Lookup an element in the map, returning a Some value if the element is in the domain
+ of the map and None if not.
+ The input key.
+ The mapped value, or None if the key is not in the map.
+
+
+ Removes an element from the domain of the map. No exception is raised if the element is not present.
+ The input key.
+ The resulting map.
+
+
+
+
+
+ Tests if an element is in the domain of the map.
+ The input key.
+ True if the map contains the given key.
+
+
+ Returns a new map with the binding added to the given map.
+ The input key.
+ The resulting map.
+
+
+ Builds a map that contains the bindings of the given IEnumerable.
+ The input sequence of key/value pairs.
+ The resulting map.
+
+
+ Immutable maps. Keys are ordered by F# generic comparison.
+
+ Maps based on generic comparison are efficient for small keys. They are not a suitable choice if keys are recursive data structures
+ or if keys require bespoke comparison semantics.
+
+ All members of this class are thread-safe and may be used concurrently from multiple threads.
+
+
+ An abbreviation for the CLI type System.Collections.Generic.List<_>
+
+
+ Returns a new set with the elements of the second set removed from the first.
+ The first input set.
+ The second input set.
+ A set containing elements of the first set that are not contained in the second set.
+
+
+ Compute the union of the two sets.
+ The first input set.
+ The second input set.
+ The union of the two input sets.
+
+
+ Returns the lowest element in the set according to the ordering being used for the set.
+
+
+ Returns the highest element in the set according to the ordering being used for the set.
+
+
+ A useful shortcut for Set.isEmpty. See the Set module for further operations on sets.
+
+
+ The number of elements in the set
+
+
+ A useful shortcut for Set.remove. Note this operation produces a new set
+ and does not mutate the original set. The new set will share many storage
+ nodes with the original. See the Set module for further operations on sets.
+ The value to remove from the set.
+ The result set.
+
+
+ Evaluates to "true" if all elements of the second set are in the first.
+ The set to test against.
+ True if this set is a superset of otherSet.
+
+
+ Evaluates to "true" if all elements of the first set are in the second.
+ The set to test against.
+ True if this set is a subset of otherSet.
+
+
+ Evaluates to "true" if all elements of the second set are in the first, and at least
+ one element of the first is not in the second.
+ The set to test against.
+ True if this set is a proper superset of otherSet.
+
+
+ Evaluates to "true" if all elements of the first set are in the second, and at least
+ one element of the second is not in the first.
+ The set to test against.
+ True if this set is a proper subset of otherSet.
+
+
+
+
+
+ A useful shortcut for Set.contains. See the Set module for further operations on sets.
+ The value to check.
+ True if the set contains value.
+
+
+ A useful shortcut for Set.add. Note this operation produces a new set
+ and does not mutate the original set. The new set will share many storage
+ nodes with the original. See the Set module for further operations on sets.
+ The value to add to the set.
+ The result set.
+
+
+ Create a set containing elements drawn from the given sequence.
+ The input sequence.
+ The result set.
+
+
+ Immutable sets based on binary trees, where comparison is the
+ F# structural comparison function, potentially using implementations
+ of the IComparable interface on key values.
+
+ See the Set module for further operations on sets.
+
+ All members of this class are thread-safe and may be used concurrently from multiple threads.
+
+
+ An abbreviation for the type of immutable singly-linked lists.
+
+ Use the constructors [] and :: (infix) to create values of this type, or
+ the notation [1;2;3]. Use the values in the List module to manipulate
+ values of this type, or pattern match against the values directly.
+
+
+ An abbreviation for the CLI type System.Collections.Generic.IEnumerable<_>
+
+
+ Fetches an element from a 2D array. You can also use the syntax array.[index1,index2].
+
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+
+ The value of the array at the given index.
+ Thrown when the indices are negative or exceed the bounds of the array.
+
+
+ Sets the value of an element in an array. You can also use the syntax array.[index1,index2] <- value.
+
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The value to set in the array.
+ Thrown when the indices are negative or exceed the bounds of the array.
+
+
+ Builds a new array whose elements are the same as the input array but
+ where a non-zero-based input array generates a corresponding zero-based
+ output array.
+
+ The input array.
+
+ The zero-based output array.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer indices passed to the
+ function indicates the element being transformed.
+
+ For non-zero-based arrays the basing on an input array will be propagated to the output
+ array.
+
+ A function that is applied to transform each element of the array. The two integers
+ provide the index of the element.
+ The input array.
+
+ An array whose elements have been transformed by the given mapping.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+
+ A function that is applied to transform each item of the input array.
+ The input array.
+
+ An array whose elements have been transformed by the given mapping.
+
+
+ Returns the length of an array in the second dimension.
+
+ The input array.
+
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension.
+
+ The input array.
+
+ The length of the array in the first dimension.
+
+
+ Applies the given function to each element of the array. The integer indices passed to the
+ function indicates the index of element.
+
+ A function to apply to each element of the array with the indices available as an argument.
+ The input array.
+
+
+ Applies the given function to each element of the array.
+
+ A function to apply to each element of the array.
+ The input array.
+
+
+ Creates a based array where the entries are initially Unchecked.defaultof<'T>.
+
+ The base for the first dimension of the array.
+ The base for the second dimension of the array.
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+
+ The created array.
+ Thrown when base1, base2, length1, or length2 is negative.
+
+
+ Creates a based array whose elements are all initially the given value.
+
+ The base for the first dimension of the array.
+ The base for the second dimension of the array.
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ The value to populate the new array.
+
+ The created array.
+ Thrown when base1, base2, length1, or length2 is negative.
+
+
+ Creates a based array given the dimensions and a generator function to compute the elements.
+
+ The base for the first dimension of the array.
+ The base for the second dimension of the array.
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ A function to produce elements of the array given the two indices.
+
+ The created array.
+ Thrown when base1, base2, length1, or length2 is negative.
+
+
+ Creates an array where the entries are initially Unchecked.defaultof<'T>.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+
+ The created array.
+ Thrown when length1 or length2 is negative.
+
+
+ Creates an array whose elements are all initially the given value.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ The value to populate the new array.
+
+ The created array.
+ Thrown when length1 or length2 is negative.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ A function to produce elements of the array given the two indices.
+
+ The generated array.
+ Thrown when either of the lengths is negative.
+
+
+ Reads a range of elements from the first array and write them into the second.
+
+ The source array.
+ The first-dimension index to begin copying from in the source array.
+ The second-dimension index to begin copying from in the source array.
+ The target array.
+ The first-dimension index to begin copying into in the target array.
+ The second-dimension index to begin copying into in the target array.
+ The number of elements to copy across the first dimension of the arrays.
+ The number of elements to copy across the second dimension of the arrays.
+ Thrown when any of the indices are negative or if either of
+ the counts are larger than the dimensions of the array allow.
+
+
+ Builds a new array whose elements are the same as the input array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+
+ The input array.
+
+ A copy of the input array.
+
+
+ Fetches the base-index for the second dimension of the array.
+
+ The input array.
+
+ The base-index of the second dimension of the array.
+
+
+ Fetches the base-index for the first dimension of the array.
+
+ The input array.
+
+ The base-index of the first dimension of the array.
+
+
+ Basic operations on 2-dimensional arrays.
+
+ F# and CLI multi-dimensional arrays are typically zero-based.
+ However, CLI multi-dimensional arrays used in conjunction with external
+ libraries (e.g. libraries associated with Visual Basic) be
+ non-zero based, using a potentially different base for each dimension.
+ The operations in this module will accept such arrays, and
+ the basing on an input array will be propagated to a matching output
+ array on the Array2D.map and Array2D.mapi operations.
+ Non-zero-based arrays can also be created using Array2D.zeroCreateBased,
+ Array2D.createBased and Array2D.initBased.
+
+
+ Creates an array where the entries are initially the "default" value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The created array.
+
+
+ Sets the value of an element in an array. You can also
+ use the syntax 'array.[index1,index2,index3] <- value'.
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The value to set at the given index.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer indices passed to the
+ function indicates the element being transformed.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+ The function to transform the elements at each index in the array.
+ The input array.
+ The array created from the transformed elements.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+ The function to transform each element of the array.
+ The input array.
+ The array created from the transformed elements.
+
+
+ Returns the length of an array in the third dimension.
+ The input array.
+ The length of the array in the third dimension.
+
+
+ Returns the length of an array in the second dimension.
+ The input array.
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension
+ The input array.
+ The length of the array in the first dimension.
+
+
+ Applies the given function to each element of the array. The integer indicies passed to the
+ function indicates the index of element.
+ The function to apply to each element of the array.
+ The input array.
+
+
+ Applies the given function to each element of the array.
+ The function to apply to each element of the array.
+ The input array.
+
+
+ Fetches an element from a 3D array. You can also use the syntax 'array.[index1,index2,index3]'
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The value at the given index.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The function to create an initial value at each index into the array.
+ The created array.
+
+
+ Creates an array whose elements are all initially the given value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The value of the array elements.
+ The created array.
+
+
+ Basic operations on rank 3 arrays.
+
+
+ Sets the value of an element in an array. You can also
+ use the syntax 'array.[index1,index2,index3,index4] <- value'.
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The index along the fourth dimension.
+ The value to set.
+
+
+ Fetches an element from a 4D array. You can also use the syntax 'array.[index1,index2,index3,index4]'
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The index along the fourth dimension.
+ The value at the given index.
+
+
+ Creates an array where the entries are initially the "default" value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The created array.
+
+
+ Returns the length of an array in the fourth dimension.
+ The input array.
+ The length of the array in the fourth dimension.
+
+
+ Returns the length of an array in the third dimension.
+ The input array.
+ The length of the array in the third dimension.
+
+
+ Returns the length of an array in the second dimension.
+ The input array.
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension
+ The input array.
+ The length of the array in the first dimension.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The function to create an initial value at each index in the array.
+ The created array.
+
+
+ Creates an array whose elements are all initially the given value
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The initial value for each element of the array.
+ The created array.
+
+
+ Basic operations on rank 4 arrays.
+
+
+ Combines three arrays into an array of pairs. The three arrays must have equal lengths, otherwise an ArgumentException is
+ raised.
+ The first input array.
+ The second input array.
+ The third input array.
+ Thrown when the input arrays differ in length.
+ The array of tupled elements.
+
+
+ Combines the two arrays into an array of pairs. The two arrays must have equal lengths, otherwise an ArgumentException is
+ raised.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of tupled elements.
+
+
+ Splits an array of triples into three arrays.
+ The input array.
+ The tuple of three arrays.
+
+
+ Splits an array of pairs into two arrays.
+ The input array.
+ The two arrays.
+
+
+ Returns the index of the first element in the array
+ that satisfies the given predicate.
+ The function to test the input elements.
+ The input array.
+ The index of the first element that satisfies the predicate, or None.
+
+
+ Returns the first element for which the given function returns true.
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input array.
+ The first element that satisfies the predicate, or None.
+
+
+ Views the given array as a sequence.
+ The input array.
+ The sequence of array elements.
+
+
+ Builds a list from the given array.
+ The input array.
+ The list of array elements.
+
+
+ Returns the sum of the results generated by applying the function to each element of the array.
+ The function to transform the array elements into the type to be summed.
+ The input array.
+ The resulting sum.
+
+
+ Returns the sum of the elements in the array.
+ The input array.
+ The resulting sum.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given comparison function.
+ Elements are compared using Operators.compare.
+ The input array.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given comparison function as the order.
+ The function to compare pairs of array elements.
+ The input array.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given projection for the keys.
+ Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to transform array elements into the type that is compared.
+ The input array.
+
+
+ Sorts the elements of an array, using the given comparison function as the order, returning a new array.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to compare pairs of array elements.
+ The input array.
+ The sorted array.
+
+
+ Sorts the elements of an array, using the given projection for the keys and returning a new array.
+ Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to transform array elements into the type that is compared.
+ The input array.
+ The sorted array.
+
+
+ Sorts the elements of an array, returning a new array. Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The input array.
+ The sorted array.
+
+
+ Builds a new array that contains the given subrange specified by
+ starting index and length.
+ The input array.
+ The index of the first element of the sub array.
+ The length of the sub array.
+ The created sub array.
+
+
+ Sets an element of an array.
+ The input array.
+ The input index.
+ The input value.
+
+
+ Like foldBack, but return both the intermediary and final results.
+ The function to update the state given the input elements.
+ The input array.
+ The initial state.
+ The array of state values.
+
+
+ Like fold, but return the intermediary and final results.
+ The function to update the state given the input elements.
+ The initial state.
+ The input array.
+ The array of state values.
+
+
+ Returns a new array with the elements in reverse order.
+ The input array.
+ The reversed array.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f i0 (...(f iN-1 iN)).
+ Raises ArgumentException if the array has size zero.
+ The function to reduce a pair of elements to a single element.
+ The input array.
+ Thrown when the input array is empty.
+ The final result of the reductions.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f (... (f i0 i1)...) iN.
+ Raises ArgumentException if the array has size zero.
+ The function to reduce a pair of elements to a single element.
+ The input array.
+ Thrown when the input array is empty.
+ The final result of the redcutions.
+
+
+ Returns an array with all elements permuted according to the
+ specified permutation.
+ The function that maps input indices to output indices.
+ The input array.
+ The output array.
+
+
+ Splits the collection into two collections, containing the
+ elements for which the given predicate returns "true" and "false"
+ respectively.
+ The function to test the input elements.
+ The input array.
+ A pair of arrays. The first containing the elements the predicate evaluated to true,
+ and the second containing those evaluated to false.
+
+
+ Builds a new array from the given enumerable object.
+ The input sequence.
+ The array of elements from the sequence.
+
+
+ Builds an array from the given list.
+ The input list.
+ The array of elements from the list.
+
+
+ Returns the lowest of all elements of the array, compared via Operators.min on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The function to transform the elements into a type supporting comparison.
+ The input array.
+ Thrown when the input array is empty.
+ The minimum element.
+
+
+ Returns the lowest of all elements of the array, compared via Operators.min.
+
+ Throws ArgumentException for empty arrays
+ The input array.
+ Thrown when the input array is empty.
+ The minimum element.
+
+
+ Returns the greatest of all elements of the array, compared via Operators.max on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The function to transform the elements into a type supporting comparison.
+ The input array.
+ Thrown when the input array is empty.
+ The maximum element.
+
+
+ Returns the greatest of all elements of the array, compared via Operators.max on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The input array.
+ Thrown when the input array is empty.
+ The maximum element.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer index passed to the
+ function indicates the index of element being transformed.
+ The function to transform elements and their indices.
+ The input array.
+ The array of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise, also passing the index of
+ the elements. The two input arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to transform pairs of input elements and their indices.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to transform the pairs of the input elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of transformed elements.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+ The function to transform elements of the array.
+ The input array.
+ The array of transformed elements.
+
+
+ Returns the length of an array. You can also use property arr.Length.
+ The input array.
+ The length of the array.
+
+
+ Applies the given function to pair of elements drawn from matching indices in two arrays,
+ also passing the index of the elements. The two arrays must have the same lengths,
+ otherwise an ArgumentException is raised.
+ The function to apply to each index and pair of elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+
+
+ Applies the given function to each element of the array. The integer passed to the
+ function indicates the index of element.
+ The function to apply to each index and element.
+ The input array.
+
+
+ Applies the given function to pair of elements drawn from matching indices in two arrays. The
+ two arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to apply.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+
+
+ Applies the given function to each element of the array.
+ The function to apply.
+ The input array.
+
+
+ Returns true if the given array is empty, otherwise false.
+ The input array.
+ True if the array is empty.
+
+
+ Creates an array where the entries are initially the default value Unchecked.defaultof<'T>.
+ The length of the array to create.
+ The created array.
+
+
+ Creates an array given the dimension and a generator function to compute the elements.
+ The number of elements to initialize.
+ The function to generate the initial values for each index.
+ The created array.
+
+
+ Gets an element from an array.
+ The input array.
+ The input index.
+ The value of the array at the given index.
+
+
+ Apply a function to pairs of elements drawn from the two collections, right-to-left,
+ threading an accumulator argument through the computation. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to update the state given the input elements.
+ The first input array.
+ The second input array.
+ The initial state.
+ Thrown when the input arrays differ in length.
+ The final state.
+
+
+ Applies a function to pairs of elements drawn from the two collections,
+ left-to-right, threading an accumulator argument
+ through the computation. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to update the state given the input elements.
+ The initial state.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The final state.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f i0 (...(f iN s))
+ The function to update the state given the input elements.
+ The input array.
+ The initial state.
+ The final state.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f (... (f s i0)...) iN
+ The function to update the state given the input elements.
+ The initial state.
+ The input array.
+ The final state.
+
+
+ Tests if all corresponding elements of the array satisfy the given predicate pairwise.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns false then the overall result is
+ false and no further elements are tested. Otherwise, if one collection is longer
+ than the other then the ArgumentException exception is raised.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ True if all of the array elements satisfy the predicate.
+
+
+ Tests if all elements of the array satisfy the given predicate.
+
+ The predicate is applied to the elements of the input collection. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The input array.
+ True if all of the array elements satisfy the predicate.
+
+
+ Returns the index of the first element in the array
+ that satisfies the given predicate. Raise KeyNotFoundException if
+ none of the elements satisy the predicate.
+ The function to test the input elements.
+ The input array.
+ Thrown if predicate
+ never returns true.
+ The index of the first element in the array that satisfies the given predicate.
+
+
+ Returns the first element for which the given function returns 'true'.
+ Raise KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input array.
+ Thrown if predicate
+ never returns true.
+ The first element for which predicate returns true.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true".
+ The function to test the input elements.
+ The input array.
+ An array containing the elements for which the given predicate returns true.
+
+
+ Tests if any pair of corresponding elements of the arrays satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, if one collections is longer
+ than the other then the ArgumentException exception is raised.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The first input array.
+ The second input array.
+ True if any result from predicate is true.
+
+
+ Tests if any element of the array satisfies the given predicate.
+
+ The predicate is applied to the elements of the input array. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The input array.
+ True if any result from predicate is true.
+
+
+ Returns an empty array of the given type.
+
+
+ Applies the given function to each element of the array. Returns
+ the array comprised of the results "x" for each element where
+ the function returns Some(x)
+ The function to generate options from the elements.
+ The input array.
+ The array of results.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If the function
+ never returns Some(x) then KeyNotFoundException is raised.
+ The function to generate options from the elements.
+ The input array.
+ Thrown if every result from
+ chooser is None.
+ The first result.
+
+
+ Fills a range of elements of the array with the given value.
+ The target array.
+ The index of the first element to set.
+ The number of elements to set.
+ The value to set.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If the function
+ never returns Some(x) then None is returned.
+ The function to transform the array elements into options.
+ The input array.
+ The first transformed element that is Some(x).
+
+
+ Creates an array whose elements are all initially the given value.
+ The length of the array to create.
+ The value for the elements.
+ The created array.
+
+
+ Builds a new array that contains the elements of the given array.
+ The input array.
+ A copy of the input array.
+
+
+ Builds a new array that contains the elements of each of the given sequence of arrays.
+ The input sequence of arrays.
+ The concatenation of the sequence of input arrays.
+
+
+ For each element of the array, applies the given function. Concatenates all the results and return the combined array.
+ The function to create sub-arrays from the input array elements.
+ The input array.
+ The concatenation of the sub-arrays.
+
+
+ Reads a range of elements from the first array and write them into the second.
+ The source array.
+ The starting index of the source array.
+ The target array.
+ The starting index of the target array.
+ The number of elements to copy.
+
+
+ Returns the average of the elements generated by applying the function to each element of the array.
+ The function to transform the array elements before averaging.
+ The input array.
+ Thrown when array is empty.
+ The computed average.
+
+
+ Returns the average of the elements in the array.
+ The input array.
+ Thrown when array is empty.
+ The average of the elements in the array.
+
+
+ Builds a new array that contains the elements of the first array followed by the elements of the second array.
+ The first input array.
+ The second input array.
+ The resulting array.
+
+
+ Split the collection into two collections, containing the
+ elements for which the given predicate returns "true" and "false"
+ respectively
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to indicies is not specified.
+ The function to test the input elements.
+ The input array.
+ 'T[] * 'T[]
+
+
+ Create an array given the dimension and a generator function to compute the elements.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to indicies is not specified.
+
+
+ 'T[]
+
+
+ Apply the given function to each element of the array. The integer passed to the
+ function indicates the index of element.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+
+ The input array.
+
+
+ Apply the given function to each element of the array.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+
+ The input array.
+
+
+ Build a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer index passed to the
+ function indicates the index of element being transformed.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+
+ The input array.
+ 'U[]
+
+
+ Build a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+
+ The input array.
+ 'U[]
+
+
+ For each element of the array, apply the given function. Concatenate all the results and return the combined array.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+
+ The input array.
+ 'U[]
+
+
+ Apply the given function to each element of the array. Return
+ the array comprised of the results "x" for each element where
+ the function returns Some(x).
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+ The function to generate options from the elements.
+ The input array.
+ 'U[]
+
+
+ Provides parallel operations on arrays
+
+
+ Basic operations on arrays.
+
+
+ Compare using the given comparer function.
+ A function to compare two values.
+ An object implementing IComparer using the supplied comparer.
+
+
+ Structural comparison. Compare using Operators.compare.
+
+
+ Common notions of comparison identity used with sorted data structures.
+
+
+ Hash using the given hashing and equality functions.
+ A function to generate a hash code from a value.
+ A function to test equality of two values.
+ An object implementing IEqualityComparer using the supplied functions.
+
+
+ Physical hashing (hash on reference identity of objects, and the contents of value types).
+ Hash using LanguagePrimitives.PhysicalEquality and LanguagePrimitives.PhysicalHash,
+ That is, for value types use GetHashCode and Object.Equals (if no other optimization available),
+ and for reference types use System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode and
+ reference equality.
+
+
+
+
+
+ Structural hashing. Hash using Operators.(=) and Operators.hash.
+
+
+ Common notions of value identity used with hash tables.
+
+
+ Combines the three lists into a list of triples. The lists must have equal lengths.
+ The first input list.
+ The second input list.
+ The third input list.
+ A single list containing triples of matching elements from the input lists.
+
+
+ Combines the two lists into a list of pairs. The two lists must have equal lengths.
+ The first input list.
+ The second input list.
+ A single list containing pairs of matching elements from the input lists.
+
+
+ Splits a list of triples into three lists.
+ The input list.
+ Three lists of split elements.
+
+
+ Splits a list of pairs into two lists.
+ The input list.
+ Two lists of split elements.
+
+
+ Returns the index of the first element in the list
+ that satisfies the given predicate.
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input list.
+ The index of the first element for which the predicate returns true, or None if
+ every element evaluates to false.
+
+
+ Returns the first element for which the given function returns true..
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input list.
+ The first element for which the predicate returns true, or None if
+ every element evaluates to false.
+
+
+ Applies the given function to successive elements, returning Some(x) the first
+ result where function returns Some(x) for some x. If no such element
+ exists then return None.
+ The function to generate options from the elements.
+ The input list.
+ The first resulting value or None.
+
+
+ Views the given list as a sequence.
+ The input list.
+ The sequence of elements in the list.
+
+
+ Builds an array from the given list.
+ The input list.
+ The array containing the elements of the list.
+
+
+ Returns the list after removing the first element.
+
+ The input list.
+ Thrown when the list is empty.
+ The list after removing the first element.
+
+
+ Returns the sum of the results generated by applying the function to each element of the list.
+ The function to transform the list elements into the type to be summed.
+ The input list.
+ The resulting sum.
+
+
+ Returns the sum of the elements in the list.
+ The input list.
+ The resulting sum.
+
+
+ Sorts the given list using Operators.compare.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The input list.
+ The sorted list.
+
+
+ Sorts the given list using keys given by the given projection. Keys are compared using Operators.compare.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The function to transform the list elements into the type to be compared.
+ The input list.
+ The sorted list.
+
+
+ Sorts the given list using the given comparison function.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The function to compare the list elements.
+ The input list.
+ The sorted list.
+
+
+ Like foldBack, but returns both the intermediary and final results
+ The function to update the state given the input elements.
+ The input list.
+ The initial state.
+ The list of states.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. Take the second argument, and apply the function to it
+ and the first element of the list. Then feed this result into the function along
+ with the second element and so on. Returns the list of intermediate results and the final result.
+ The function to update the state given the input elements.
+ The initial state.
+ The input list.
+ The list of states.
+
+
+ Returns a new list with the elements in reverse order.
+ The input list.
+ The reversed list.
+
+
+ Creates a list by calling the given generator on each index.
+ The number of elements to replicate.
+ The value to replicate
+ The generated list.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f i0 (...(f iN-1 iN)).
+
+ Raises System.ArgumentException if list is empty
+ The function to reduce two list elements to a single element.
+ The input list.
+ Thrown when the list is empty.
+ The final reduced value.
+
+
+ Apply a function to each element of the collection, threading an accumulator argument
+ through the computation. Apply the function to the first two elements of the list.
+ Then feed this result into the function along with the third element and so on.
+ Return the final result. If the input function is f and the elements are i0...iN then computes
+ f (... (f i0 i1) i2 ...) iN.
+
+ Raises System.ArgumentException if list is empty
+ The function to reduce two list elements to a single element.
+ The input list.
+ Thrown when the list is empty.
+ The final reduced value.
+
+
+ Returns a list with all elements permuted according to the
+ specified permutation.
+ The function to map input indices to output indices.
+ The input list.
+ The permutated list.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If no such
+ element exists then raise System.Collections.Generic.KeyNotFoundException
+ The function to generate options from the elements.
+ The input list.
+ Thrown when the list is empty.
+ The first resulting value.
+
+
+ Splits the collection into two collections, containing the
+ elements for which the given predicate returns true and false
+ respectively. Element order is preserved in both of the created lists.
+ The function to test the input elements.
+ The input list.
+ A list containing the elements for which the predicate evaluated to false and a list
+ containing the elements for which the predicate evaluated to true.
+
+
+ Builds a new list from the given enumerable object.
+ The input sequence.
+ The list of elements from the sequence.
+
+
+ Builds a list from the given array.
+ The input array.
+ The list of elements from the array.
+
+
+ Indexes into the list. The first element has index 0.
+ The input list.
+ The index to retrieve.
+ The value at the given index.
+
+
+ Returns the lowest of all elements of the list, compared via Operators.min on the function result
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform list elements into the type to be compared.
+ The input list.
+ Thrown when the list is empty.
+ The minimum value.
+
+
+ Returns the lowest of all elements of the list, compared via Operators.min.
+
+ Raises System.ArgumentException if list is empty
+ The input list.
+ Thrown when the list is empty.
+ The minimum value.
+
+
+ Returns the greatest of all elements of the list, compared via Operators.max on the function result.
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform the list elements into the type to be compared.
+ The input list.
+ Thrown when the list is empty.
+ The maximum element.
+
+
+ Return the greatest of all elements of the list, compared via Operators.max.
+
+ Raises System.ArgumentException if list is empty
+ The input list.
+ Thrown when the list is empty.
+ The maximum element.
+
+
+ Like mapi, but mapping corresponding elements from two lists of equal length.
+ The function to transform pairs of elements from the two lists and their index.
+ The first input list.
+ The second input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The integer index passed to the
+ function indicates the index (from 0) of element being transformed.
+ The function to transform elements and their indices.
+ The input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the three collections simultaneously.
+ The function to transform triples of elements from the input lists.
+ The first input list.
+ The second input list.
+ The third input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise.
+ The function to transform pairs of elements from the input lists.
+ The first input list.
+ The second input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection.
+ The function to transform elements from the input list.
+ The input list.
+ The list of transformed elements.
+
+
+ Returns the length of the list.
+ The input list.
+ The length of the list.
+
+
+ Applies the given function to two collections simultaneously. The
+ collections must have identical size. The integer passed to the
+ function indicates the index of element.
+ The function to apply to a pair of elements from the input lists along with their index.
+ The first input list.
+ The second input list.
+
+
+ Applies the given function to each element of the collection. The integer passed to the
+ function indicates the index of element.
+ The function to apply to the elements of the list along with their index.
+ The input list.
+
+
+ Applies the given function to two collections simultaneously. The
+ collections must have identical size.
+ The function to apply to pairs of elements from the input lists.
+ The first input list.
+ The second input list.
+
+
+ Applies the given function to each element of the collection.
+ The function to apply to elements from the input list.
+ The input list.
+
+
+ Returns true if the list contains no elements, false otherwise.
+ The input list.
+ True if the list is empty.
+
+
+ Creates a list by calling the given generator on each index.
+ The length of the list to generate.
+ The function to generate an element from an index.
+ The list of generated elements.
+
+
+ Returns the first element of the list.
+
+ The input list.
+ Thrown when the list is empty.
+ The first element of the list.
+
+
+ Tests if all corresponding elements of the collection satisfy the given predicate pairwise.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns false then the overall result is
+ false and no further elements are tested. Otherwise, if one collection is longer
+ than the other then the System.ArgumentException exception is raised.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The first input list.
+ The second input list.
+ Thrown when the input lists differ in length.
+ True if all of the pairs of elements satisfy the predicate.
+
+
+ Tests if all elements of the collection satisfy the given predicate.
+
+ The predicate is applied to the elements of the input list. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The input list.
+ True if all of the elements satisfy the predicate.
+
+
+ Applies a function to corresponding elements of two collections, threading an accumulator argument
+ through the computation. The collections must have identical sizes.
+ If the input function is f and the elements are i0...iN and j0...jN
+ then computes f i0 j0 (...(f iN jN s)).
+ The function to update the state given the input elements.
+ The first input list.
+ The second input list.
+ The initial state.
+ The final state value.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then
+ computes f i0 (...(f iN s)).
+ The function to update the state given the input elements.
+ The input list.
+ The initial state.
+ The final state value.
+
+
+ Applies a function to corresponding elements of two collections, threading an accumulator argument
+ through the computation. The collections must have identical sizes.
+ If the input function is f and the elements are i0...iN and j0...jN
+ then computes f (... (f s i0 j0)...) iN jN.
+ The function to update the state given the input elements.
+ The initial state.
+ The first input list.
+ The second input list.
+ The final state value.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. Take the second argument, and apply the function to it
+ and the first element of the list. Then feed this result into the function along
+ with the second element and so on. Return the final result.
+ If the input function is f and the elements are i0...iN then
+ computes f (... (f s i0) i1 ...) iN.
+ The function to update the state given the input elements.
+ The initial state.
+ The input list.
+ The final state value.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true"
+ The function to test the input elements.
+ The input list.
+ A list containing only the elements that satisfy the predicate.
+
+
+ Returns the index of the first element in the list
+ that satisfies the given predicate.
+ Raises KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input list.
+ Thrown if the predicate evaluates to false for all the
+ elements of the list.
+ The index of the first element that satisfies the predicate.
+
+
+ Returns the first element for which the given function returns true.
+ Raises KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input list.
+ Thrown if the predicate evaluates to false for
+ all the elements of the list.
+ The first element that satisfies the predicate.
+
+
+ Tests if any pair of corresponding elements of the lists satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, if one collections is longer
+ than the other then the System.ArgumentException exception is raised.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The first input list.
+ The second input list.
+ Thrown when the input lists differ in length.
+ True if any pair of elements satisfy the predicate.
+
+
+ Tests if any element of the list satisfies the given predicate.
+
+ The predicate is applied to the elements of the input list. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The input list.
+ True if any element satisfies the predicate.
+
+
+ Returns an empty list of the given type.
+
+
+ Returns a new list that contains the elements of each the lists in order.
+ The input sequence of lists.
+ The resulting concatenated list.
+
+
+ For each element of the list, applies the given function. Concatenates all the results and return the combined list.
+ The function to transform each input element into a sublist to be concatenated.
+ The input list.
+ The concatenation of the transformed sublists.
+
+
+ Applies the given function to each element of the list. Returns
+ the list comprised of the results x for each element where
+ the function returns Some(x)
+ The function to generate options from the elements.
+ The input list.
+ The list comprising the values selected from the chooser function.
+
+
+ Returns the average of the elements generated by applying the function to each element of the list.
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform the list elements into the type to be averaged.
+ The input list.
+ Thrown when the list is empty.
+ The resulting average.
+
+
+ Returns the average of the elements in the list.
+
+ Raises System.ArgumentException if list is empty.
+ The input list.
+ Thrown when the list is empty.
+ The resulting average.
+
+
+ Returns a new list that contains the elements of the first list
+ followed by elements of the second.
+ The first input list.
+ The second input list.
+ The resulting list.
+
+
+ Basic operations on lists.
+
+
+ Returns the key of the first mapping in the collection that satisfies the given predicate.
+ Returns 'None' if no such element exists.
+ The function to test the input elements.
+ The input map.
+ The first key for which the predicate returns true or None if the predicate evaluates to false for each key/value pair.
+
+
+ Evaluates the function on each mapping in the collection. Returns the key for the first mapping
+ where the function returns 'true'. Raise KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input map.
+ Thrown if the key does not exist in the map.
+ The first key for which the predicate evaluates true.
+
+
+ Lookup an element in the map, returning a Some value if the element is in the domain
+ of the map and None if not.
+ The input key.
+ The input map.
+ The found Some value or None.
+
+
+ Removes an element from the domain of the map. No exception is raised if the element is not present.
+ The input key.
+ The input map.
+ The resulting map.
+
+
+ Builds two new maps, one containing the bindings for which the given predicate returns 'true',
+ and the other the remaining bindings.
+ The function to test the input elements.
+ The input map.
+ A pair of maps in which the first contains the elements for which the predicate returned true
+ and the second containing the elements for which the predicated returned false.
+
+
+ Tests if an element is in the domain of the map.
+ The input key.
+ The input map.
+ True if the map contains the key.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The key passed to the
+ function indicates the key of element being transformed.
+ The function to transform the key/value pairs.
+ The input map.
+ The resulting map of keys and transformed values.
+
+
+ Returns true if the given predicate returns true for all of the
+ bindings in the map.
+ The function to test the input elements.
+ The input map.
+ True if the predicate evaluates to true for all of the bindings in the map.
+
+
+ Builds a new map containing only the bindings for which the given predicate returns 'true'.
+ The function to test the key/value pairs.
+ The input map.
+ The filtered map.
+
+
+ Returns true if the given predicate returns true for one of the
+ bindings in the map.
+ The function to test the input elements.
+ The input map.
+ True if the predicate returns true for one of the key/value pairs.
+
+
+ Applies the given function to each binding in the dictionary
+ The function to apply to each key/value pair.
+ The input map.
+
+
+ Folds over the bindings in the map
+ The function to update the state given the input key/value pairs.
+ The initial state.
+ The input map.
+ The final state value.
+
+
+ Folds over the bindings in the map.
+ The function to update the state given the input key/value pairs.
+ The input map.
+ The initial state.
+ The final state value.
+
+
+ Searches the map looking for the first element where the given function returns a Some value
+ The function to generate options from the key/value pairs.
+ The input map.
+ The first result.
+
+
+ Searches the map looking for the first element where the given function returns a Some value.
+ The function to generate options from the key/value pairs.
+ The input map.
+ The first result.
+
+
+ Lookup an element in the map, raising KeyNotFoundException if no binding
+ exists in the map.
+ The input key.
+ The input map.
+ Thrown when the key does not exist in the map.
+ The value mapped to the given key.
+
+
+ The empty map.
+
+
+ Is the map empty?
+ The input map.
+ True if the map is empty.
+
+
+ Returns an array of all key-value pairs in the mapping.
+ The array will be ordered by the keys of the map.
+ The input map.
+ The array of key/value pairs.
+
+
+ Returns a list of all key-value pairs in the mapping.
+ The list will be ordered by the keys of the map.
+ The input map.
+ The list of key/value pairs.
+
+
+ Views the collection as an enumerable sequence of pairs.
+ The sequence will be ordered by the keys of the map.
+ The input map.
+ The sequence of key/value pairs.
+
+
+ Returns a new map made from the given bindings.
+ The input sequence of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map made from the given bindings.
+ The input array of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map made from the given bindings.
+ The input list of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map with the binding added to the given map.
+ The input key.
+ The input value.
+ The input map.
+ The resulting map.
+
+
+ Functional programming operators related to the Map<_,_> type.
+
+
+ Combines the three sequences into a list of triples. The sequences need not have equal lengths:
+ when one sequence is exhausted any remaining elements in the other
+ sequences are ignored.
+
+ The first input sequence.
+ The second input sequence.
+ The third input sequence.
+
+ The result sequence.
+
+ Thrown when any of the input sequences is null.
+
+
+ Combines the two sequences into a list of pairs. The two sequences need not have equal lengths:
+ when one sequence is exhausted any remaining elements in the other
+ sequence are ignored.
+
+ The first input sequence.
+ The second input sequence.
+
+ The result sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Returns a sequence that yields sliding windows of containing elements drawn from the input
+ sequence. Each window is returned as a fresh array.
+
+ The number of elements in each window.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns a sequence that contains the elements generated by the given computation.
+ The given initial state argument is passed to the element generator.
+ For each IEnumerator elements in the stream are generated on-demand by applying the element
+ generator, until a None value is returned by the element generator. Each call to the element
+ generator returns a new residual state.
+
+ The stream will be recomputed each time an IEnumerator is requested and iterated for the Seq.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ A function that takes in the current state and returns an option tuple of the next
+ element of the sequence and the next state value.
+ The initial state value.
+
+ The result sequence.
+
+
+ Returns a sequence that when enumerated returns at most N elements.
+
+ The maximum number of items to enumerate.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to successive elements, returning the first
+ result where the function returns "Some(x)".
+
+ A function that transforms items from the input sequence into options.
+ The input sequence.
+
+ The chosen element or None.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the index of the first element in the sequence
+ that satisfies the given predicate. Return None if no such element exists.
+
+ A function that evaluates to a Boolean when given an item in the sequence.
+ The input sequence.
+
+ The found index or None.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the first element for which the given function returns true.
+ Return None if no such element exists.
+
+ A function that evaluates to a Boolean when given an item in the sequence.
+ The input sequence.
+
+ The found element or None.
+
+ Thrown when the input sequence is null.
+
+
+ Builds a list from the given collection.
+
+ The input sequence.
+
+ The result list.
+
+ Thrown when the input sequence is null.
+
+
+ Builds an array from the given collection.
+
+ The input sequence.
+
+ The result array.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that, when iterated, yields elements of the underlying sequence while the
+ given predicate returns true, and then returns no further elements.
+
+ A function that evaluates to false when no more items should be returned.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the first N elements of the sequence.
+ Throws InvalidOperationException
+ if the count exceeds the number of elements in the sequence. Seq.truncate
+ returns as many items as the sequence contains instead of throwing an exception.
+
+ The number of items to take.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+ Thrown when count exceeds the number of elements
+ in the sequence.
+
+
+ Returns the sum of the results generated by applying the function to each element of the sequence.
+ The generated elements are summed using the + operator and Zero property associated with the generated type.
+
+ A function to transform items from the input sequence into the type that will be summed.
+ The input sequence.
+
+ The computed sum.
+
+
+ Returns the sum of the elements in the sequence.
+
+ The elements are summed using the + operator and Zero property associated with the generated type.
+
+ The input sequence.
+
+ The computed sum.
+
+
+ Applies a key-generating function to each element of a sequence and yield a sequence ordered
+ by keys. The keys are compared using generic comparison as implemented by Operators.compare.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ This is a stable sort, that is the original order of equal elements is preserved.
+
+ A function to transform items of the input sequence into comparable keys.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Yields a sequence ordered by keys.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ This is a stable sort, that is the original order of equal elements is preserved.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that, when iterated, skips elements of the underlying sequence while the
+ given predicate returns true, and then yields the remaining elements of the sequence.
+
+ A function that evaluates an element of the sequence to a boolean value.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that skips N elements of the underlying sequence and then yields the
+ remaining elements of the sequence.
+
+ The number of items to skip.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when count exceeds the number of elements
+ in the sequence.
+
+
+ Returns a sequence that yields one item only.
+
+ The input item.
+
+ The result sequence of one item.
+
+
+ Like fold, but computes on-demand and returns the sequence of intermediary and final results.
+
+ A function that updates the state with each element from the sequence.
+ The initial state.
+ The input sequence.
+
+ The resulting sequence of computed states.
+
+ Thrown when the input sequence is null.
+
+
+ Applies a function to each element of the sequence, threading an accumulator argument
+ through the computation. Begin by applying the function to the first two elements.
+ Then feed this result into the function along with the third element and so on.
+ Return the final result.
+
+ A function that takes in the current accumulated result and the next
+ element of the sequence to produce the next accumulated result.
+ The input sequence.
+
+ The final result of the reduction function.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Builds a new sequence object that delegates to the given sequence object. This ensures
+ the original sequence cannot be rediscovered and mutated by a type cast. For example,
+ if given an array the returned sequence will return the elements of the array, but
+ you cannot cast the returned sequence object to an array.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to successive elements, returning the first
+ x where the function returns "Some(x)".
+
+ A function to transform each item of the input sequence into an option of the output type.
+ The input sequence.
+
+ The selected element.
+
+ Thrown when the input sequence is null.
+ Thrown when every item of the sequence
+ evaluates to None when the given function is applied.
+
+
+ Returns a sequence of each element in the input sequence and its predecessor, with the
+ exception of the first element which is only returned as the predecessor of the second element.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Views the given list as a sequence.
+
+ The input list.
+
+ The result sequence.
+
+
+ Views the given array as a sequence.
+
+ The input array.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Computes the nth element in the collection.
+
+ The index of element to retrieve.
+ The input sequence.
+
+ The nth element of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the lowest of all elements of the sequence, compared via Operators.min on the function result.
+
+ A function to transform items from the input sequence into comparable keys.
+ The input sequence.
+
+ The smallest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the lowest of all elements of the sequence, compared via Operators.min.
+
+ The input sequence.
+
+ The smallest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the greatest of all elements of the sequence, compared via Operators.max on the function result.
+
+ A function to transform items from the input sequence into comparable keys.
+ The input sequence.
+
+ The largest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the greatest of all elements of the sequence, compared via Operators.max
+
+ The input sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+ The largest element of the sequence.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The integer index passed to the
+ function indicates the index (from 0) of element being transformed.
+
+ A function to transform items from the input sequence that also supplies the current index.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding pairs of elements from the two sequences. If one input sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to transform pairs of items from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ The result sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The given function will be applied
+ as elements are demanded using the MoveNext method on enumerators retrieved from the
+ object.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ A function to transform items from the input sequence.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the length of the sequence
+
+ The input sequence.
+
+ The length of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to two collections simultaneously. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to apply to each pair of elements from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Applies the given function to each element of the collection. The integer passed to the
+ function indicates the index of element.
+
+ A function to apply to each element of the sequence that can also access the current index.
+ The input sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to each element of the collection.
+
+ A function to apply to each element of the sequence.
+ The input sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Generates a new sequence which, when iterated, will return successive
+ elements by calling the given function. The results of calling the function
+ will not be saved, that is the function will be reapplied as necessary to
+ regenerate the elements. The function is passed the index of the item being
+ generated.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+ Iteration can continue up to Int32.MaxValue.
+
+ A function that generates an item in the sequence from a given index.
+
+ The result sequence.
+
+
+ Generates a new sequence which, when iterated, will return successive
+ elements by calling the given function, up to the given count. Each element is saved after its
+ initialization. The function is passed the index of the item being
+ generated.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The maximum number of items to generate for the sequence.
+ A function that generates an item in the sequence from a given index.
+
+ The result sequence.
+
+ Thrown when count is negative.
+
+
+ Returns true if the sequence contains no elements, false otherwise.
+
+ The input sequence.
+
+ True if the sequence is empty; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the only element of the sequence.
+
+ The input sequence.
+
+ The last element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have precisely one element.
+
+
+ Returns the last element of the sequence.
+
+ The input sequence.
+
+ The last element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have any elements.
+
+
+ Returns the first element of the sequence.
+
+ The input sequence.
+
+ The first element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have any elements.
+
+
+ Applies a key-generating function to each element of a sequence and yields a sequence of
+ unique keys. Each unique key contains a sequence of all elements that match
+ to this key.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ A function that transforms an element of the sequence into a comparable key.
+ The input sequence.
+
+ The result sequence.
+
+
+ Tests the all pairs of elements drawn from the two sequences satisfy the
+ given predicate. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to test pairs of elements from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ True if all pairs satisfy the predicate; false otherwise.
+
+ Thrown when either of the input sequences is null.
+
+
+ Tests if all elements of the sequence satisfy the given predicate.
+
+ The predicate is applied to the elements of the input sequence. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+
+ A function to test an element of the input sequence.
+ The input sequence.
+
+ True if every element of the sequence satisfies the predicate; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f (... (f s i0)...) iN
+
+ A function that updates the state with each element from the sequence.
+ The initial state.
+ The input sequence.
+
+ The state object after the folding function is applied to each element of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the index of the first element for which the given function returns true.
+
+ A function to test whether the index of a particular element should be returned.
+ The input sequence.
+
+ The index of the first element for which the predicate returns true.
+
+ Thrown if no element returns true when
+ evaluated by the predicate
+ Thrown when the input sequence is null
+
+
+ Returns the first element for which the given function returns true.
+
+ A function to test whether an item in the sequence should be returned.
+ The input sequence.
+
+ The first element for which the predicate returns true.
+
+ Thrown if no element returns true when
+ evaluated by the predicate
+ Thrown when the input sequence is null
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true".
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A synonym for Seq.filter.
+
+ A function to test whether each item in the input sequence should be included in the output.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true". This is a synonym for Seq.where.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A function to test whether each item in the input sequence should be included in the output.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Tests if any pair of corresponding elements of the input sequences satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two sequences up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, false is returned. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to test each pair of items from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ True if any result from the predicate is true; false otherwise.
+
+ Thrown when either of the two input sequences is null.
+
+
+ Tests if any element of the sequence satisfies the given predicate.
+
+ The predicate is applied to the elements of the input sequence. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+
+ A function to test each item of the input sequence.
+ The input sequence.
+
+ True if any result from the predicate is true; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Creates an empty sequence.
+
+ An empty sequence.
+
+
+ Returns a sequence that contains no duplicate entries according to the
+ generic hash and equality comparisons on the keys returned by the given key-generating function.
+ If an element occurs multiple times in the sequence then the later occurrences are discarded.
+
+ A function transforming the sequence items into comparable keys.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that contains no duplicate entries according to generic hash and
+ equality comparisons on the entries.
+ If an element occurs multiple times in the sequence then the later occurrences are discarded.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that is built from the given delayed specification of a
+ sequence.
+
+ The input function is evaluated each time an IEnumerator for the sequence
+ is requested.
+
+ The generating function for the sequence.
+
+
+ Applies a key-generating function to each element of a sequence and return a sequence yielding unique
+ keys and their number of occurrences in the original sequence.
+
+ Note that this function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ A function transforming each item of input sequence into a key to be
+ compared against the others.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Combines the given enumeration-of-enumerations as a single concatenated
+ enumeration.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The input enumeration-of-enumerations.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Compares two sequences using the given comparison function, element by element.
+ Returns the first non-zero result from the comparison function. If the end of a sequence
+ is reached it returns a -1 if the first sequence is shorter and a 1 if the second sequence
+ is shorter.
+
+ A function that takes an element from each sequence and returns an int.
+ If it evaluates to a non-zero value iteration is stopped and that value is returned.
+ The first input sequence.
+ The second input sequence.
+
+ The first non-zero value from the comparison function.
+
+ Thrown when either of the input sequences
+ is null.
+
+
+ Applies the given function to each element of the sequence and concatenates all the
+ results.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A function to transform elements of the input sequence into the sequences
+ that will then be concatenated.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to each element of the list. Return
+ the list comprised of the results "x" for each element where
+ the function returns Some(x).
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not
+ be accessed concurrently.
+
+ A function to transform items of type T into options of type U.
+ The input sequence of type T.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Wraps a loosely-typed System.Collections sequence as a typed sequence.
+
+ The use of this function usually requires a type annotation.
+ An incorrect type annotation may result in runtime type
+ errors.
+ Individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that corresponds to a cached version of the input sequence.
+ This result sequence will have the same elements as the input sequence. The result
+ can be enumerated multiple times. The input sequence will be enumerated at most
+ once and only as far as is necessary. Caching a sequence is typically useful when repeatedly
+ evaluating items in the original sequence is computationally expensive or if
+ iterating the sequence causes side-effects that the user does not want to be
+ repeated multiple times.
+
+ Enumeration of the result sequence is thread safe in the sense that multiple independent IEnumerator
+ values may be used simultaneously from different threads (accesses to
+ the internal lookaside table are thread safe). Each individual IEnumerator
+ is not typically thread safe and should not be accessed concurrently.
+
+ Once enumeration of the input sequence has started,
+ it's enumerator will be kept live by this object until the enumeration has completed.
+ At that point, the enumerator will be disposed.
+
+ The enumerator may be disposed and underlying cache storage released by
+ converting the returned sequence object to type IDisposable, and calling the Dispose method
+ on this object. The sequence object may then be re-enumerated and a fresh enumerator will
+ be used.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the average of the results generated by applying the function to each element
+ of the sequence.
+
+ The elements are averaged using the + operator, DivideByInt method and Zero property
+ associated with the generated type.
+
+ A function applied to transform each element of the sequence.
+ The input sequence.
+
+ The average.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence has zero elements.
+
+
+ Returns the average of the elements in the sequence.
+
+ The elements are averaged using the + operator, DivideByInt method and Zero property
+ associated with the element type.
+
+ The input sequence.
+
+ The average.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence has zero elements.
+
+
+ Wraps the two given enumerations as a single concatenated
+ enumeration.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed
+ concurrently.
+
+ The first sequence.
+ The second sequence.
+
+ The result sequence.
+
+ Thrown when either of the two provided sequences is
+ null.
+
+
+ Basic operations on IEnumerables.
+
+
+ Returns a new set with the elements of the second set removed from the first.
+ The first input set.
+ The set whose elements will be removed from set1.
+ The set with the elements of set2 removed from set1.
+
+
+ Builds a new collection from the given enumerable object.
+ The input sequence.
+ The set containing elements.
+
+
+ Returns an ordered view of the collection as an enumerable object.
+ The input set.
+ An ordered sequence of the elements of set.
+
+
+ Builds an array that contains the elements of the set in order.
+ The input set.
+ An ordered array of the elements of set.
+
+
+ Builds a set that contains the same elements as the given array.
+ The input array.
+ A set containing the elements of array.
+
+
+ Builds a list that contains the elements of the set in order.
+ The input set.
+ An ordered list of the elements of set.
+
+
+ Builds a set that contains the same elements as the given list.
+ The input list.
+ A set containing the elements form the input list.
+
+
+ Returns the highest element in the set according to the ordering being used for the set.
+ The input set.
+ The max value from the set.
+
+
+ Returns the lowest element in the set according to the ordering being used for the set.
+ The input set.
+ The min value from the set.
+
+
+ Returns a new set with the given element removed. No exception is raised if
+ the set doesn't contain the given element.
+ The element to remove.
+ The input set.
+ The input set with value removed.
+
+
+ Splits the set into two sets containing the elements for which the given predicate
+ returns true and false respectively.
+ The function to test set elements.
+ The input set.
+ A pair of sets with the first containing the elements for which predicate returns
+ true and the second containing the elements for which predicate returns false.
+
+
+ Applies the given function to each element of the set, in order according
+ to the comparison function.
+ The function to apply to each element.
+ The input set.
+
+
+ Returns "true" if the set is empty.
+ The input set.
+ True if set is empty.
+
+
+ Computes the union of a sequence of sets.
+ The sequence of sets to untion.
+ The union of the input sets.
+
+
+ Computes the union of the two sets.
+ The first input set.
+ The second input set.
+ The union of set1 and set2.
+
+
+ Computes the intersection of a sequence of sets. The sequence must be non-empty.
+ The sequence of sets to intersect.
+ The intersection of the input sets.
+
+
+ Computes the intersection of the two sets.
+ The first input set.
+ The second input set.
+ The intersection of set1 and set2.
+
+
+ Tests if all elements of the collection satisfy the given predicate.
+ If the input function is f and the elements are i0...iN and "j0...jN"
+ then computes p i0 && ... && p iN.
+ The function to test set elements.
+ The input set.
+ True if all elements of set satisfy predicate.
+
+
+ Applies the given accumulating function to all the elements of the set.
+ The accumulating function.
+ The input set.
+ The initial state.
+ The final state.
+
+
+ Applies the given accumulating function to all the elements of the set
+ The accumulating function.
+ The initial state.
+ The input set.
+ The final state.
+
+
+ Returns a new collection containing the results of applying the
+ given function to each element of the input set.
+ The function to transform elements of the input set.
+ The input set.
+ A set containing the transformed elements.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns true.
+ The function to test set elements.
+ The input set.
+ The set containing only the elements for which predicate returns true.
+
+
+ Tests if any element of the collection satisfies the given predicate.
+ If the input function is predicate and the elements are i0...iN
+ then computes p i0 or ... or p iN.
+ The function to test set elements.
+ The input set.
+ True if any element of set satisfies predicate.
+
+
+ Returns the number of elements in the set. Same as size.
+ The input set.
+ The number of elements in the set.
+
+
+ Evaluates to "true" if all elements of the second set are in the first, and at least
+ one element of the first is not in the second.
+ The potential superset.
+ The set to test against.
+ True if set1 is a proper superset of set2.
+
+
+ Evaluates to "true" if all elements of the second set are in the first.
+ The potential superset.
+ The set to test against.
+ True if set1 is a superset of set2.
+
+
+ Evaluates to "true" if all elements of the first set are in the second, and at least
+ one element of the second is not in the first.
+ The potential subset.
+ The set to test against.
+ True if set1 is a proper subset of set2.
+
+
+ Evaluates to "true" if all elements of the first set are in the second
+ The potential subset.
+ The set to test against.
+ True if set1 is a subset of set2.
+
+
+ Evaluates to "true" if the given element is in the given set.
+ The element to test.
+ The input set.
+ True if element is in set.
+
+
+ Returns a new set with an element added to the set. No exception is raised if
+ the set already contains the given element.
+ The value to add.
+ The input set.
+ A new set containing value.
+
+
+ The set containing the given element.
+ The value for the set to contain.
+ The set containing value.
+
+
+ The empty set for the type 'T.
+
+
+ Functional programming operators related to the Set<_> type.
+
+
+ Gets the default cancellation token for executing asynchronous computations.
+ The default CancellationToken.
+
+
+ Creates an asynchronous computation that returns the CancellationToken governing the execution
+ of the computation.
+ In async { let! token = Async.CancellationToken ...} token can be used to initiate other
+ asynchronous operations that will cancel cooperatively with this workflow.
+ An asynchronous computation capable of retrieving the CancellationToken from a computation
+ expression.
+
+
+ Creates an asynchronous computation that executes computation.
+ If this computation is cancelled before it completes then the computation generated by
+ running compensation is executed.
+ The input asynchronous computation.
+ The function to be run if the computation is cancelled.
+ An asynchronous computation that runs the compensation if the input computation
+ is cancelled.
+
+
+ Creates an asynchronous computation that queues a work item that runs
+ its continuation.
+ A computation that generates a new work item in the thread pool.
+
+
+ Creates an asynchronous computation that creates a new thread and runs
+ its continuation in that thread.
+ A computation that will execute on a new thread.
+
+
+ Creates an asynchronous computation that runs
+ its continuation using syncContext.Post. If syncContext is null
+ then the asynchronous computation is equivalent to SwitchToThreadPool().
+ The synchronization context to accept the posted computation.
+ An asynchronous computation that uses the syncContext context to execute.
+
+
+ Runs an asynchronous computation, starting immediately on the current operating system
+ thread. Call one of the three continuations when the operation completes.
+ If no cancellation token is provided then the default cancellation token
+ is used.
+ The asynchronous computation to execute.
+ The function called on success.
+ The function called on exception.
+ The function called on cancellation.
+ The CancellationToken to associate with the computation.
+ The default is used if this parameter is not provided.
+
+
+ Runs an asynchronous computation, starting immediately on the current operating system
+ thread.
+ If no cancellation token is provided then the default cancellation token is used.
+ The asynchronous computation to execute.
+ The CancellationToken to associate with the computation.
+ The default is used if this parameter is not provided.
+
+
+ Creates an asynchronous computation which starts the given computation as a System.Threading.Tasks.Task
+
+
+ Starts a child computation within an asynchronous workflow.
+ This allows multiple asynchronous computations to be executed simultaneously.
+
+ This method should normally be used as the immediate
+ right-hand-side of a let! binding in an F# asynchronous workflow, that is,
+
+ async { ...
+ let! completor1 = childComputation1 |> Async.StartChild
+ let! completor2 = childComputation2 |> Async.StartChild
+ ...
+ let! result1 = completor1
+ let! result2 = completor2
+ ... }
+
+ When used in this way, each use of StartChild starts an instance of childComputation
+ and returns a completor object representing a computation to wait for the completion of the operation.
+ When executed, the completor awaits the completion of childComputation.
+ The child computation.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ A new computation that waits for the input computation to finish.
+
+
+ Executes a computation in the thread pool.
+ If no cancellation token is provided then the default cancellation token is used.
+ A System.Threading.Tasks.Task that will be completed
+ in the corresponding state once the computation terminates (produces the result, throws exception or gets canceled)
+
+
+
+ Starts the asynchronous computation in the thread pool. Do not await its result.
+
+ If no cancellation token is provided then the default cancellation token is used.
+ The computation to run asynchronously.
+ The cancellation token to be associated with the computation.
+ If one is not supplied, the default cancellation token is used.
+
+
+ Creates an asynchronous computation that will sleep for the given time. This is scheduled
+ using a System.Threading.Timer object. The operation will not block operating system threads
+ for the duration of the wait.
+ The number of milliseconds to sleep.
+ An asynchronous computation that will sleep for the given time.
+ Thrown when the due time is negative
+ and not infinite.
+
+
+ Runs the asynchronous computation and await its result.
+
+ If an exception occurs in the asynchronous computation then an exception is re-raised by this
+ function.
+
+ If no cancellation token is provided then the default cancellation token is used.
+
+ The timeout parameter is given in milliseconds. A value of -1 is equivalent to
+ System.Threading.Timeout.Infinite.
+ The computation to run.
+ The amount of time in milliseconds to wait for the result of the
+ computation before raising a System.TimeoutException. If no value is provided
+ for timeout then a default of -1 is used to correspond to System.Threading.Timeout.Infinite.
+ The cancellation token to be associated with the computation.
+ If one is not supplied, the default cancellation token is used.
+ The result of the computation.
+
+
+ Creates an asynchronous computation that executes all the given asynchronous computations,
+ initially queueing each as work items and using a fork/join pattern.
+
+ If all child computations succeed, an array of results is passed to the success continuation.
+
+ If any child computation raises an exception, then the overall computation will trigger an
+ exception, and cancel the others.
+
+ The overall computation will respond to cancellation while executing the child computations.
+ If cancelled, the computation will cancel any remaining child computations but will still wait
+ for the other child computations to complete.
+ A sequence of distinct computations to be parallelized.
+ A computation that returns an array of values from the sequence of input computations.
+
+
+ Generates a scoped, cooperative cancellation handler for use within an asynchronous workflow.
+
+ For example,
+ async { use! holder = Async.OnCancel interruption ... }
+ generates an asynchronous computation where, if a cancellation happens any time during
+ the execution of the asynchronous computation in the scope of holder, then action
+ interruption is executed on the thread that is performing the cancellation. This can
+ be used to arrange for a computation to be asynchronously notified that a cancellation
+ has occurred, e.g. by setting a flag, or deregistering a pending I/O action.
+ The function that is executed on the thread performing the
+ cancellation.
+ An asynchronous computation that triggers the interruption if it is cancelled
+ before being disposed.
+
+
+ Creates an asynchronous computation that runs the given computation and ignores
+ its result.
+ The input computation.
+ A computation that is equivalent to the input computation, but disregards the result.
+
+
+ Creates an asynchronous computation that captures the current
+ success, exception and cancellation continuations. The callback must
+ eventually call exactly one of the given continuations.
+ The function that accepts the current success, exception, and cancellation
+ continuations.
+ An asynchronous computation that provides the callback with the current continuations.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by three arguments. For example,
+ Async.FromBeginEnd(arg1,arg2,arg3,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The first argument for the operation.
+ The second argument for the operation.
+ The third argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by two arguments. For example,
+ Async.FromBeginEnd(arg1,arg2,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The first argument for the operation.
+ The second argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by one argument. For example,
+ Async.FromBeginEnd(place,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. For example,
+ Async.FromBeginEnd(ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation that executes computation.
+ If this computation completes successfully then return Choice1Of2 with the returned
+ value. If this computation raises an exception before it completes then return Choice2Of2
+ with the raised exception.
+ The input computation that returns the type T.
+ A computation that returns a choice of type T or exception.
+
+
+ Raises the cancellation condition for the most recent set of asynchronous computations started
+ without any specific CancellationToken. Replaces the global CancellationTokenSource with a new
+ global token source for any asynchronous computations created after this point without any
+ specific CancellationToken.
+
+
+ Creates an asynchronous computation that will wait on the given WaitHandle.
+
+ The computation returns true if the handle indicated a result within the given timeout.
+ The WaitHandle that can be signalled.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ An asynchronous computation that waits on the given WaitHandle.
+
+
+
+ Return an asynchronous computation that will wait for the given task to complete and return
+ its result.
+
+
+
+ Creates an asynchronous computation that will wait on the IAsyncResult.
+
+ The computation returns true if the handle indicated a result within the given timeout.
+ The IAsyncResult to wait on.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ An asynchronous computation that waits on the given IAsyncResult.
+
+
+ Creates an asynchronous computation that waits for a single invocation of a CLI
+ event by adding a handler to the event. Once the computation completes or is
+ cancelled, the handler is removed from the event.
+
+ The computation will respond to cancellation while waiting for the event. If a
+ cancellation occurs, and cancelAction is specified, then it is executed, and
+ the computation continues to wait for the event.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to cancel immediately.
+ The event to handle once.
+ An optional function to execute instead of cancelling when a
+ cancellation is issued.
+ An asynchronous computation that waits for the event to be invoked.
+
+
+ Creates three functions that can be used to implement the .NET Asynchronous
+ Programming Model (APM) for a given asynchronous computation.
+
+ The functions should normally be published as members with prefix Begin,
+ End and Cancel, and can be used within a type definition as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg -> computation)
+ member x.BeginSomeOperation(arg,callback,state:obj) = beginAction(arg,callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+ If the asynchronous computation takes no arguments, then AsBeginEnd is used as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun () -> computation)
+ member x.BeginSomeOperation(callback,state:obj) = beginAction((),callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+
+ If the asynchronous computation takes two arguments, then AsBeginEnd is used as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg1 arg2 -> computation)
+ member x.BeginSomeOperation(arg1,arg2,callback,state:obj) = beginAction((),callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+ In each case, the resulting API will be familiar to programmers in other CLI languages and
+ is a useful way to publish asynchronous computations in CLI components.
+ A function generating the asynchronous computation to split into the traditional
+ .NET Asynchronous Programming Model.
+ A tuple of the begin, end, and cancel members.
+
+
+ This static class holds members for creating and manipulating asynchronous computations.
+
+
+ Creates an asynchronous computation that just returns ().
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of empty else branches in the
+ async { ... } computation expression syntax.
+ An asynchronous computation that returns ().
+
+
+ Creates an asynchronous computation that runs computation repeatedly
+ until guard() becomes false.
+
+ A cancellation check is performed whenever the computation is executed.
+
+ The existence of this method permits the use of while in the
+ async { ... } computation expression syntax.
+ The function to determine when to stop executing computation.
+ The function to be executed. Equivalent to the body
+ of a while expression.
+ An asynchronous computation that behaves similarly to a while loop when run.
+
+
+ Creates an asynchronous computation that runs binder(resource).
+ The action resource.Dispose() is executed as this computation yields its result
+ or if the asynchronous computation exits by an exception or by cancellation.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of use and use! in the
+ async { ... } computation expression syntax.
+ The resource to be used and disposed.
+ The function that takes the resource and returns an asynchronous
+ computation.
+ An asynchronous computation that binds and eventually disposes resource.
+
+
+ Creates an asynchronous computation that runs computation and returns its result.
+ If an exception happens then catchHandler(exn) is called and the resulting computation executed instead.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of try/with in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The function to run when computation throws an exception.
+ An asynchronous computation that executes computation and calls catchHandler if an
+ exception is thrown.
+
+
+ Creates an asynchronous computation that runs computation. The action compensation is executed
+ after computation completes, whether computation exits normally or by an exception. If compensation raises an exception itself
+ the original exception is discarded and the new exception becomes the overall result of the computation.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of try/finally in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The action to be run after computation completes or raises an
+ exception (including cancellation).
+ An asynchronous computation that executes computation and compensation aftewards or
+ when an exception is raised.
+
+
+ Delegates to the input computation.
+
+ The existence of this method permits the use of return! in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The input computation.
+
+
+ Creates an asynchronous computation that returns the result v.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of return in the
+ async { ... } computation expression syntax.
+ The value to return from the computation.
+ An asynchronous computation that returns value when executed.
+
+
+ Creates an asynchronous computation that enumerates the sequence seq
+ on demand and runs body for each element.
+
+ A cancellation check is performed on each iteration of the loop.
+
+ The existence of this method permits the use of for in the
+ async { ... } computation expression syntax.
+ The sequence to enumerate.
+ A function to take an item from the sequence and create
+ an asynchronous computation. Can be seen as the body of the for expression.
+ An asynchronous computation that will enumerate the sequence and run body
+ for each element.
+
+
+ Creates an asynchronous computation that runs generator.
+
+ A cancellation check is performed when the computation is executed.
+ The function to run.
+ An asynchronous computation that runs generator.
+
+
+ Creates an asynchronous computation that first runs computation1
+ and then runs computation2, returning the result of computation2.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of expression sequencing in the
+ async { ... } computation expression syntax.
+ The first part of the sequenced computation.
+ The second part of the sequenced computation.
+ An asynchronous computation that runs both of the computations sequentially.
+
+
+ Creates an asynchronous computation that runs computation, and when
+ computation generates a result T, runs binder res.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of let! in the
+ async { ... } computation expression syntax.
+ The computation to provide an unbound result.
+ The function to bind the result of computation.
+ An asynchronous computation that performs a monadic bind on the result
+ of computation.
+
+
+
+ Generate an object used to build asynchronous computations using F# computation expressions. The value
+ 'async' is a pre-defined instance of this type.
+
+ A cancellation check is performed when the computation is executed.
+
+
+
+ The type of the async operator, used to build workflows for asynchronous computations.
+
+
+ Sends a reply to a PostAndReply message.
+ The value to send.
+
+
+ A handle to a capability to reply to a PostAndReply message.
+
+
+ A compositional asynchronous computation, which, when run, will eventually produce a value
+ of type T, or else raises an exception.
+
+ Asynchronous computations are normally specified using an F# computation expression.
+
+ When run, asynchronous computations have two modes: as a work item (executing synchronous
+ code), or as a wait item (waiting for an event or I/O completion).
+
+ When run, asynchronous computations can be governed by CancellationToken. This can usually
+ be specified when the async computation is started. The associated CancellationTokenSource
+ may be used to cancel the asynchronous computation. Asynchronous computations built using
+ computation expressions can check the cancellation condition regularly. Synchronous
+ computations within an asynchronous computation do not automatically check this condition.
+
+
+ Publishes the event as a first class event value.
+
+
+ Triggers the event using the given parameters.
+ The parameters for the event.
+
+
+ Creates an event object suitable for implementing an arbitrary type of delegate.
+ The event object.
+
+
+ Event implementations for an arbitrary type of delegate.
+
+
+ Publishes an observation as a first class value.
+
+
+ Triggers an observation using the given parameters.
+ The event parameters.
+
+
+ Creates an observable object.
+ The created event.
+
+
+ Event implementations for the IEvent<_> type.
+
+
+ Publishes the event as a first class event value.
+
+
+ Triggers the event using the given sender object and parameters. The sender object may be null.
+ The object triggering the event.
+ The parameters for the event.
+
+
+ Creates an event object suitable for delegate types following the standard .NET Framework convention of a first 'sender' argument.
+ The created event.
+
+
+ Event implementations for a delegate types following the standard .NET Framework convention of a first 'sender' argument.
+
+
+
+
+
+ A delegate type associated with the F# event type IEvent<_>
+ The object that fired the event.
+ The event arguments.
+
+
+ Remove a listener delegate from an event listener store.
+ The delegate to be removed from the event listener store.
+
+
+ Connect a handler delegate object to the event. A handler can
+ be later removed using RemoveHandler. The listener will
+ be invoked when the event is fired.
+ A delegate to be invoked when the event is fired.
+
+
+ First class event values for arbitrary delegate types.
+
+ F# gives special status to member properties compatible with type IDelegateEvent and
+ tagged with the CLIEventAttribute. In this case the F# compiler generates approriate
+ CLI metadata to make the member appear to other CLI languages as a CLI event.
+
+
+ First-class listening points (i.e. objects that permit you to register a callback
+ activated when the event is triggered).
+
+
+ First class event values for CLI events conforming to CLI Framework standards.
+
+
+ The type of delayed computations.
+
+ Use the values in the Lazy module to manipulate
+ values of this type, and the notation lazy expr to create values
+ of type .
+
+
+ Raises a timeout exception if a message not received in this amount of time. By default
+ no timeout is used.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Raises a timeout exception if a message not received in this amount of time. By default
+ no timeout is used.
+
+
+ Returns the number of unprocessed messages in the message queue of the agent.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Scans for a message by looking through messages in arrival order until scanner
+ returns a Some value. Other messages remain in the queue.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ The function to return None if the message is to be skipped
+ or Some if the message is to be processed and removed from the queue.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that scanner built off the read message.
+
+
+ Waits for a message. This will consume the first message in arrival order.
+
+ This method is for use within the body of the agent.
+
+ Returns None if a timeout is given and the timeout is exceeded.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ An optional timeout in milliseconds. Defaults to -1 which
+ corresponds to System.Threading.Timeout.Infinite.
+ An asynchronous computation that returns the received message or
+ None if the timeout is exceeded.
+
+
+ Like PostAndReply, but returns None if no reply within the timeout period.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ The reply from the agent or None if the timeout expires.
+
+
+ Starts the agent.
+
+
+ Creates and starts an agent. The body function is used to generate the asynchronous
+ computation executed by the agent.
+ The function to produce an asynchronous computation that will be executed
+ as the read loop for the MailboxProcessor when Start is called.
+ An optional cancellation token for the body.
+ Defaults to Async.DefaultCancellationToken.
+ The created MailboxProcessor.
+
+
+ Scans for a message by looking through messages in arrival order until scanner
+ returns a Some value. Other messages remain in the queue.
+
+ Returns None if a timeout is given and the timeout is exceeded.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ The function to return None if the message is to be skipped
+ or Some if the message is to be processed and removed from the queue.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that scanner built off the read message.
+ Thrown when the timeout is exceeded.
+
+
+ Waits for a message. This will consume the first message in arrival order.
+
+ This method is for use within the body of the agent.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that returns the received message.
+ Thrown when the timeout is exceeded.
+
+
+ Like AsyncPostAndReply, but returns None if no reply within the timeout period.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ An asynchronous computation that will return the reply or None if the timeout expires.
+
+
+ Posts a message to an agent and await a reply on the channel, synchronously.
+
+ The message is generated by applying buildMessage to a new reply channel
+ to be incorporated into the message. The receiving agent must process this
+ message and invoke the Reply method on this reply channel precisely once.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ The reply from the agent.
+
+
+ Posts a message to an agent and await a reply on the channel, asynchronously.
+
+ The message is generated by applying buildMessage to a new reply channel
+ to be incorporated into the message. The receiving agent must process this
+ message and invoke the Reply method on this reply channel precisely once.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ An asychronous computation that will wait for the reply from the agent.
+
+
+ Posts a message to the message queue of the MailboxProcessor, asynchronously.
+ The message to post.
+
+
+ Creates an agent. The body function is used to generate the asynchronous
+ computation executed by the agent. This function is not executed until
+ Start is called.
+ The function to produce an asynchronous computation that will be executed
+ as the read loop for the MailboxProcessor when Start is called.
+ An optional cancellation token for the body.
+ Defaults to Async.DefaultCancellationToken.
+ The created MailboxProcessor.
+
+
+ A message-processing agent which executes an asynchronous computation.
+
+ The agent encapsulates a message queue that supports multiple-writers and
+ a single reader agent. Writers send messages to the agent by using the Post
+ method and its variations.
+
+ The agent may wait for messages using the Receive or TryReceive methods or
+ scan through all available messages using the Scan or TryScan method.
+
+
+
+
+
+ Connects a listener function to the observable. The listener will
+ be invoked for each observation. The listener can be removed by
+ calling Dispose on the returned IDisposable object.
+ The function to be called for each observation.
+ An object that will remove the listener if disposed.
+
+
+ Permanently connects a listener function to the observable. The listener will
+ be invoked for each observation.
+ The function to be called for each observation.
+
+
+ Returns an asynchronous computation that will write the given bytes to the stream.
+ The buffer to write from.
+ An optional offset as a number of bytes in the stream.
+ An optional number of bytes to write to the stream.
+ An asynchronous computation that will write the given bytes to the stream.
+ Thrown when the sum of offset and count is longer than
+ the buffer length.
+ Thrown when offset or count is negative.
+
+
+ Returns an asynchronous computation that will read the given number of bytes from the stream.
+ The number of bytes to read.
+ An asynchronous computation that returns the read byte[] when run.
+
+
+ Returns an asynchronous computation that will read from the stream into the given buffer.
+ The buffer to read into.
+ An optional offset as a number of bytes in the stream.
+ An optional number of bytes to read from the stream.
+ An asynchronous computation that will read from the stream into the given buffer.
+ Thrown when the sum of offset and count is longer than
+ the buffer length.
+ Thrown when offset or count is negative.
+
+
+ A module of extension members providing asynchronous operations for some basic CLI types related to concurrency and I/O.
+
+
+ Returns a new event that triggers on the second and subsequent triggerings of the input event.
+ The Nth triggering of the input event passes the arguments from the N-1th and Nth triggering as
+ a pair. The argument passed to the N-1th triggering is held in hidden internal state until the
+ Nth triggering occurs.
+ The input event.
+ An event that triggers on pairs of consecutive values passed from the source event.
+
+
+ Runs the given function each time the given event is triggered.
+ The function to call when the event is triggered.
+ The input event.
+
+
+ Returns a new event consisting of the results of applying the given accumulating function
+ to successive values triggered on the input event. An item of internal state
+ records the current value of the state parameter. The internal state is not locked during the
+ execution of the accumulation function, so care should be taken that the
+ input IEvent not triggered by multiple threads simultaneously.
+ The function to update the state with each event value.
+ The initial state.
+ The input event.
+ An event that fires on the updated state values.
+
+
+ Returns a new event which fires on a selection of messages from the original event.
+ The selection function takes an original message to an optional new message.
+ The function to select and transform event values to pass on.
+ The input event.
+ An event that fires only when the chooser returns Some.
+
+
+ Returns a new event that listens to the original event and triggers the
+ first resulting event if the application of the function to the event arguments
+ returned a Choice1Of2, and the second event if it returns a Choice2Of2.
+ The function to transform event values into one of two types.
+ The input event.
+ A tuple of events. The first fires whenever splitter evaluates to Choice1of1 and
+ the second fires whenever splitter evaluates to Choice2of2.
+
+
+ Returns a new event that listens to the original event and triggers the
+ first resulting event if the application of the predicate to the event arguments
+ returned true, and the second event if it returned false.
+ The function to determine which output event to trigger.
+ The input event.
+ A tuple of events. The first is triggered when the predicate evaluates to true
+ and the second when the predicate evaluates to false.
+
+
+ Returns a new event that listens to the original event and triggers the resulting
+ event only when the argument to the event passes the given function.
+ The function to determine which triggers from the event to propagate.
+ The input event.
+ An event that only passes values that pass the predicate.
+
+
+ Returns a new event that passes values transformed by the given function.
+ The function to transform event values.
+ The input event.
+ An event that passes the transformed values.
+
+
+ Fires the output event when either of the input events fire.
+ The first input event.
+ The second input event.
+ An event that fires when either of the input events fire.
+
+
+
+
+
+ Forces the execution of this value and return its result. Same as Value. Mutual exclusion is used to
+ prevent other threads also computing the value.
+ The value of the Lazy object.
+
+
+ Creates a lazy computation that evaluates to the given value when forced.
+ The input value.
+ The created Lazy object.
+
+
+ Creates a lazy computation that evaluates to the result of the given function when forced.
+ The function to provide the value when needed.
+ The created Lazy object.
+
+
+ Extensions related to Lazy values.
+
+
+ Returns a new observable that triggers on the second and subsequent triggerings of the input observable.
+ The Nth triggering of the input observable passes the arguments from the N-1th and Nth triggering as
+ a pair. The argument passed to the N-1th triggering is held in hidden internal state until the
+ Nth triggering occurs.
+
+ For each observer, the registered intermediate observing object is not thread safe.
+ That is, observations arising from the source must not be triggered concurrently
+ on different threads.
+ The input Observable.
+ An Observable that triggers on successive pairs of observations from the input Observable.
+
+
+ Creates an observer which subscribes to the given observable and which calls
+ the given function for each observation.
+ The function to be called on each observation.
+ The input Observable.
+ An object that will remove the callback if disposed.
+
+
+ Creates an observer which permanently subscribes to the given observable and which calls
+ the given function for each observation.
+ The function to be called on each observation.
+ The input Observable.
+
+
+ Returns an observable which, for each observer, allocates an item of state
+ and applies the given accumulating function to successive values arising from
+ the input. The returned object will trigger observations for each computed
+ state value, excluding the initial value. The returned object propagates
+ all errors arising from the source and completes when the source completes.
+
+ For each observer, the registered intermediate observing object is not thread safe.
+ That is, observations arising from the source must not be triggered concurrently
+ on different threads.
+ The function to update the state with each observation.
+ The initial state.
+ The input Observable.
+ An Observable that triggers on the updated state values.
+
+
+ Returns an observable which chooses a projection of observations from the source
+ using the given function. The returned object will trigger observations x
+ for which the splitter returns Some x. The returned object also propagates
+ all errors arising from the source and completes when the source completes.
+ The function that returns Some for observations to be propagated
+ and None for observations to ignore.
+ The input Observable.
+ An Observable that only propagates some of the observations from the source.
+
+
+ Returns two observables which split the observations of the source by the
+ given function. The first will trigger observations x for which the
+ splitter returns Choice1Of2 x. The second will trigger observations
+ y for which the splitter returns Choice2Of2 y The splitter is
+ executed once for each subscribed observer. Both also propagate error
+ observations arising from the source and each completes when the source
+ completes.
+ The function that takes an observation an transforms
+ it into one of the two output Choice types.
+ The input Observable.
+ A tuple of Observables. The first triggers when splitter returns Choice1of2
+ and the second triggers when splitter returns Choice2of2.
+
+
+ Returns two observables which partition the observations of the source by
+ the given function. The first will trigger observations for those values
+ for which the predicate returns true. The second will trigger observations
+ for those values where the predicate returns false. The predicate is
+ executed once for each subscribed observer. Both also propagate all error
+ observations arising from the source and each completes when the source
+ completes.
+ The function to determine which output Observable will trigger
+ a particular observation.
+ The input Observable.
+ A tuple of Observables. The first triggers when the predicate returns true, and
+ the second triggers when the predicate returns false.
+
+
+ Returns an observable which filters the observations of the source
+ by the given function. The observable will see only those observations
+ for which the predicate returns true. The predicate is executed once for
+ each subscribed observer. The returned object also propagates error
+ observations arising from the source and completes when the source completes.
+ The function to apply to observations to determine if it should
+ be kept.
+ The input Observable.
+ An Observable that filters observations based on filter.
+
+
+ Returns an observable which transforms the observations of the source by the
+ given function. The transformation function is executed once for each
+ subscribed observer. The returned object also propagates error observations
+ arising from the source and completes when the source completes.
+ The function applied to observations from the source.
+ The input Observable.
+ An Observable of the type specified by mapping.
+
+
+ Returns an observable for the merged observations from the sources.
+ The returned object propagates success and error values arising
+ from either source and completes when both the sources have completed.
+
+ For each observer, the registered intermediate observing object is not
+ thread safe. That is, observations arising from the sources must not
+ be triggered concurrently on different threads.
+ The first Observable.
+ The second Observable.
+ An Observable that propagates information from both sources.
+
+
+ Basic operations on first class event and other observable objects.
+
+
+ Returns an asynchronous computation that, when run, will wait for the download of the given URI.
+ The URI to retrieve.
+ An asynchronous computation that will wait for the download of the URI.
+
+
+ Returns an asynchronous computation that, when run, will wait for a response to the given WebRequest.
+ An asynchronous computation that waits for response to the WebRequest.
+
+
+ A module of extension members providing asynchronous operations for some basic Web operations.
+
+
+ Creates an instance of the attribute
+ AbstractClassAttribute
+
+
+ Adding this attribute to class definition makes it abstract, which means it need not
+ implement all its methods. Instances of abstract classes may not be constructed directly.
+
+
+ Creates an instance of the attribute
+ AllowNullLiteralAttribute
+
+
+ Adding this attribute to a type lets the 'null' literal be used for the type
+ within F# code. This attribute may only be added to F#-defined class or
+ interface types.
+
+
+ Indicates the namespace or module to be automatically opened when an assembly is referenced
+ or an enclosing module opened.
+
+
+ Creates an attribute used to mark a namespace or module path to be 'automatically opened' when an assembly is referenced
+ The namespace or module to be automatically opened when an assembly is referenced
+ or an enclosing module opened.
+ AutoOpenAttribute
+
+
+ Creates an attribute used to mark a module as 'automatically opened' when the enclosing namespace is opened
+ AutoOpenAttribute
+
+
+ This attribute is used for two purposes. When applied to an assembly, it must be given a string
+ argument, and this argument must indicate a valid module or namespace in that assembly. Source
+ code files compiled with a reference to this assembly are processed in an environment
+ where the given path is automatically oepned.
+
+ When applied to a module within an assembly, then the attribute must not be given any arguments.
+ When the enclosing namespace is opened in user source code, the module is also implicitly opened.
+
+
+ The value of the attribute, indicating whether the type is automatically marked serializable or not
+
+
+ Creates an instance of the attribute
+ Indicates whether the type should be serializable by default.
+ AutoSerializableAttribute
+
+
+ Adding this attribute to a type with value 'false' disables the behaviour where F# makes the
+ type Serializable by default.
+
+
+ Creates an instance of the attribute
+ CLIEventAttribute
+
+
+ Adding this attribute to a property with event type causes it to be compiled with as a CLI
+ metadata event, through a syntactic translation to a pair of 'add_EventName' and
+ 'remove_EventName' methods.
+
+
+ Creates an instance of the attribute
+ CLIMutableAttribute
+
+
+ Adding this attribute to a record type causes it to be compiled to a CLI representation
+ with a default constructor with property getters and setters.
+
+
+ Choice 2 of 2 choices
+
+
+ Choice 1 of 2 choices
+
+
+ Helper types for active patterns with 2 choices.
+
+
+ Choice 3 of 3 choices
+
+
+ Choice 2 of 3 choices
+
+
+ Choice 1 of 3 choices
+
+
+ Helper types for active patterns with 3 choices.
+
+
+ Choice 4 of 4 choices
+
+
+ Choice 3 of 4 choices
+
+
+ Choice 2 of 4 choices
+
+
+ Choice 1 of 4 choices
+
+
+ Helper types for active patterns with 4 choices.
+
+
+ Choice 5 of 5 choices
+
+
+ Choice 4 of 5 choices
+
+
+ Choice 3 of 5 choices
+
+
+ Choice 2 of 5 choices
+
+
+ Choice 1 of 5 choices
+
+
+ Helper types for active patterns with 5 choices.
+
+
+ Choice 6 of 6 choices
+
+
+ Choice 5 of 6 choices
+
+
+ Choice 4 of 6 choices
+
+
+ Choice 3 of 6 choices
+
+
+ Choice 2 of 6 choices
+
+
+ Choice 1 of 6 choices
+
+
+ Helper types for active patterns with 6 choices.
+
+
+ Choice 7 of 7 choices
+
+
+ Choice 6 of 7 choices
+
+
+ Choice 5 of 7 choices
+
+
+ Choice 4 of 7 choices
+
+
+ Choice 3 of 7 choices
+
+
+ Choice 2 of 7 choices
+
+
+ Choice 1 of 7 choices
+
+
+ Helper types for active patterns with 7 choices.
+
+
+ Creates an instance of the attribute
+ ClassAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI class.
+
+
+ Creates an instance of the attribute
+ ComparisonConditionalOnAttribute
+
+
+ This attribute is used to indicate a generic container type satisfies the F# 'comparison'
+ constraint only if a generic argument also satisfies this constraint. For example, adding
+ this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports
+ comparison if the type X also supports comparison and all other conditions for C<X> to support
+ comparison are also met. The type C<'T> can still be used with other type arguments, but a type such
+ as C<(int -> int)> will not support comparison because the type (int -> int) is an F# function type
+ and does not support comparison.
+
+ This attribute will be ignored if it is used on the generic parameters of functions or methods.
+
+
+ Indicates the number of arguments in each argument group
+
+
+ Creates an instance of the attribute
+ Indicates the number of arguments in each argument group.
+ CompilationArgumentCountsAttribute
+
+
+ This attribute is generated automatically by the F# compiler to tag functions and members
+ that accept a partial application of some of their arguments and return a residual function
+
+
+ Indicates the variant number of the entity, if any, in a linear sequence of elements with F# source code
+
+
+ Indicates the relationship between the compiled entity and F# source code
+
+
+ Indicates the sequence number of the entity, if any, in a linear sequence of elements with F# source code
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ This attribute is inserted automatically by the F# compiler to tag types
+ and methods in the generated CLI code with flags indicating the correspondence
+ with original source constructs. It is used by the functions in the
+ Microsoft.FSharp.Reflection namespace to reverse-map compiled constructs to
+ their original forms. It is not intended for use from user code.
+
+
+ Indicates one or more adjustments to the compiled representation of an F# type or member
+
+
+ Creates an instance of the attribute
+ Indicates adjustments to the compiled representation of the type or member.
+ CompilationRepresentationAttribute
+
+
+ This attribute is used to adjust the runtime representation for a type.
+ For example, it may be used to note that the null representation
+ may be used for a type. This affects how some constructs are compiled.
+
+
+ Compile a property as a CLI event.
+
+
+ Permit the use of null as a representation for nullary discriminators in a discriminated union.
+
+
+ append 'Module' to the end of a module whose name clashes with a type name in the same namespace.
+
+
+ Compile a member as 'instance' even if null is used as a representation for this type.
+
+
+ Compile an instance member as 'static' .
+
+
+ No special compilation representation.
+
+
+
+
+
+ Indicates one or more adjustments to the compiled representation of an F# type or member.
+
+
+ Indicates the name of the entity in F# source code
+
+
+ Creates an instance of the attribute
+ The name of the method in source.
+ CompilationSourceNameAttribute
+
+
+ This attribute is inserted automatically by the F# compiler to tag
+ methods which are given the 'CompiledName' attribute. It is not intended
+ for use from user code.
+
+
+ The name of the value as it appears in compiled code
+
+
+ Creates an instance of the attribute
+ The name to use in compiled code.
+ CompiledNameAttribute
+
+
+ Adding this attribute to a value or function definition in an F# module changes the name used
+ for the value in compiled CLI code.
+
+
+ Indicates if the construct should always be hidden in an editing environment.
+
+
+ Indicates if the message should indicate a compiler error. Error numbers less than
+ 10000 are considered reserved for use by the F# compiler and libraries.
+
+
+ Indicates the number associated with the message.
+
+
+ Indicates the warning message to be emitted when F# source code uses this construct
+
+
+ Indicates if the construct should always be hidden in an editing environment.
+
+
+ Indicates if the message should indicate a compiler error. Error numbers less than
+ 10000 are considered reserved for use by the F# compiler and libraries.
+
+
+ Creates an instance of the attribute.
+
+
+ Indicates that a message should be emitted when F# source code uses this construct.
+
+
+ Creates an instance of the attribute
+ CustomComparisonAttribute
+
+
+ Adding this attribute to a type indicates it is a type with a user-defined implementation of comparison.
+
+
+ Creates an instance of the attribute
+ CustomEqualityAttribute
+
+
+ Adding this attribute to a type indicates it is a type with a user-defined implementation of equality.
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression
+
+
+ Indicates the name used for the 'on' part of the custom query operator for join-like operators
+
+
+ Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs
+
+
+ Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint
+
+
+ Indicates if the custom operation is an operation similar to a group join in a sequence computation, supporting two inputs and a correlation constraint, and generating a group
+
+
+ Indicates if the custom operation supports the use of 'into' immediately after the use of the operation in a query or other computation expression to consume the results of the operation
+
+
+ Get the name of the custom operation when used in a query or other computation expression
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression
+
+
+ Indicates the name used for the 'on' part of the custom query operator for join-like operators
+
+
+ Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs
+
+
+ Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint
+
+
+ Indicates if the custom operation is an operation similar to a group join in a sequence computation, supporting two inputs and a correlation constraint, and generating a group
+
+
+ Indicates if the custom operation supports the use of 'into' immediately after the use of the operation in a query or other computation expression to consume the results of the operation
+
+
+ Creates an instance of the attribute
+ CustomOperationAttribute
+
+
+
+ Indicates that a member on a computation builder type is a custom query operator,
+ and indicates the name of that operator.
+
+
+
+ The value of the attribute, indicating whether the type has a default augmentation or not
+
+
+ Creates an instance of the attribute
+ Indicates whether to generate helper members on the CLI class representing a discriminated
+ union.
+ DefaultAugmentationAttribute
+
+
+ Adding this attribute to a discriminated union with value false
+ turns off the generation of standard helper member tester, constructor
+ and accessor members for the generated CLI class for that type.
+
+
+ Indicates if a constraint is asserted that the field type supports 'null'
+
+
+ Creates an instance of the attribute
+ Indicates whether to assert that the field type supports null.
+ DefaultValueAttribute
+
+
+ Creates an instance of the attribute
+ DefaultValueAttribute
+
+
+ Adding this attribute to a field declaration means that the field is
+ not initialized. During type checking a constraint is asserted that the field type supports 'null'.
+ If the 'check' value is false then the constraint is not asserted.
+
+
+ Creates an instance of the attribute
+ EntryPointAttribute
+
+
+ Adding this attribute to a function indicates it is the entrypoint for an application.
+ If this attribute is not specified for an EXE then the initialization implicit in the
+ module bindings in the last file in the compilation sequence are used as the entrypoint.
+
+
+ Creates an instance of the attribute
+ EqualityConditionalOnAttribute
+
+
+ This attribute is used to indicate a generic container type satisfies the F# 'equality'
+ constraint only if a generic argument also satisfies this constraint. For example, adding
+ this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports
+ equality if the type X also supports equality and all other conditions for C<X> to support
+ equality are also met. The type C<'T> can still be used with other type arguments, but a type such
+ as C<(int -> int)> will not support equality because the type (int -> int) is an F# function type
+ and does not support equality.
+
+ This attribute will be ignored if it is used on the generic parameters of functions or methods.
+
+
+ Indicates the warning message to be emitted when F# source code uses this construct
+
+
+ Creates an instance of the attribute
+ The warning message to be emitted when code uses this construct.
+ ExperimentalAttribute
+
+
+ This attribute is used to tag values that are part of an experimental library
+ feature.
+
+
+ Convert an value of type System.Converter to a F# first class function value
+ The input System.Converter.
+ An F# function of the same type.
+
+
+ Convert an F# first class function value to a value of type System.Converter
+ The input function.
+ A System.Converter of the function type.
+
+
+ Convert an F# first class function value to a value of type System.Converter
+ The input function.
+ System.Converter<'T,'U>
+
+
+ Invoke an F# first class function value with two curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The function result.
+
+
+ Invoke an F# first class function value with three curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The function result.
+
+
+ Invoke an F# first class function value with four curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The function result.
+
+
+ Invoke an F# first class function value with five curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The fifth arg.
+ The function result.
+
+
+ Invoke an F# first class function value with one argument
+
+ 'U
+
+
+ Convert an value of type System.Converter to a F# first class function value
+ The input System.Converter.
+ An F# function of the same type.
+
+
+ Construct an instance of an F# first class function value
+ The created F# function.
+
+
+ The CLI type used to represent F# function values. This type is not
+ typically used directly, though may be used from other CLI languages.
+
+
+ The release number of the F# version associated with the attribute
+
+
+ The minor version number of the F# version associated with the attribute
+
+
+ The major version number of the F# version associated with the attribute
+
+
+ Creates an instance of the attribute
+ The major version number.
+ The minor version number.
+ The release number.
+ FSharpInterfaceDataVersionAttribute
+
+
+ This attribute is added to generated assemblies to indicate the
+ version of the data schema used to encode additional F#
+ specific information in the resource attached to compiled F# libraries.
+
+
+ Specialize the type function at a given type
+ The specialized type.
+
+
+ Construct an instance of an F# first class type function value
+ FSharpTypeFunc
+
+
+ The CLI type used to represent F# first-class type function values. This type is for use
+ by compiled F# code.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+ Tuple of values generated by scan or match.
+
+
+ Convert the given Converter delegate object to an F# function value
+ The input Converter.
+ The F# function.
+
+
+ Convert the given Action delegate object to an F# function value
+ The input action.
+ The F# function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ Helper functions for converting F# first class function values to and from CLI representaions
+ of functions using delegates.
+
+
+ Creates an instance of the attribute
+ GeneralizableValueAttribute
+
+
+ Adding this attribute to a non-function value with generic parameters indicates that
+ uses of the construct can give rise to generic code through type inference.
+
+
+ Creates an instance of the attribute
+ InterfaceAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI interface.
+
+
+ Creates an instance of the attribute
+ LiteralAttribute
+
+
+ Adding this attribute to a value causes it to be compiled as a CLI constant literal.
+
+
+ Creates an instance of the attribute
+ MeasureAnnotatedAbbreviationAttribute
+
+
+ Adding this attribute to a type causes it to be interpreted as a refined type, currently limited to measure-parameterized types.
+ This may only be used under very limited conditions.
+
+
+ Creates an instance of the attribute
+ MeasureAttribute
+
+
+ Adding this attribute to a type causes it to be interpreted as a unit of measure.
+ This may only be used under very limited conditions.
+
+
+ Creates an instance of the attribute
+ NoComparisonAttribute
+
+
+ Adding this attribute to a type indicates it is a type where comparison is an abnormal operation.
+ This means that the type does not satisfy the F# 'comparison' constraint. Within the bounds of the
+ F# type system, this helps ensure that the F# generic comparison function is not instantiated directly
+ at this type. The attribute and checking does not constrain the use of comparison with base or child
+ types of this type.
+
+
+ Creates an instance of the attribute
+ NoDynamicInvocationAttribute
+
+
+ This attribute is used to tag values that may not be dynamically invoked at runtime. This is
+ typically added to inlined functions whose implementations include unverifiable code. It
+ causes the method body emitted for the inlined function to raise an exception if
+ dynamically invoked, rather than including the unverifiable code in the generated
+ assembly.
+
+
+ Creates an instance of the attribute
+ NoEqualityAttribute
+
+
+ Adding this attribute to a type indicates it is a type where equality is an abnormal operation.
+ This means that the type does not satisfy the F# 'equality' constraint. Within the bounds of the
+ F# type system, this helps ensure that the F# generic equality function is not instantiated directly
+ at this type. The attribute and checking does not constrain the use of comparison with base or child
+ types of this type.
+
+
+ The representation of "Value of type 'T"
+ The input value.
+ An option representing the value.
+
+
+ The representation of "No value"
+
+
+ Get the value of a 'Some' option. A NullReferenceException is raised if the option is 'None'.
+
+
+ Create an option value that is a 'None' value.
+
+
+ Return 'true' if the option is a 'Some' value.
+
+
+ Return 'true' if the option is a 'None' value.
+
+
+ Create an option value that is a 'Some' value.
+ The input value
+ An option representing the value.
+
+
+ The type of optional values. When used from other CLI languages the
+ empty option is the null value.
+
+ Use the constructors Some and None to create values of this type.
+ Use the values in the Option module to manipulate values of this type,
+ or pattern match against the values directly.
+
+ None values will appear as the value null to other CLI languages.
+ Instance methods on this type will appear as static methods to other CLI languages
+ due to the use of null as a value representation.
+
+
+ Creates an instance of the attribute
+ OptionalArgumentAttribute
+
+
+ This attribute is added automatically for all optional arguments.
+
+
+ The raw text of the format string.
+
+
+ Construct a format string
+ The input string.
+ The PrintfFormat containing the formatted result.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+
+
+ Construct a format string
+ The input string.
+ The created format string.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+ Tuple of values generated by scan or match.
+
+
+ Creates an instance of the attribute
+ ProjectionParameterAttribute
+
+
+ Indicates that, when a custom operator is used in a computation expression,
+ a parameter is automatically parameterized by the variable space of the computation expression
+
+
+
+ The current value of the reference cell
+
+
+
+ The current value of the reference cell
+
+
+ The current value of the reference cell
+
+
+ The type of mutable references. Use the functions [:=] and [!] to get and
+ set values of this type.
+
+
+ Creates an instance of the attribute
+ ReferenceEqualityAttribute
+
+
+ Adding this attribute to a record or union type disables the automatic generation
+ of overrides for 'System.Object.Equals(obj)', 'System.Object.GetHashCode()'
+ and 'System.IComparable' for the type. The type will by default use reference equality.
+
+
+ Creates an instance of the attribute
+ ReflectedDefinitionAttribute
+
+
+ Adding this attribute to the let-binding for the definition of a top-level
+ value makes the quotation expression that implements the value available
+ for use at runtime.
+
+
+ Creates an instance of the attribute
+ RequireQualifiedAccessAttribute
+
+
+ This attribute is used to indicate that references to the elements of a module, record or union
+ type require explicit qualified access.
+
+
+ Creates an instance of the attribute
+ RequiresExplicitTypeArgumentsAttribute
+
+
+ Adding this attribute to a type, value or member requires that
+ uses of the construct must explicitly instantiate any generic type parameters.
+
+
+ The value of the attribute, indicating whether the type is sealed or not.
+
+
+ Creates an instance of the attribute
+ Indicates whether the class is sealed.
+ SealedAttribute
+
+
+ Creates an instance of the attribute.
+ The created attribute.
+
+
+ Adding this attribute to class definition makes it sealed, which means it may not
+ be extended or implemented.
+
+
+ Indicates that the compiled entity had private or internal representation in F# source code.
+
+
+ The mask of values related to the kind of the compiled entity.
+
+
+ Indicates that the compiled entity is part of the representation of an F# value declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# union case declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# module declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# closure.
+
+
+ Indicates that the compiled entity is part of the representation of an F# exception declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# record or union case field declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# class or other object type declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# record type declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# union type declaration.
+
+
+ Indicates that the compiled entity has no relationship to an element in F# source code.
+
+
+
+
+
+ Indicates the relationship between a compiled entity in a CLI binary and an element in F# source code.
+
+
+ Creates an instance of the attribute
+ StructAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI struct.
+
+
+ Creates an instance of the attribute
+ StructuralComparisonAttribute
+
+
+ Adding this attribute to a record, union, exception, or struct type confirms the
+ automatic generation of implementations for 'System.IComparable' for the type.
+
+
+ Creates an instance of the attribute
+ StructuralEqualityAttribute
+
+
+ Adding this attribute to a record, union or struct type confirms the automatic
+ generation of overrides for 'System.Object.Equals(obj)' and
+ 'System.Object.GetHashCode()' for the type.
+
+
+ Indicates the text to display by default when objects of this type are displayed
+ using '%A' printf formatting patterns and other two-dimensional text-based display
+ layouts.
+
+
+ Creates an instance of the attribute
+ Indicates the text to display when using the '%A' printf formatting.
+ StructuredFormatDisplayAttribute
+
+
+ This attribute is used to mark how a type is displayed by default when using
+ '%A' printf formatting patterns and other two-dimensional text-based display layouts.
+ In this version of F# the only valid values are of the form PreText {PropertyName} PostText.
+ The property name indicates a property to evaluate and to display instead of the object itself.
+
+
+ The type 'unit', which has only one value "()". This value is special and
+ always uses the representation 'null'.
+
+
+ Creates an instance of the attribute
+ UnverifiableAttribute
+
+
+ This attribute is used to tag values whose use will result in the generation
+ of unverifiable code. These values are inevitably marked 'inline' to ensure that
+ the unverifiable constructs are not present in the actual code for the F# library,
+ but are rather copied to the source code of the caller.
+
+
+ Creates an instance of the attribute
+ VolatileFieldAttribute
+
+
+ Adding this attribute to an F# mutable binding causes the "volatile"
+ prefix to be used for all accesses to the field.
+
+
+ Four dimensional arrays, typically zero-based. Non-zero-based arrays
+ can be created using methods on the System.Array type.
+
+ Use the values in the Array4D module
+ to manipulate values of this type, or the notation arr.[x1,x2,x3,x4] to get and set array
+ values.
+
+
+ Three dimensional arrays, typically zero-based. Non-zero-based arrays
+ can be created using methods on the System.Array type.
+
+ Use the values in the Array3D module
+ to manipulate values of this type, or the notation arr.[x1,x2,x3] to get and set array
+ values.
+
+
+ Two dimensional arrays, typically zero-based.
+
+ Use the values in the Array2D module
+ to manipulate values of this type, or the notation arr.[x,y] to get/set array
+ values.
+
+ Non-zero-based arrays can also be created using methods on the System.Array type.
+
+
+ Single dimensional, zero-based arrays, written int[], string[] etc.
+ Use the values in the Array module to manipulate values
+ of this type, or the notation arr.[x] to get/set array
+ values.
+
+
+ Single dimensional, zero-based arrays, written int[], string[] etc.
+
+ Use the values in the Array module to manipulate values
+ of this type, or the notation arr.[x] to get/set array
+ values.
+
+
+
+
+
+ An abbreviation for the CLI type System.Boolean.
+
+
+ Represents a managed pointer in F# code.
+
+
+ An abbreviation for the CLI type System.Byte.
+
+
+ An abbreviation for the CLI type System.Char.
+
+
+ An abbreviation for the CLI type System.Decimal.
+
+
+ The type of decimal numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Decimal.
+
+
+ An abbreviation for the CLI type System.Double.
+
+
+ An abbreviation for the CLI type System.Exception.
+
+
+ An abbreviation for the CLI type System.Double.
+
+
+ An abbreviation for the CLI type System.Single.
+
+
+ The type of floating point numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Single.
+
+
+ The type of floating point numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Double.
+
+
+ This type is for internal use by the F# code generator.
+
+
+ An abbreviation for the CLI type System.Int32.
+
+
+ An abbreviation for the CLI type System.Int16.
+
+
+ The type of 16-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int16.
+
+
+ An abbreviation for the CLI type System.Int32.
+
+
+ An abbreviation for the CLI type System.Int64.
+
+
+ The type of 64-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int64.
+
+
+ An abbreviation for the CLI type System.SByte.
+
+
+ The type of 32-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int32.
+
+
+ An abbreviation for the CLI type System.IntPtr.
+
+
+ Represents an unmanaged pointer in F# code.
+
+ This type should only be used when writing F# code that interoperates
+ with native code. Use of this type in F# code may result in
+ unverifiable code being generated. Conversions to and from the
+ nativeint type may be required. Values of this type can be generated
+ by the functions in the NativeInterop.NativePtr module.
+
+
+ An abbreviation for the CLI type System.Object.
+
+
+ The type of optional values. When used from other CLI languages the
+ empty option is the null value.
+
+ Use the constructors Some and None to create values of this type.
+ Use the values in the Option module to manipulate values of this type,
+ or pattern match against the values directly.
+
+ 'None' values will appear as the value null to other CLI languages.
+ Instance methods on this type will appear as static methods to other CLI languages
+ due to the use of null as a value representation.
+
+
+ The type of mutable references. Use the functions [:=] and [!] to get and
+ set values of this type.
+
+
+ An abbreviation for the CLI type System.SByte.
+
+
+ The type of 8-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.SByte.
+
+
+ An abbreviation for the CLI type System.Single.
+
+
+ An abbreviation for the CLI type System.String.
+
+
+ An abbreviation for the CLI type System.UInt16.
+
+
+ An abbreviation for the CLI type System.UInt32.
+
+
+ An abbreviation for the CLI type System.UInt64.
+
+
+ An abbreviation for the CLI type System.Byte.
+
+
+ An abbreviation for the CLI type System.UIntPtr.
+
+
+ The type 'unit', which has only one value "()". This value is special and
+ always uses the representation 'null'.
+
+
+
+
+
+
+
+
+
+
+
+ Non-exhaustive match failures will raise the MatchFailureException exception
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A new enumerator for the sequence.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A reference to the sequence.
+
+ A 0, 1, and 2 respectively indicate Stop, Yield, and Goto conditions for the sequence generator.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A new sequence generator for the expression.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+
+ Namespace name the provider injects types into.
+
+
+
+
+ Compilers call this method to query a type provider for a type name.
+
+ Resolver should return a type called name in namespace NamespaceName or null if the type is unknown.
+
+
+
+
+
+ The top-level types
+
+
+
+
+
+ The sub-namespaces in this namespace. An optional member to prevent generation of namespaces until an outer namespace is explored.
+
+
+
+
+
+
+
+ Triggered when an assumption changes that invalidates the resolutions so far reported by the provider
+
+
+
+
+ Triggered when an assumption changes that invalidates the resolutions so far reported by the provider
+
+
+
+
+ Triggered when an assumption changes that invalidates the resolutions so far reported by the provider
+
+
+
+
+ Get the static parameters for a provided type.
+
+ A type returned by GetTypes or ResolveTypeName
+
+
+
+
+ Namespace name the this TypeProvider injects types into.
+
+
+
+
+ Called by the compiler to ask for an Expression tree to replace the given MethodBase with.
+
+ MethodBase that was given to the compiler by a type returned by a GetType(s) call.
+ Expressions that represent the parameters to this call.
+ An expression that the compiler will use in place of the given method base.
+
+
+
+ Get the physical contents of the given logical provided assembly.
+
+
+
+
+ Apply static arguments to a provided type that accepts static arguments.
+
+ The provider must return a type with the given mangled name.
+ the provided type definition which has static parameters
+ the full path of the type, including encoded representations of static parameters
+ the static parameters, indexed by name
+
+
+
+
+
+
+ Represents the inverse of a measure expressions when returned as a generic argument of a provided type.
+
+
+ Represents the '1' measure expression when returned as a generic argument of a provided type.
+
+
+ Represents the product of two measure expressions when returned as a generic argument of a provided type.
+
+
+
+
+
+ Creates an instance of the attribute
+ TypeProviderAssemblyAttribute
+ The name of the design-time assembly for this type provider.
+
+
+ Creates an instance of the attribute
+ TypeProviderAssemblyAttribute
+
+
+ Place attribute on runtime assembly to indicate that there is a corresponding design-time
+ assembly that contains a type provider. Runtime and designer assembly may be the same.
+
+
+ Creates an instance of the attribute
+ TypeProviderAttribute
+
+
+ Place on a class that implements ITypeProvider to extend the compiler
+
+
+
+ Get the full path to use for temporary files for the type provider instance.
+
+
+
+
+ version of referenced system runtime assembly
+
+
+
+
+ Get the full path to referenced assembly that caused this type provider instance to be created.
+
+
+
+
+ Get the full path to use to resolve relative paths in any file name arguments given to the type provider instance.
+
+
+
+
+ Get the referenced assemblies for the type provider instance.
+
+
+
+
+ Indicates if the type provider host responds to invalidation events for type provider instances.
+
+
+
+
+ Indicates if the type provider instance is used in an environment which executes provided code such as F# Interactive.
+
+
+
+
+ Get the full path to use for temporary files for the type provider instance.
+
+
+
+
+ version of referenced system runtime assembly
+
+
+
+
+ Get the full path to referenced assembly that caused this type provider instance to be created.
+
+
+
+
+ Get the full path to use to resolve relative paths in any file name arguments given to the type provider instance.
+
+
+
+
+ Get the referenced assemblies for the type provider instance.
+
+
+
+
+ Indicates if the type provider host responds to invalidation events for type provider instances.
+
+
+
+
+ Indicates if the type provider instance is used in an environment which executes provided code such as F# Interactive.
+
+
+
+
+ Checks if given type exists in target system runtime library
+
+
+
+
+
+
+
+ If the class that implements ITypeProvider has a constructor that accepts TypeProviderConfig
+ then it will be constructed with an instance of TypeProviderConfig.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates an instance of the attribute
+ TypeProviderEditorHideMethodsAttribute
+
+
+ Indicates that a code editor should hide all System.Object methods from the intellisense menus for instances of a provided type
+
+
+
+
+
+
+
+
+
+
+
+ Additional type attribute flags related to provided types
+
+
+
+
+
+ Creates an instance of the attribute
+ TypeProviderXmlDocAttribute
+
+
+
+ The TypeProviderXmlDocAttribute attribute can be added to types and members.
+ The language service will display the CommentText property from the attribute
+ in the appropriate place when the user hovers over a type or member.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates an anonymous event with the given handlers.
+
+ A function to handle adding a delegate for the event to trigger.
+ A function to handle removing a delegate that the event triggers.
+ A function to produce the delegate type the event can trigger.
+
+ The initialized event.
+
+
+ The F# compiler emits calls to this function to implement the use operator for F# sequence
+ expressions.
+
+ The resource to be used and disposed.
+ The input sequence.
+
+ The result sequence.
+
+
+ The F# compiler emits calls to this function to implement the compiler-intrinsic
+ conversions from untyped System.Collections.IEnumerable sequences to typed sequences.
+
+ An initializer function.
+ A function to iterate and test if end of sequence is reached.
+ A function to retrieve the current element.
+
+ The resulting typed sequence.
+
+
+ The F# compiler emits calls to this function to
+ implement the try/finally operator for F# sequence expressions.
+
+ The input sequence.
+ A computation to be included in an enumerator's Dispose method.
+
+ The result sequence.
+
+
+ The F# compiler emits calls to this function to
+ implement the while operator for F# sequence expressions.
+
+ A function that indicates whether iteration should continue.
+ The input sequence.
+
+ The result sequence.
+
+
+ A group of functions used as part of the compiled representation of F# sequence expressions.
+
+
+ Builds a query using query syntax and operators.
+
+
+ An active pattern to force the execution of values of type Lazy<_>.
+
+
+ Special prefix operator for splicing untyped expressions into quotation holes.
+
+
+ Special prefix operator for splicing typed expressions into quotation holes.
+
+
+ Builds a 2D array from a sequence of sequences of elements.
+
+
+ Builds a read-only lookup table from a sequence of key/value pairs. The key objects are indexed using generic hashing and equality.
+
+
+ Converts the argument to signed byte.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using SByte.Parse() with InvariantCulture settings.
+ Otherwise the operation requires and invokes a ToSByte method on the input type.
+
+
+ Converts the argument to byte.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Byte.Parse() on strings and otherwise requires a ToByte method on the input type.
+
+
+ Converts the argument to 64-bit float.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Double.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToDouble method on the input type.
+
+
+ Converts the argument to 32-bit float.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Single.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToSingle method on the input type.
+
+
+ Builds an aysnchronous workflow using computation expression syntax.
+
+
+ Builds a set from a sequence of objects. The objects are indexed using generic comparison.
+ The input sequence of elements.
+ The created set.
+
+
+ Print to a file using the given format, and add a newline.
+ The file TextWriter.
+ The formatter.
+ The formatted result.
+
+
+ Print to a file using the given format.
+ The file TextWriter.
+ The formatter.
+ The formatted result.
+
+
+ Print to a string buffer and raise an exception with the given
+ result. Helper printers must return strings.
+ The formatter.
+ The formatted result.
+
+
+ Print to a string using the given format.
+ The formatter.
+ The formatted result.
+
+
+ Print to stderr using the given format, and add a newline.
+ The formatter.
+ The formatted result.
+
+
+ Print to stderr using the given format.
+ The formatter.
+ The formatted result.
+
+
+ Print to stdout using the given format, and add a newline.
+ The formatter.
+ The formatted result.
+
+
+ Print to stdout using the given format.
+ The formatter.
+ The formatted result.
+
+
+
+
+
+ Divides a value by an integer.
+ The input value.
+ The input int.
+ The division result.
+
+
+
+
+
+ Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One'
+
+
+ Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'
+
+
+ A compiler intrinsic that implements dynamic invocations for the DivideByInt primitive.
+
+
+ A compiler intrinsic that implements dynamic invocations to the checked '*' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the '*' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the checked '+' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the '+' operator.
+
+
+ Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One'.
+
+
+ Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'.
+
+
+ Parse an uint64 according to the rules used by the overloaded 'uint64' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an int64 according to the rules used by the overloaded 'int64' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an uint32 according to the rules used by the overloaded 'uint32' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an int32 according to the rules used by the overloaded 'int32' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Creates an sbyte value with units-of-measure
+ The input sbyte.
+ The sbyte with units-of-measure.
+
+
+ Creates an int16 value with units-of-measure
+ The input int16.
+ The int16 with units-of-measure.
+
+
+ Creates an int64 value with units-of-measure
+ The input int64.
+ The int64 with units of measure.
+
+
+ Creates an int32 value with units-of-measure
+ The input int.
+ The int with units of measure.
+
+
+ Creates a decimal value with units-of-measure
+ The input decimal.
+ The decimal with units of measure.
+
+
+ Creates a float32 value with units-of-measure
+ The input float.
+ The float with units-of-measure.
+
+
+ Creates a float value with units-of-measure
+ The input float.
+ The float with units-of-measure.
+
+
+ Get the underlying value for an enum value
+ The input enum.
+ The enumeration as a value.
+
+
+ Build an enum value from an underlying value
+ The input value.
+ The value as an enumeration.
+
+
+ Recursively hash a part of a value according to its structure.
+ The comparison function.
+ The input object.
+ The hashed value.
+
+
+ Hash a value according to its structure. Use the given limit to restrict the hash when hashing F#
+ records, lists and union types.
+ The limit on the number of nodes.
+ The input object.
+ The hashed value.
+
+
+ Hash a value according to its structure. This hash is not limited by an overall node count when hashing F#
+ records, lists and union types.
+ The input object.
+ The hashed value.
+
+
+ Make an F# hash/equality object for the given type using node-limited hashing when hashing F#
+ records, lists and union types.
+ The input limit on the number of nodes.
+ System.Collections.Generic.IEqualityComparer<'T>
+
+
+ Make an F# hash/equality object for the given type
+
+
+ Make an F# comparer object for the given type, where it can be null if System.Collections.Generic.Comparer<'T>.Default
+
+
+ Make an F# comparer object for the given type
+
+
+ A static F# comparer object
+
+
+ Return an F# comparer object suitable for hashing and equality. This hashing behaviour
+ of the returned comparer is not limited by an overall node count when hashing F#
+ records, lists and union types. This equality comparer has equivalence
+ relation semantics ([nan] = [nan]).
+
+
+ Return an F# comparer object suitable for hashing and equality. This hashing behaviour
+ of the returned comparer is not limited by an overall node count when hashing F#
+ records, lists and union types.
+
+
+ The physical hash. Hashes on the object identity, except for value types,
+ where we hash on the contents.
+ The input object.
+ The hashed value.
+
+
+ Reference/physical equality.
+ True if the inputs are reference-equal, false otherwise.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Take the maximum of two values structurally according to the order given by GenericComparison
+ The first value.
+ The second value.
+ The maximum value.
+
+
+ Take the minimum of two values structurally according to the order given by GenericComparison
+ The first value.
+ The second value.
+ The minimum value.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values. May be called as a recursive case from an implementation of System.IComparable to
+ ensure consistent NaN comparison semantics.
+ The function to compare the values.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality
+
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality using equivalence relation semantics ([nan] = [nan])
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality using partial equivalence relation semantics ([nan] <> [nan])
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+
+ The standard overloaded associative (4-indexed) mutation operator
+
+
+
+ The standard overloaded associative (3-indexed) mutation operator
+
+
+ The standard overloaded associative (2-indexed) mutation operator
+
+
+ The standard overloaded associative (indexed) mutation operator
+
+
+ The standard overloaded associative (4-indexed) lookup operator
+
+
+ The standard overloaded associative (3-indexed) lookup operator
+
+
+ The standard overloaded associative (2-indexed) lookup operator
+
+
+ The standard overloaded associative (indexed) lookup operator
+
+
+ A compiler intrinsic for checking initialization soundness of recursive bindings
+
+
+ A compiler intrinsic for checking initialization soundness of recursive static bindings
+
+
+ A compiler intrinsic for checking initialization soundness of recursive bindings
+
+
+ A compiler intrinsic for the efficient compilation of sequence expressions
+
+
+ This function implements parsing of decimal constants
+
+
+ This function implements calls to default constructors
+ acccessed by 'new' constraints.
+
+
+ Primitive used by pattern match compilation
+
+
+ A compiler intrinsic that implements the ':?' operator
+
+
+ A compiler intrinsic that implements the ':?' operator
+
+
+ A compiler intrinsic that implements the ':?>' operator
+
+
+ A compiler intrinsic that implements the ':?>' operator
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+ Address-of. Uses of this value may result in the generation of unverifiable code.
+ The input object.
+ The unmanaged pointer.
+
+
+ Address-of. Uses of this value may result in the generation of unverifiable code.
+ The input object.
+ The managed pointer.
+
+
+ Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand
+ The first value.
+ The second value.
+ The result of the operation.
+
+
+ Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand.
+
+
+ Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand
+ The first value.
+ The second value.
+ The result of the operation.
+
+
+ Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand.
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ For internal use only
+
+
+ Language primitives associated with the F# language
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+ An active pattern to match values of type System.Collections.Generic.KeyValuePair
+ The input key/value pair.
+ A tuple containing the key and value.
+
+
+ Converts the argument to character. Numeric inputs are converted according to the UTF-16
+ encoding for characters. String inputs must be exactly one character long. For other
+ input types the operation requires an appropriate static conversion method on the input type.
+ The input value.
+ The converted char.
+
+
+ Converts the argument to System.Decimal using a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted decimal.
+
+
+ Converts the argument to a string using ToString.
+
+ For standard integer and floating point values the ToString conversion
+ uses CultureInfo.InvariantCulture.
+ The input value.
+ The converted string.
+
+
+ Converts the argument to unsigned native integer using a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to signed native integer. This is a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to 64-bit float. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Double.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float
+
+
+ Converts the argument to 32-bit float. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Single.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float32
+
+
+ Converts the argument to unsigned 64-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to signed 64-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to unsigned 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to a particular enum type.
+ The input value.
+ The converted enum type.
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to unsigned 16-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to signed 16-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to signed byte. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using SByte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Byte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+ Overloaded power operator. If n > 0 then equivalent to x*...*x for n occurrences of x.
+ The input base.
+ The input exponent.
+ The base raised to the exponent.
+
+
+ Overloaded power operator.
+ The input base.
+ The input exponent.
+ The base raised to the exponent.
+
+
+ Overloaded truncate operator.
+ The input value.
+ The truncated value.
+
+
+ Hyperbolic tangent of the given number
+ The input value.
+ The hyperbolic tangent of the input.
+
+
+ Tangent of the given number
+ The input value.
+ The tangent of the input.
+
+
+ Hyperbolic sine of the given number
+ The input value.
+ The hyperbolic sine of the input.
+
+
+ Sine of the given number
+ The input value.
+ The sine of the input.
+
+
+ Hyperbolic cosine of the given number
+ The input value.
+ The hyperbolic cosine of the input.
+
+
+ Cosine of the given number
+ The input value.
+ The cosine of the input.
+
+
+ Square root of the given number
+ The input value.
+ The square root of the input.
+
+
+ Logarithm to base 10 of the given number
+ The input value.
+ The logarithm to base 10 of the input.
+
+
+ Natural logarithm of the given number
+ The input value.
+ The natural logarithm of the input.
+
+
+ Round the given number
+ The input value.
+ The nearest integer to the input value.
+
+
+ Sign of the given number
+ The input value.
+ -1, 0, or 1 depending on the sign of the input.
+
+
+ Floor of the given number
+ The input value.
+ The floor of the input.
+
+
+ Exponential of the given number
+ The input value.
+ The exponential of the input.
+
+
+ Ceiling of the given number
+ The input value.
+ The ceiling of the input.
+
+
+ Inverse tangent of x/y where x and y are specified separately
+ The y input value.
+ The x input value.
+ The inverse tangent of the input ratio.
+
+
+ Inverse tangent of the given number
+ The input value.
+ The inverse tangent of the input.
+
+
+ Inverse sine of the given number
+ The input value.
+ The inverse sine of the input.
+
+
+ Inverse cosine of the given number
+ The input value.
+ The inverse cosine of the input.
+
+
+ Absolute value of the given number.
+ The input value.
+ The absolute value of the input.
+
+
+ A generic hash function. This function has the same behaviour as 'hash',
+ however the default structural hashing for F# union, record and tuple
+ types stops when the given limit of nodes is reached. The exact behaviour of
+ the function can be adjusted on a type-by-type basis by implementing
+ GetHashCode for each type.
+ The limit of nodes.
+ The input object.
+ The computed hash.
+
+
+ A generic hash function, designed to return equal hash values for items that are
+ equal according to the "=" operator. By default it will use structural hashing
+ for F# union, record and tuple types, hashing the complete contents of the
+ type. The exact behaviour of the function can be adjusted on a
+ type-by-type basis by implementing GetHashCode for each type.
+ The input object.
+ The computed hash.
+
+
+ Returns the internal size of a type in bytes. For example, sizeof<int> returns 4.
+
+
+ Generate a System.Type representation for a type definition. If the
+ input type is a generic type instantiation then return the
+ generic type definition associated with all such instantiations.
+
+
+ An internal, library-only compiler intrinsic for compile-time
+ generation of a RuntimeMethodHandle.
+
+
+ Generate a System.Type runtime representation of a static type.
+ The static type is still maintained on the value returned.
+
+
+ Clean up resources associated with the input object after the completion of the given function.
+ Cleanup occurs even when an exception is raised by the protected
+ code.
+ The resource to be disposed after action is called.
+ The action that accepts the resource.
+ The resulting value.
+
+
+ Execute the function as a mutual-exclusion region using the input value as a lock.
+ The object to be locked.
+ The action to perform during the lock.
+ The resulting value.
+
+
+ The standard overloaded skip range operator, e.g. [n..skip..m] for lists, seq {n..skip..m} for sequences
+ The start value of the range.
+ The step value of the range.
+ The end value of the range.
+ The sequence spanning the range using the specified step size.
+
+
+ The standard overloaded range operator, e.g. [n..m] for lists, seq {n..m} for sequences
+ The start value of the range.
+ The end value of the range.
+ The sequence spanning the range.
+
+
+ Reads the value of the property System.Console.Out.
+
+
+ Reads the value of the property System.Console.Error.
+
+
+ Reads the value of the property System.Console.In.
+
+
+ Equivalent to System.Single.NaN
+
+
+ Equivalent to System.Single.PositiveInfinity
+
+
+ Equivalent to System.Double.NaN
+
+
+ Equivalent to System.Double.PositiveInfinity
+
+
+ Exit the current hardware isolated process, if security settings permit,
+ otherwise raise an exception. Calls System.Environment.Exit.
+ The exit code to use.
+ The result value.
+
+
+ Builds a sequence using sequence expression syntax
+ The input sequence.
+ The result sequence.
+
+
+ Negate a logical value. not true equals false and not false equals true
+ The value to negate.
+ The result of the negation.
+
+
+ Concatenate two lists.
+ The first list.
+ The second list.
+ The concatenation of the lists.
+
+
+ Increment a mutable reference cell containing an integer
+ The reference cell.
+
+
+ Decrement a mutable reference cell containing an integer
+ The reference cell.
+
+
+ Dereference a mutable reference cell
+ The cell to dereference.
+ The value contained in the cell.
+
+
+ Assign to a mutable reference cell
+ The cell to mutate.
+ The value to set inside the cell.
+
+
+ Create a mutable reference cell
+ The value to contain in the cell.
+ The created reference cell.
+
+
+ The identity function
+ The input value.
+ The same value.
+
+
+ Throw a System.InvalidOperationException exception
+ The exception message.
+ The result value.
+
+
+ Throw a System.ArgumentNullException exception
+ The argument name.
+ The result value.
+
+
+ Throw a System.ArgumentException exception with
+ the given argument name and message.
+ The argument name.
+ The exception message.
+ The result value.
+
+
+ Throw a System.Exception exception.
+ The exception message.
+ The result value.
+
+
+ Boxes a strongly typed value.
+ The value to box.
+ The boxed object.
+
+
+ Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a.
+ The boxed value.
+ The unboxed result.
+
+
+ Ignore the passed value. This is often used to throw away results of a computation.
+ The value to ignore.
+
+
+ Minimum based on generic comparison
+ The first value.
+ The second value.
+ The minimum value.
+
+
+ Maximum based on generic comparison
+ The first value.
+ The second value.
+ The maximum value.
+
+
+ Generic comparison.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Return the second element of a tuple, snd (a,b) = b.
+ The input tuple.
+ The second value.
+
+
+ Return the first element of a tuple, fst (a,b) = a.
+ The input tuple.
+ The first value.
+
+
+ Matches System.Exception objects whose runtime type is precisely System.Exception
+ The input exception.
+ A string option.
+
+
+ Builds a System.Exception object.
+ The message for the Exception.
+ A System.Exception.
+
+
+ Rethrows an exception. This should only be used when handling an exception
+ The result value.
+
+
+ Rethrows an exception. This should only be used when handling an exception
+ The result value.
+
+
+ Raises an exception
+ The exception to raise.
+ The result value.
+
+
+ Concatenate two strings. The operator '+' may also be used.
+
+
+ Used to specify a default value for an optional argument in the implementation of a function
+ An option representing the argument.
+ The default value of the argument.
+ The argument value. If it is None, the defaultValue is returned.
+
+
+ Apply a function to three values, the values being a triple on the right, the function on the left
+ The function.
+ The first argument.
+ The second argument.
+ The third argument.
+ The function result.
+
+
+ Apply a function to two values, the values being a pair on the right, the function on the left
+ The function.
+ The first argument.
+ The second argument.
+ The function result.
+
+
+ Apply a function to a value, the value being on the right, the function on the left
+ The function.
+ The argument.
+ The function result.
+
+
+ Apply a function to three values, the values being a triple on the left, the function on the right
+ The first argument.
+ The second argument.
+ The third argument.
+ The function.
+ The function result.
+
+
+ Apply a function to two values, the values being a pair on the left, the function on the right
+ The first argument.
+ The second argument.
+ The function.
+ The function result.
+
+
+ Apply a function to a value, the value being on the left, the function on the right
+ The argument.
+ The function.
+ The function result.
+
+
+ Compose two functions, the function on the right being applied first
+ The second function to apply.
+ The first function to apply.
+ The composition of the input functions.
+
+
+ Compose two functions, the function on the left being applied first
+ The first function to apply.
+ The second function to apply.
+ The composition of the input functions.
+
+
+ Structural inequality
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural equality
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural less-than-or-equal comparison
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural greater-than-or-equal
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural greater-than
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural less-than comparison
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Overloaded prefix=plus operator
+ The input value.
+ The result of the operation.
+
+
+ Overloaded logical-NOT operator
+ The input value.
+ The result of the operation.
+
+
+ Overloaded byte-shift right operator by a specified number of bits
+ The input value.
+ The amount to shift.
+ The result of the operation.
+
+
+ Overloaded byte-shift left operator by a specified number of bits
+ The input value.
+ The amount to shift.
+ The result of the operation.
+
+
+ Overloaded logical-XOR operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded logical-OR operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded logical-AND operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded modulo operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded division operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded multiplication operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded subtraction operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded addition operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded unary negation.
+ The value to negate.
+ The result of the operation.
+
+
+ Converts the argument to char. Numeric inputs are converted using a checked
+ conversion according to the UTF-16 encoding for characters. String inputs must
+ be exactly one character long. For other input types the operation requires an
+ appropriate static conversion method on the input type.
+ The input value.
+ The converted char
+
+
+ Converts the argument to unativeint. This is a direct, checked conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to nativeint. This is a direct, checked conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to uint64. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to int64. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to uint32. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to int32. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to int. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to uint16. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to int16. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to sbyte. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.SByte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Byte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+ Overloaded multiplication operator (checks for overflow)
+ The first value.
+ The second value.
+ The product of the two input values.
+
+
+ Overloaded addition operator (checks for overflow)
+ The first value.
+ The second value.
+ The sum of the two input values.
+
+
+ Overloaded subtraction operator (checks for overflow)
+ The first value.
+ The second value.
+ The first value minus the second value.
+
+
+ Overloaded unary negation (checks for overflow)
+ The input value.
+ The negated value.
+
+
+ This module contains the basic arithmetic operations with overflow checks.
+
+
+ Perform generic hashing on a value where the type of the value is not
+ statically required to satisfy the 'equality' constraint.
+ The computed hash value.
+
+
+ Perform generic equality on two values where the type of the values is not
+ statically required to satisfy the 'equality' constraint.
+ The result of the comparison.
+
+
+ Perform generic comparison on two values where the type of the values is not
+ statically required to have the 'comparison' constraint.
+ The result of the comparison.
+
+
+ Generate a default value for any type. This is null for reference types,
+ For structs, this is struct value where all fields have the default value.
+ This function is unsafe in the sense that some F# values do not have proper null values.
+
+
+ Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a.
+ The boxed value.
+ The unboxed result.
+
+
+ This module contains basic operations which do not apply runtime and/or static checks
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'decimal'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'unativeint'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'nativeint'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint64'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int64'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint16'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int16'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'sbyte'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'byte'
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ Generate a range of values using the given zero, add, start, step and stop values
+
+
+ Generate a range of values using the given zero, add, start, step and stop values
+
+
+ Generate a range of char values
+
+
+ Generate a range of byte values
+
+
+ Generate a range of sbyte values
+
+
+ Generate a range of uint16 values
+
+
+ Generate a range of int16 values
+
+
+ Generate a range of unativeint values
+
+
+ Generate a range of nativeint values
+
+
+ Generate a range of uint32 values
+
+
+ Generate a range of uint64 values
+
+
+ Generate a range of int64 values
+
+
+ Generate a range of float32 values
+
+
+ Generate a range of float values
+
+
+ Generate a range of integers
+
+
+ Gets a slice from a string
+ The source string.
+ The index of the first character of the slice.
+ The index of the last character of the slice.
+ The substring from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The start index of the fourth dimension.
+ The end index of the fourth dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The start index of the fourth dimension.
+ The end index of the fourth dimension.
+ The four dimensional sub array from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The three dimensional sub array from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The two dimensional sub array from the input indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index.
+ The end index.
+ The source array.
+
+
+ Gets a slice of an array
+ The input array.
+ The start index.
+ The end index.
+ The sub array from the input indices.
+
+
+ A module of compiler intrinsic functions for efficient implementations of F# integer ranges
+ and dynamic invocations of other F# operators
+
+
+ Basic F# Operators. This module is automatically opened in all F# code.
+
+
+ Invoke an F# first class function value that accepts five curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The fifth arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept five curried arguments without intervening execution.
+ The input function.
+ The optimized function.
+
+
+ Construct an optimized function value that can accept five curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept five curried arguments
+ without intervening execution. This type should not typically used directly from
+ either F# code or from other CLI languages.
+
+
+ Invoke an F# first class function value that accepts four curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept four curried arguments without intervening execution.
+ The input function.
+ The optimized function.
+
+
+ Construct an optimized function value that can accept four curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept four curried arguments
+ without intervening execution. This type should not typically used directly from
+ either F# code or from other CLI languages.
+
+
+ Invoke an F# first class function value that accepts three curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept three curried arguments without intervening execution.
+ The input function.
+ The adapted function.
+
+
+ Construct an optimized function value that can accept three curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept
+ three iterated (curried) arguments without intervening execution. This type should not
+ typically used directly from either F# code or from other CLI languages.
+
+
+ Invoke the optimized function value with two curried arguments
+ The first arg.
+ The second arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept two curried arguments without intervening execution.
+ The input function.
+ The adapted function.
+
+
+ Construct an optimized function value that can accept two curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept
+ two iterated (curried) arguments without intervening execution. This type should not
+ typically used directly from either F# code or from other CLI languages.
+
+
+ An implementation module used to hold some private implementations of function
+ value invocation.
+
+
+ Convert the option to a list of length 0 or 1.
+ The input option.
+ The result list.
+
+
+ Convert the option to an array of length 0 or 1.
+ The input option.
+ The result array.
+
+
+ bind f inp evaluates to match inp with None -> None | Some x -> f x
+ A function that takes the value of type T from an option and transforms it into
+ an option containing a value of type U.
+ The input option.
+ An option of the output type of the binder.
+
+
+ map f inp evaluates to match inp with None -> None | Some x -> Some (f x).
+ A function to apply to the option value.
+ The input option.
+ An option of the input value after applying the mapping function, or None if the input is None.
+
+
+ iter f inp executes match inp with None -> () | Some x -> f x.
+ A function to apply to the option value.
+ The input option.
+ Unit if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ forall p inp evaluates to match inp with None -> true | Some x -> p x.
+ A function that evaluates to a boolean when given a value from the option type.
+ The input option.
+ True if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ exists p inp evaluates to match inp with None -> false | Some x -> p x.
+ A function that evaluates to a boolean when given a value from the option type.
+ The input option.
+ False if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ fold f inp s evaluates to match inp with None -> s | Some x -> f x s.
+ A function to update the state data when given a value from an option.
+ The input option.
+ The initial state.
+ The original state if the option is None, otherwise it returns the updated state with the folder
+ and the option value.
+
+
+ fold f s inp evaluates to match inp with None -> s | Some x -> f s x.
+ A function to update the state data when given a value from an option.
+ The initial state.
+ The input option.
+ The original state if the option is None, otherwise it returns the updated state with the folder
+ and the option value.
+
+
+ count inp evaluates to match inp with None -> 0 | Some _ -> 1.
+ The input option.
+ A zero if the option is None, a one otherwise.
+
+
+ Gets the value associated with the option.
+ The input option.
+ The value within the option.
+ Thrown when the option is None.
+
+
+ Returns true if the option is None.
+ The input option.
+ True if the option is None.
+
+
+ Returns true if the option is not None.
+ The input option.
+ True if the option is not None.
+
+
+ Basic operations on options.
+
+
+ Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format when formatting builds a string. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Represents a statically-analyzed format when formatting builds a string. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Print to a string buffer and raise an exception with the given
+ result. Helper printers must return strings.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ sprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called to generate a result from the formatted string.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ printf, but call the given 'final' function to generate the result.
+ For example, these let the printing force a flush after all output has
+ been entered onto the channel, but not before.
+ The function called after formatting to generate the format result.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ fprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called after formatting to generate the format result.
+ The input TextWriter.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ bprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called after formatting to generate the format result.
+ The input StringBuilder.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ Print to a string via an internal string buffer and return
+ the result as a string. Helper printers must return strings.
+ The input formatter.
+ The formatted string.
+
+
+ Formatted printing to stdout, adding a newline.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Formatted printing to stdout
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Formatted printing to stderr, adding a newline
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Formatted printing to stderr
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a text writer, adding a newline
+ The TextWriter to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a text writer.
+ The TextWriter to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a System.Text.StringBuilder
+ The StringBuilder to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Extensible printf-style formatting for numbers and other datatypes
+
+ Format specifications are strings with "%" markers indicating format
+ placeholders. Format placeholders consist of:
+
+ %[flags][width][.precision][type]
+
+ where the type is interpreted as follows:
+
+ %b: bool, formatted as "true" or "false"
+ %s: string, formatted as its unescaped contents
+ %c: character literal
+ %d, %i: any basic integer type formatted as a decimal integer, signed if the basic integer type is signed.
+ %u: any basic integer type formatted as an unsigned decimal integer
+ %x, %X, %o: any basic integer type formatted as an unsigned hexadecimal
+ (a-f)/Hexadecimal (A-F)/Octal integer
+
+ %e, %E, %f, %F, %g, %G:
+ any basic floating point type (float,float32) formatted
+ using a C-style floating point format specifications, i.e
+
+ %e, %E: Signed value having the form [-]d.dddde[sign]ddd where
+ d is a single decimal digit, dddd is one or more decimal
+ digits, ddd is exactly three decimal digits, and sign
+ is + or -
+
+ %f: Signed value having the form [-]dddd.dddd, where dddd is one
+ or more decimal digits. The number of digits before the
+ decimal point depends on the magnitude of the number, and
+ the number of digits after the decimal point depends on
+ the requested precision.
+
+ %g, %G: Signed value printed in f or e format, whichever is
+ more compact for the given value and precision.
+
+
+ %M: System.Decimal value
+
+ %O: Any value, printed by boxing the object and using it's ToString method(s)
+
+ %A: Any value, printed with the default layout settings
+
+ %a: A general format specifier, requires two arguments:
+ (1) a function which accepts two arguments:
+ (a) a context parameter of the appropriate type for the
+ given formatting function (e.g. an #System.IO.TextWriter)
+ (b) a value to print
+ and which either outputs or returns appropriate text.
+
+ (2) the particular value to print
+
+
+ %t: A general format specifier, requires one argument:
+ (1) a function which accepts a context parameter of the
+ appropriate type for the given formatting function (e.g.
+ an System.IO.TextWriter)and which either outputs or returns
+ appropriate text.
+
+ Basic integer types are:
+ byte,sbyte,int16,uint16,int32,uint32,int64,uint64,nativeint,unativeint
+ Basic floating point types are:
+ float, float32
+
+ The optional width is an integer indicating the minimal width of the
+ result. For instance, %6d prints an integer, prefixing it with spaces
+ to fill at least 6 characters. If width is '*', then an extra integer
+ argument is taken to specify the corresponding width.
+
+ any number
+ '*':
+
+ Valid flags are:
+
+ 0: add zeros instead of spaces to make up the required width
+ '-': left justify the result within the width specified
+ '+': add a '+' character if the number is positive (to match a '-' sign
+ for negatives)
+ ' ': add an extra space if the number is positive (to match a '-'
+ sign for negatives)
+
+ The printf '#' flag is invalid and a compile-time error will be reported if it is used.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the length of the string.
+ The input string.
+ The number of characters in the string.
+ Thrown when the input string is null.
+
+
+ Returns a string by concatenating count instances of str.
+ The number of copies of the input string will be copied.
+ The input string.
+ The concatenated string.
+ Thrown when the input string is null.
+
+
+ Tests if any character of the string satisfies the given predicate.
+ The function to test each character of the string.
+ The input string.
+ True if any character returns true for the predicate and false otherwise.
+ Thrown when the input string is null.
+
+
+ Tests if all characters in the string satisfy the given predicate.
+ The function to test each character of the string.
+ The input string.
+ True if all characters return true for the predicate and false otherwise.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each index from 0 to count-1 and concatenating the resulting
+ strings.
+ The number of strings to initialize.
+ The function to take an index and produce a string to
+ be concatenated with the others.
+ The constructed string.
+ Thrown when count is negative.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each of the characters of the input string and concatenating the resulting
+ strings.
+ The function to produce a string from each character of the input string.
+ The input string.
+ The concatenated string.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each character and index of the input string.
+ The function to apply to each character and index of the string.
+ The input string.
+ The resulting string.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each of the characters of the input string.
+ The function to apply to the characters of the string.
+ The input string.
+ The resulting string.
+ Thrown when the input string is null.
+
+
+ Applies the function action to the index of each character in the string and the
+ character itself.
+ The function to apply to each character and index of the string.
+ The input string.
+ Thrown when the input string is null.
+
+
+ Applies the function action to each character in the string.
+ The function to be applied to each character of the string.
+ The input string.
+ Thrown when the input string is null.
+
+
+ Returns a new string made by concatenating the given strings
+ with separator sep, that is a1 + sep + ... + sep + aN.
+ The separator string to be inserted between the strings
+ of the input sequence.
+ The sequence of strings to be concatenated.
+ A new string consisting of the concatenated strings separated by
+ the separation string.
+ Thrown when strings is null.
+
+
+ Functional programming operators for string processing. Further string operations
+ are available via the member functions on strings and other functionality in
+ System.String
+ and System.Text.RegularExpressions types.
+
+
+
+ The SI unit of catalytic activity
+
+
+
+
+ The SI unit of does equivalent
+
+
+
+
+ The SI unit of absorbed dose
+
+
+
+
+ The SI unit of activity referred to a radionuclide
+
+
+
+
+ The SI unit of illuminance
+
+
+
+
+ The SI unit of luminous flux
+
+
+
+
+ The SI unit of inductance
+
+
+
+
+ The SI unit of magnetic flux density
+
+
+
+
+ The SI unit of magnetic flux
+
+
+
+
+ The SI unit of electric conductance
+
+
+
+
+ The SI unit of electric resistance
+
+
+
+
+ The SI unit of capacitance
+
+
+
+
+ The SI unit of electric potential difference, electromotive force
+
+
+
+
+ The SI unit of electric charge, amount of electricity
+
+
+
+
+ The SI unit of power, radiant flux
+
+
+
+
+ The SI unit of energy, work, amount of heat
+
+
+
+
+ The SI unit of pressure, stress
+
+
+
+
+ The SI unit of force
+
+
+
+
+ The SI unit of frequency
+
+
+
+
+ The SI unit of luminous intensity
+
+
+
+
+ The SI unit of amount of substance
+
+
+
+
+ The SI unit of thermodynamic temperature
+
+
+
+
+ The SI unit of electric current
+
+
+
+
+ The SI unit of time
+
+
+
+
+ The SI unit of mass
+
+
+
+
+ The SI unit of length
+
+
+
+
+ The SI unit of length
+
+
+
+
+ A synonym for henry, the SI unit of inductance
+
+
+
+
+ A synonym for katal, the SI unit of catalytic activity
+
+
+
+
+ A synonym for sievert, the SI unit of does equivalent
+
+
+
+
+ A synonym for gray, the SI unit of absorbed dose
+
+
+
+
+ A synonym for becquerel, the SI unit of activity referred to a radionuclide
+
+
+
+
+ A synonym for lux, the SI unit of illuminance
+
+
+
+
+ A synonym for lumen, the SI unit of luminous flux
+
+
+
+
+ A synonym for tesla, the SI unit of magnetic flux density
+
+
+
+
+ A synonym for weber, the SI unit of magnetic flux
+
+
+
+
+ A synonym for UnitNames.ohm, the SI unit of electric resistance.
+
+
+
+
+ A synonym for siemens, the SI unit of electric conductance
+
+
+
+
+ A synonym for farad, the SI unit of capacitance
+
+
+
+
+ A synonym for volt, the SI unit of electric potential difference, electromotive force
+
+
+
+
+ A synonym for coulomb, the SI unit of electric charge, amount of electricity
+
+
+
+
+ A synonym for watt, the SI unit of power, radiant flux
+
+
+
+
+ A synonym for joule, the SI unit of energy, work, amount of heat
+
+
+
+
+ A synonym for pascal, the SI unit of pressure, stress
+
+
+
+
+ A synonym for newton, the SI unit of force
+
+
+
+
+ A synonym for hertz, the SI unit of frequency
+
+
+
+
+ A synonym for candela, the SI unit of luminous intensity
+
+
+
+
+ A synonym for mole, the SI unit of amount of substance
+
+
+
+
+ A synonym for kelvin, the SI unit of thermodynamic temperature
+
+
+
+
+ A synonym for ampere, the SI unit of electric current
+
+
+
+
+ A synonym for second, the SI unit of time
+
+
+
+
+ A synonym for kilogram, the SI unit of mass
+
+
+
+
+ A synonym for Metre, the SI unit of length
+
+
+
+
+ A method used to support the F# query syntax. Returns an empty sequence that has the specified type argument.
+
+
+
+
+ A method used to support the F# query syntax. Returns a sequence that contains the specified values.
+
+
+
+
+ A method used to support the F# query syntax. Returns a sequence of length one that contains the specified value.
+
+
+
+ A query operator that selects those elements based on a specified predicate.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in descending order by the given nullable sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in ascending order by the given nullable sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in descending order by the given sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in ascending order by the given sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that selects elements from a sequence as long as a specified condition is true, and then skips the remaining elements.
+
+
+
+ A query operator that selects a specified number of contiguous elements from those selected so far.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the sum of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the sum of these values.
+
+
+
+
+ A method used to support the F# query syntax. Inputs to queries are implicitly wrapped by a call to one of the overloads of this method.
+
+
+
+
+ A method used to support the F# query syntax. Inputs to queries are implicitly wrapped by a call to one of the overloads of this method.
+
+
+
+ A query operator that sorts the elements selected so far in descending order by the given nullable sorting key.
+
+
+
+ A query operator that sorts the elements selected so far in ascending order by the given nullable sorting key.
+
+
+
+ A query operator that sorts the elements selected so far in descending order by the given sorting key.
+
+
+
+ A query operator that sorts the elements selected so far in ascending order by the given sorting key.
+
+
+
+ A query operator that bypasses elements in a sequence as long as a specified condition is true and then selects the remaining elements.
+
+
+
+ A query operator that bypasses a specified number of the elements selected so far and selects the remaining elements.
+
+
+
+ A query operator that projects each of the elements selected so far.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IQueryable rules.
+
+
+
+
+ A method used to support the F# query syntax. Indicates that the query should be passed as a quotation to the Run method.
+
+
+
+ A query operator that selects the element at a specified index amongst those selected so far.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the minimum of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the minimum resulting value.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the maximum of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the maximum resulting value.
+
+
+
+ A query operator that correlates two sets of selected values based on matching keys and groups the results.
+ If any group is empty, a group with a single default value is used instead.
+ Normal usage is 'leftOuterJoin y in elements2 on (key1 = key2) into group'.
+
+
+
+ A query operator that selects the last element of those selected so far, or a default value if no element is found.
+
+
+
+ A query operator that selects the last element of those selected so far.
+
+
+
+ A query operator that correlates two sets of selected values based on matching keys.
+ Normal usage is 'join y in elements2 on (key1 = key2)'.
+
+
+
+ A query operator that selects the first element of those selected so far, or a default value if the sequence contains no elements.
+
+
+
+ A query operator that selects the first element from those selected so far.
+
+
+
+ A query operator that selects a value for each element selected so far and groups the elements by the given key.
+
+
+
+ A query operator that correlates two sets of selected values based on matching keys and groups the results.
+ Normal usage is 'groupJoin y in elements2 on (key1 = key2) into group'.
+
+
+
+ A query operator that groups the elements selected so far according to a specified key selector.
+
+
+
+
+ A method used to support the F# query syntax. Projects each element of a sequence to another sequence and combines the resulting sequences into one sequence.
+
+
+
+ A query operator that selects the first element selected so far that satisfies a specified condition.
+
+
+
+ A query operator that determines whether any element selected so far satisfies a condition.
+
+
+
+ A query operator that selects the single, specific element of those selected so far, or a default value if that element is not found.
+
+
+
+ A query operator that selects the single, specific element selected so far
+
+
+
+ A query operator that selects distinct elements from the elements selected so far.
+
+
+
+ A query operator that returns the number of selected elements.
+
+
+
+ A query operator that determines whether the selected elements contains a specified element.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the average of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the average of these values.
+
+
+
+ A query operator that determines whether all elements selected so far satisfies a condition.
+
+
+
+ Create an instance of this builder. Use 'query { ... }' to use the query syntax.
+
+
+
+ The type used to support the F# query syntax. Use 'query { ... }' to use the query syntax.
+
+
+
+
+ A property used to support the F# query syntax.
+
+
+
+
+ A method used to support the F# query syntax.
+
+
+
+
+ A partial input or result in an F# query. This type is used to support the F# query syntax.
+
+
+
+ Converts the argument to character. Numeric inputs are converted according to the UTF-16
+ encoding for characters. The operation requires an appropriate static conversion method on the input type.
+ The input value.
+ The converted char.
+
+
+ Converts the argument to System.Decimal using a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted decimal.
+
+
+ Converts the argument to unsigned native integer using a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to signed native integer. This is a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to 64-bit float. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float
+
+
+ Converts the argument to 32-bit float. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float32
+
+
+ Converts the argument to unsigned 64-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to signed 64-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to unsigned 32-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to a particular enum type.
+ The input value.
+ The converted enum type.
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to unsigned 16-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to signed 16-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to signed byte. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+
+ Functions for converting nullable values
+
+
+
+
+ The division operator where a nullable value appears on both left and right sides
+
+
+
+
+ The division operator where a nullable value appears on the right
+
+
+
+
+ The division operator where a nullable value appears on the left
+
+
+
+
+ The modulus operator where a nullable value appears on both left and right sides
+
+
+
+
+ The modulus operator where a nullable value appears on the right
+
+
+
+
+ The modulus operator where a nullable value appears on the left
+
+
+
+
+ The multiplication operator where a nullable value appears on both left and right sides
+
+
+
+
+ The multiplication operator where a nullable value appears on the right
+
+
+
+
+ The multiplication operator where a nullable value appears on the left
+
+
+
+
+ The subtraction operator where a nullable value appears on both left and right sides
+
+
+
+
+ The subtraction operator where a nullable value appears on the right
+
+
+
+
+ The subtraction operator where a nullable value appears on the left
+
+
+
+
+ The addition operator where a nullable value appears on both left and right sides
+
+
+
+
+ The addition operator where a nullable value appears on the right
+
+
+
+
+ The addition operator where a nullable value appears on the left
+
+
+
+
+ The '<>' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '=' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '<' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '<=' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '>' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '>=' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '<>' operator where a nullable value appears on the right
+
+
+
+
+ The '=' operator where a nullable value appears on the right
+
+
+
+
+ The '<' operator where a nullable value appears on the right
+
+
+
+
+ The '<=' operator where a nullable value appears on the right
+
+
+
+
+ The '>' operator where a nullable value appears on the right
+
+
+
+
+ The '>=' operator where a nullable value appears on the right
+
+
+
+
+ The '<>' operator where a nullable value appears on the left
+
+
+
+
+ The '=' operator where a nullable value appears on the left
+
+
+
+
+ The '<' operator where a nullable value appears on the left
+
+
+
+
+ The '<=' operator where a nullable value appears on the left
+
+
+
+
+ The '>' operator where a nullable value appears on the left
+
+
+
+
+ The '>=' operator where a nullable value appears on the left
+
+
+
+
+ Operators for working with nullable values
+
+
+
+
+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IEnumerable rules.
+
+
+
+
+
+
+
+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ rules.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A type used to reconstruct a grouping after applying a mutable->immutable mapping transformation
+ on a result of a query.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The generic MethodInfo for Select function
+ Describes how we got from productions of immutable objects to productions of anonymous objects, with enough information
+ that we can invert the process in final query results.
+
+
+
+
+
+
+
+ Given the expression part of a "yield" or "select" which produces a result in terms of immutable tuples or immutable records,
+ generate an equivalent expression yielding anonymous objects. Also return the conversion for the immutable-to-mutable correspondence
+ so we can reverse this later.
+
+
+
+
+ Simplify gets of tuples and gets of record fields.
+
+
+
+
+ Cleanup the use of property-set object constructions in leaf expressions that form parts of F# queries.
+
+
+
+
+
+
+
+ Given an type involving immutable tuples and records, logically corresponding to the type produced at a
+ "yield" or "select", convert it to a type involving anonymous objects according to the conversion data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recognize anonymous type construction written using 'new AnonymousObject(<e1>, <e2>, ...)'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recognize object construction written using 'new O(Prop1 = <e>, Prop2 = <e>, ...)'
+
+
+
+
+ Tests whether a list consists only of assignments of properties of the
+ given variable, null values (ignored) and ends by returning the given variable
+ (pattern returns only property assignments)
+
+
+
+
+ Recognize sequential series written as (... ((<e>; <e>); <e>); ...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A runtime helper used to evaluate nested quotation literals.
+
+
+
+
+ Evaluates a subset of F# quotations by first converting to a LINQ expression, for the subset of LINQ expressions represented by the
+ expression syntax in the C# language.
+
+
+
+
+ Converts a subset of F# quotations to a LINQ expression, for the subset of LINQ expressions represented by the
+ expression syntax in the C# language.
+
+
+
+
+ Converts a subset of F# quotations to a LINQ expression, for the subset of LINQ expressions represented by the
+ expression syntax in the C# language.
+
+
+
+
+ When used in a quotation, this function indicates a specific conversion
+ should be performed when converting the quotation to a LINQ expression.
+
+ This function should not be called directly.
+
+
+
+
+ When used in a quotation, this function indicates a specific conversion
+ should be performed when converting the quotation to a LINQ expression.
+
+ This function should not be called directly.
+
+
+
+
+ When used in a quotation, this function indicates a specific conversion
+ should be performed when converting the quotation to a LINQ expression.
+
+ This function should not be called directly.
+
+
+
+
+
+
+ Allocates a region of memory on the stack.
+ The number of objects of type T to allocate.
+ A typed pointer to the allocated memory.
+
+
+ Assigns the value into the memory location referenced by the typed native
+ pointer computed by adding index * sizeof<'T> to the given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ The value to assign.
+
+
+ Assigns the value into the memory location referenced by the given typed native pointer.
+ The input pointer.
+ The value to assign.
+
+
+ Dereferences the given typed native pointer.
+ The input pointer.
+ The value at the pointer address.
+
+
+ Dereferences the typed native pointer computed by adding index * sizeof<'T> to the
+ given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ The value at the pointer address.
+
+
+ Returns a typed native pointer by adding index * sizeof<'T> to the
+ given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ A typed pointer.
+
+
+ Returns a machine address for a given typed native pointer.
+ The input pointer.
+ The machine address.
+
+
+ Returns a typed native pointer for a given machine address.
+ The pointer address.
+ A typed pointer.
+
+
+ Contains operations on native pointers. Use of these operators may
+ result in the generation of unverifiable code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the raw expression associated with this type-carrying expression
+
+
+ Type-carrying quoted expressions. Expressions are generated either
+ by quotations in source text or programatically
+
+
+ Returns type of an expression.
+
+
+ Returns the custom attributes of an expression.
+
+
+ Builds an expression that represents a while loop
+ The predicate to control the loop iteration.
+ The body of the while loop.
+ The resulting expression.
+
+
+ Builds an expression that represents setting a mutable variable
+ The input variable.
+ The value to set.
+ The resulting expression.
+
+
+ Builds an expression that represents a variable
+ The input variable.
+ The resulting expression.
+
+
+ Builds an expression that represents a constant value
+ The typed value.
+ The resulting expression.
+
+
+ Builds an expression that represents a constant value of a particular type
+ The untyped object.
+ The type of the object.
+ The resulting expression.
+
+
+ Builds an expression that represents a test of a value is of a particular union case
+ The expression to test.
+ The description of the union case.
+ The resulting expression.
+
+
+ Builds an expression that represents a type test.
+ The expression to test.
+ The target type.
+ The resulting expression.
+
+
+ Builds an expression that represents getting a field of a tuple
+ The input tuple.
+ The index of the tuple element to get.
+ The resulting expression.
+
+
+ Builds an expression that represents a try/with construct for exception filtering and catching.
+ The body of the try expression.
+
+
+ The variable to bind to a caught exception.
+ The expression evaluated when an exception is caught.
+ The resulting expression.
+
+
+ Try and find a stored reflection definition for the given method. Stored reflection
+ definitions are added to an F# assembly through the use of the [<ReflectedDefinition>] attribute.
+ The description of the method to find.
+ The reflection definition or None if a match could not be found.
+
+
+ Builds an expression that represents a try/finally construct
+ The body of the try expression.
+ The final part of the expression to be evaluated.
+ The resulting expression.
+
+
+ Format the expression as a string
+ Indicates if method, property, constructor and type objects should be printed in detail. If false, these are abbreviated to their name.
+ The formatted string.
+
+
+ Substitutes through the given expression using the given functions
+ to map variables to new values. The functions must give consistent results
+ at each application. Variable renaming may occur on the target expression
+ if variable capture occurs.
+ The function to map variables into expressions.
+ The expression with the given substitutions.
+
+
+ Builds an expression that represents the sequential execution of one expression followed by another
+ The first expression.
+ The second expression.
+ The resulting expression.
+
+
+ Permits interactive environments such as F# Interactive
+ to explicitly register new pickled resources that represent persisted
+ top level definitions. The string indicates a unique name for the resources
+ being added. The format for the bytes is the encoding generated by the F# compiler.
+ The assembly associated with the resource.
+ The unique name for the resources being added.
+ The serialized resource to register with the environment.
+
+
+ Builds an expression that represents a nested quotation literal
+ The expression being quoted.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a static property
+ The description of the property.
+ The value to set.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a property of an object
+ The input object.
+ The description of the property.
+ The value to set.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents reading a static property
+ The description of the property.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents reading a property of an object
+ The input object.
+ The description of the property.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of a union case value
+ The description of the union case.
+ The list of arguments for the case.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of an F# tuple value
+ The list of elements of the tuple.
+ The resulting expression.
+
+
+ Builds record-construction expressions
+ The type of record.
+ The list of elements of the record.
+ The resulting expression.
+
+
+ Builds an expression that represents the invocation of an object constructor
+ The description of the constructor.
+ The list of arguments to the constructor.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of a delegate value for the given type
+ The type of delegate.
+ The parameters for the delegate.
+ The body of the function.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of an array value initialized with the given elements
+ The type for the elements of the array.
+ The list of elements of the array.
+ The resulting expression.
+
+
+ Builds recursives expressions associated with 'let rec' constructs
+ The list of bindings for the let expression.
+ The sub-expression where the bindings are in scope.
+ The resulting expression.
+
+
+ Builds expressions associated with 'let' constructs
+ The variable in the let expression.
+ The expression bound to the variable.
+ The sub-expression where the binding is in scope.
+ The resulting expression.
+
+
+ Builds an expression that represents the constrution of an F# function value
+ The parameter to the function.
+ The body of the function.
+ The resulting expression.
+
+
+ Builds 'if ... then ... else' expressions.
+ The condition expression.
+ The then sub-expression.
+ The else sub-expression.
+ The resulting expression.
+
+
+ Fetches or creates a new variable with the given name and type from a global pool of shared variables
+ indexed by name and type. The type is given by the expicit or inferred type parameter
+ The variable name.
+ The created of fetched typed global variable.
+
+
+ Gets the free expression variables of an expression as a list.
+ A sequence of the free variables in the expression.
+
+
+ Builds a 'for i = ... to ... do ...' expression that represent loops over integer ranges
+ The sub-expression declaring the loop variable.
+ The sub-expression setting the initial value of the loop variable.
+ The sub-expression declaring the final value of the loop variable.
+ The sub-expression representing the body of the loop.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a field of an object
+ The input object.
+ The description of the field to write to.
+ The value to set to the field.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a static field
+ The description of the field to write to.
+ The value to the set to the field.
+ The resulting expression.
+
+
+ Builds an expression that represents the access of a field of an object
+ The input object.
+ The description of the field to access.
+ The resulting expression.
+
+
+ Builds an expression that represents the access of a static field
+ The description of the field to access.
+ The resulting expression.
+
+
+
+
+
+ This function is called automatically when quotation syntax (<@ @>) and related typed-expression
+ quotations are used. The bytes are a pickled binary representation of an unlinked form of the quoted expression,
+ and the System.Type argument is any type in the assembly where the quoted
+ expression occurs, i.e. it helps scope the interpretation of the cross-assembly
+ references in the bytes.
+ A type in the assembly where the quotation occurs.
+ The list of spliced types.
+ The list of spliced expressions.
+ The serialized form of the quoted expression.
+ The resulting expression.
+
+
+ Builds an expression that represents the invocation of a default object constructor
+ The type on which the constructor is invoked.
+ The resulting expression.
+
+
+ Builds an expression that represents the coercion of an expression to a type
+ The expression to coerce.
+ The target type.
+ The resulting expression.
+
+
+ Returns a new typed expression given an underlying runtime-typed expression.
+ A type annotation is usually required to use this function, and
+ using an incorrect type annotation may result in a later runtime exception.
+ The expression to cast.
+ The resulting typed expression.
+
+
+ Builds an expression that represents a call to an instance method associated with an object
+ The input object.
+ The description of the method to call.
+ The list of arguments to the method.
+ The resulting expression.
+
+
+ Builds an expression that represents a call to an static method or module-bound function
+ The MethodInfo describing the method to call.
+ The list of arguments to the method.
+ The resulting expression.
+
+
+ Builds an expression that represents the application of a first class function value to multiple arguments
+ The function to apply.
+ The list of lists of arguments to the function.
+ The resulting expression.
+
+
+ Builds an expression that represents the application of a first class function value to a single argument.
+ The function to apply.
+ The argument to the function.
+ The resulting expression.
+
+
+ Builds an expression that represents setting the value held at a particular address.
+ The target expression.
+ The value to set at the address.
+ The resulting expression.
+
+
+ Builds an expression that represents getting the address of a value.
+ The target expression.
+ The resulting expression.
+
+
+ Quoted expressions annotated with System.Type values.
+
+
+ The type associated with the variable
+
+
+ The declared name of the variable
+
+
+ Indicates if the variable represents a mutable storage location
+
+
+ Fetches or create a new variable with the given name and type from a global pool of shared variables
+ indexed by name and type
+ The name of the variable.
+ The type associated with the variable.
+ The retrieved or created variable.
+
+
+ Creates a new variable with the given name, type and mutability
+ The declared name of the variable.
+ The type associated with the variable.
+ Indicates if the variable represents a mutable storage location. Default is false.
+ The created variable.
+
+
+ Information at the binding site of a variable
+
+
+ Re-build combination expressions. The first parameter should be an object
+ returned by the ShapeCombination case of the active pattern in this module.
+ The input shape.
+ The list of arguments.
+ The rebuilt expression.
+
+
+ An active pattern that performs a complete decomposition viewing the expression tree as a binding structure
+ The input expression.
+ The decomposed Var, Lambda, or ConstApp.
+
+
+ Active patterns for traversing, visiting, rebuilding and tranforming expressions in a generic way
+
+
+ An active pattern to recognize property setters that have an associated ReflectedDefinition
+ The description of the property.
+ The expression of the method definition if found, or None.
+
+
+ An active pattern to recognize property getters or values in modules that have an associated ReflectedDefinition
+ The description of the property.
+ The expression of the method definition if found, or None.
+
+
+ An active pattern to recognize methods that have an associated ReflectedDefinition
+ The description of the method.
+ The expression of the method definition if found, or None.
+
+
+ A parameterized active pattern to recognize calls to a specified function or method.
+ The returned elements are the optional target object (present if the target is an
+ instance method), the generic type instantation (non-empty if the target is a generic
+ instantiation), and the arguments to the function or method.
+ The input template expression to specify the method to call.
+ The optional target object (present if the target is an
+ instance method), the generic type instantation (non-empty if the target is a generic
+ instantiation), and the arguments to the function or method.
+
+
+ An active pattern to recognize constant unsigned int64 expressions
+ The input expression to match against.
+ uint64 option
+
+
+ An active pattern to recognize constant int64 expressions
+ The input expression to match against.
+ int64 option
+
+
+ An active pattern to recognize constant unsigned int32 expressions
+ The input expression to match against.
+ uint32 option
+
+
+ An active pattern to recognize constant int32 expressions
+ The input expression to match against.
+ int32 option
+
+
+ An active pattern to recognize constant unsigned int16 expressions
+ The input expression to match against.
+ uint16 option
+
+
+ An active pattern to recognize constant int16 expressions
+ The input expression to match against.
+ int16 option
+
+
+ An active pattern to recognize constant byte expressions
+ The input expression to match against.
+ byte option
+
+
+ An active pattern to recognize constant signed byte expressions
+ The input expression to match against.
+ sbyte option
+
+
+ An active pattern to recognize constant unicode character expressions
+ The input expression to match against.
+ char option
+
+
+ An active pattern to recognize constant 64-bit floating point number expressions
+ The input expression to match against.
+ float option
+
+
+ An active pattern to recognize constant 32-bit floating point number expressions
+ The input expression to match against.
+ float32 option
+
+
+ An active pattern to recognize constant string expressions
+ The input expression to match against.
+ string option
+
+
+ An active pattern to recognize constant boolean expressions
+ The input expression to match against.
+ bool option
+
+
+ An active pattern to recognize () constant expressions
+ The input expression to match against.
+ unit option
+
+
+ An active pattern to recognize expressions of the form a || b
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions of the form a && b
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent the application of a (possibly curried or tupled) first class function value
+ The input expression to match against.
+ (Expr * Expr list list) option
+
+
+ An active pattern to recognize expressions that represent a (possibly curried or tupled) first class function value
+ The input expression to match against.
+ (Var list list * Expr) option
+
+
+ Contains a set of derived F# active patterns to analyze F# expression objects
+
+
+ An active pattern to recognize expressions that represent setting a mutable variable
+ The input expression to match against.
+ (Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent a variable
+ The input expression to match against.
+ Var option
+
+
+ An active pattern to recognize expressions that represent a constant value
+ The input expression to match against.
+ (obj * Type) option
+
+
+ An active pattern to recognize expressions that represent a test if a value is of a particular union case
+ The input expression to match against.
+ (Expr * UnionCaseInfo) option
+
+
+ An active pattern to recognize expressions that represent a dynamic type test
+ The input expression to match against.
+ (Expr * Type) option
+
+
+ An active pattern to recognize expressions that represent getting a tuple field
+ The input expression to match against.
+ (Expr * int) option
+
+
+ An active pattern to recognize expressions that represent a try/finally construct
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent a try/with construct for exception filtering and catching
+ The input expression to match against.
+ (Expr * Var * Expr * Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent sequential exeuction of one expression followed by another
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent a nested quotation literal
+ The input expression to match against.
+ Expr option
+
+
+ An active pattern to recognize expressions that represent setting a static or instance property, or a non-function value declared in a module
+ The input expression to match against.
+ (Expr option * PropertyInfo * Expr list * Expr) option
+
+
+ An active pattern to recognize expressions that represent the read of a static or instance property, or a non-function value declared in a module
+ The input expression to match against.
+ (Expr option * PropertyInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of tuple values
+ The input expression to match against.
+ (Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of particular union case values
+ The input expression to match against.
+ (UnionCaseInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of record values
+ The input expression to match against.
+ (Type * Expr list) option
+
+
+ An active pattern to recognize expressions that represent invocation of object constructors
+ The input expression to match against.
+ (ConstructorInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of delegate values
+ The input expression to match against.
+ (Type * Var list * Expr) option
+
+
+ An active pattern to recognize expressions that represent invocations of a default constructor of a struct
+ The input expression to match against.
+ Type option
+
+
+ An active pattern to recognize expressions that represent the construction of arrays
+ The input expression to match against.
+ (Type * Expr list) option
+
+
+ An active pattern to recognize expressions that represent recursive let bindings of one or more variables
+ The input expression to match against.
+ ((Var * Expr) list * Expr) option
+
+
+ An active pattern to recognize expressions that represent let bindings
+ The input expression to match against.
+ (Var * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent first class function values
+ The input expression to match against.
+ (Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent conditionals
+ The input expression to match against.
+ (Expr * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent while loops
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent loops over integer ranges
+ The input expression to match against.
+ (Var * Expr * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent setting a static or instance field
+ The input expression to match against.
+ (Expr option * FieldInfo * Expr) option
+
+
+ An active pattern to recognize expressions that represent getting a static or instance field
+ The input expression to match against.
+ (Expr option * FieldInfo) option
+
+
+ An active pattern to recognize expressions that represent coercions from one type to another
+ The input expression to match against.
+ (Expr * Type) option
+
+
+ An active pattern to recognize expressions that represent calls to static and instance methods, and functions defined in modules
+ The input expression to match against.
+ (Expr option * MethodInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent applications of first class function values
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent setting the value held at an address
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent getting the address of a value
+ The input expression to match against.
+ Expr option
+
+
+ Contains a set of primitive F# active patterns to analyze F# expression objects
+
+
+ Returns a System.Type representing an F# tuple type with the given element types
+ An array of types for the tuple elements.
+ The type representing the tuple containing the input elements.
+
+
+ Returns a System.Type representing the F# function type with the given domain and range
+ The input type of the function.
+ The output type of the function.
+ The function type with the given domain and range.
+
+
+ Returns true if the typ is a representation of an F# union type or the runtime type of a value of that type
+ The type to check.
+ Optional binding flags.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# tuple type
+ The type to check.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# record type
+ The type to check.
+ Optional binding flags.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a System.Type value corresponding to the compiled form of an F# module
+ The type to check.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# function type or the runtime type of a closure implementing an F# function type
+ The type to check.
+ True if the type check succeeds.
+
+
+ Returns true if the typ is a representation of an F# exception declaration
+ The type to check.
+ Optional binding flags.
+ True if the type check is an F# exception.
+
+
+ Gets the cases of a union type.
+
+ Assumes the given type is a union type. If not, ArgumentException is raised during pre-computation.
+ The input union type.
+ Optional binding flags.
+ Thrown when the input type is not a union type.
+ An array of descriptions of the cases of the given union type.
+
+
+ Gets the tuple elements from the representation of an F# tuple type.
+ The input tuple type.
+ An array of the types contained in the given tuple type.
+
+
+ Reads all the fields from a record value, in declaration order
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The input record type.
+ Optional binding flags.
+ An array of descriptions of the properties of the record type.
+
+
+ Gets the domain and range types from an F# function type or from the runtime type of a closure implementing an F# type
+ The input function type.
+ A tuple of the domain and range types of the input function.
+
+
+ Reads all the fields from an F# exception declaration, in declaration order
+
+ Assumes exceptionType is an exception representation type. If not, ArgumentException is raised.
+ The exception type to read.
+ Optional binding flags.
+ Thrown if the given type is not an exception.
+ An array containing the PropertyInfo of each field in the exception.
+
+
+ Contains operations associated with constructing and analyzing F# types such as records, unions and tuples
+
+
+ Assumes the given type is a union type.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function is more efficient than calling GetUnionCase
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The type of union to optimize reading.
+ Optional binding flags.
+ An optimized function to read the tags of the given union type.
+
+
+ Precompute a property or static method for reading an integer representing the case tag of a union type.
+ The type of union to read.
+ Optional binding flags.
+ The description of the union case reader.
+
+
+ Precomputes a function for reading all the fields for a particular discriminator case of a union type
+
+ Using the computed function will typically be faster than executing a corresponding call to GetFields
+ The description of the union case to read.
+ Optional binding flags.
+ A function to for reading the fields of the given union case.
+
+
+ A method that constructs objects of the given case
+ The description of the union case.
+ Optional binding flags.
+ The description of the constructor of the given union case.
+
+
+ Precomputes a function for constructing a discriminated union value for a particular union case.
+ The description of the union case.
+ Optional binding flags.
+ A function for constructing values of the given union case.
+
+
+ Precomputes a function for reading the values of a particular tuple type
+
+ Assumes the given type is a TupleType.
+ If not, ArgumentException is raised during pre-computation.
+ The tuple type to read.
+ Thrown when the given type is not a tuple type.
+ A function to read values of the given tuple type.
+
+
+ Gets information that indicates how to read a field of a tuple
+ The input tuple type.
+ The index of the tuple element to describe.
+ The description of the tuple element and an optional type and index if the tuple is big.
+
+
+ Gets a method that constructs objects of the given tuple type.
+ For small tuples, no additional type will be returned.
+
+ For large tuples, an additional type is returned indicating that
+ a nested encoding has been used for the tuple type. In this case
+ the suffix portion of the tuple type has the given type and an
+ object of this type must be created and passed as the last argument
+ to the ConstructorInfo. A recursive call to PreComputeTupleConstructorInfo
+ can be used to determine the constructor for that the suffix type.
+ The input tuple type.
+ The description of the tuple type constructor and an optional extra type
+ for large tuples.
+
+
+ Precomputes a function for reading the values of a particular tuple type
+
+ Assumes the given type is a TupleType.
+ If not, ArgumentException is raised during pre-computation.
+ The type of tuple to read.
+ Thrown when the given type is not a tuple type.
+ A function to read a particular tuple type.
+
+
+ Precompute a function for reading all the fields from a record. The fields are returned in the
+ same order as the fields reported by a call to Microsoft.FSharp.Reflection.Type.GetInfo for
+ this type.
+
+ Assumes the given type is a RecordType.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The type of record to read.
+ Optional binding flags.
+ Thrown when the input type is not a record type.
+ An optimized reader for the given record type.
+
+
+ Precompute a function for reading a particular field from a record.
+ Assumes the given type is a RecordType with a field of the given name.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The PropertyInfo of the field to read.
+ Thrown when the input type is not a record type.
+ A function to read the specified field from the record.
+
+
+ Get a ConstructorInfo for a record type
+ The record type.
+ Optional binding flags.
+ A ConstructorInfo for the given record type.
+
+
+ Precompute a function for constructing a record value.
+
+ Assumes the given type is a RecordType.
+ If not, ArgumentException is raised during pre-computation.
+ The type of record to construct.
+ Optional binding flags.
+ Thrown when the input type is not a record type.
+ A function to construct records of the given type.
+
+
+ Create a union case value.
+ The description of the union case to create.
+ The array of arguments to construct the given case.
+ Optional binding flags.
+ The constructed union case.
+
+
+ Creates an instance of a tuple type
+
+ Assumes at least one element is given. If not, ArgumentException is raised.
+ The array of tuple fields.
+ The tuple type to create.
+ Thrown if no elements are given.
+ An instance of the tuple type with the given elements.
+
+
+ Creates an instance of a record type.
+
+ Assumes the given input is a record type.
+ The type of record to make.
+ The array of values to initialize the record.
+ Optional binding flags for the record.
+ Thrown when the input type is not a record type.
+ The created record.
+
+
+ Builds a typed function from object from a dynamic function implementation
+ The function type of the implementation.
+ The untyped lambda of the function implementation.
+ A typed function from the given dynamic implementation.
+
+
+ Identify the union case and its fields for an object
+
+ Assumes the given input is a union case value. If not, ArgumentException is raised.
+
+ If the type is not given, then the runtime type of the input object is used to identify the
+ relevant union type. The type should always be given if the input object may be null. For example,
+ option values may be represented using the 'null'.
+ The input union case.
+ The union type containing the value.
+ Optional binding flags.
+ Thrown when the input type is not a union case value.
+ The description of the union case and its fields.
+
+
+ Reads all fields from a tuple.
+
+ Assumes the given input is a tuple value. If not, ArgumentException is raised.
+ The input tuple.
+ Thrown when the input is not a tuple value.
+ An array of the fields from the given tuple.
+
+
+ Reads a field from a tuple value.
+
+ Assumes the given input is a tuple value. If not, ArgumentException is raised.
+ The input tuple.
+ The index of the field to read.
+ The value of the field.
+
+
+ Reads all the fields from a record value.
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The record object.
+ Optional binding flags for the record.
+ Thrown when the input type is not a record type.
+ The array of fields from the record.
+
+
+ Reads a field from a record value.
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The record object.
+ The PropertyInfo describing the field to read.
+ Thrown when the input type is not a record type.
+ The field from the record.
+
+
+ Reads all the fields from a value built using an instance of an F# exception declaration
+
+ Assumes the given input is an F# exception value. If not, ArgumentException is raised.
+ The exception instance.
+ Optional binding flags.
+ Thrown when the input type is not an F# exception.
+ The fields from the given exception.
+
+
+ Contains operations associated with constructing and analyzing values associated with F# types
+ such as records, unions and tuples.
+
+
+ The integer tag for the case.
+
+
+ The name of the case.
+
+
+ The type in which the case occurs.
+
+
+ The fields associated with the case, represented by a PropertyInfo.
+ The fields associated with the case.
+
+
+ Returns the custom attributes data associated with the case.
+ An list of custom attribute data items.
+
+
+ Returns the custom attributes associated with the case matching the given attribute type.
+ The type of attributes to return.
+ An array of custom attributes.
+
+
+ Returns the custom attributes associated with the case.
+ An array of custom attributes.
+
+
+ Represents a case of a discriminated union type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A record of options to control structural formatting.
+ For F# Interactive properties matching those of this value can be accessed via the 'fsi'
+ value.
+
+ Floating Point format given in the same format accepted by System.Double.ToString,
+ e.g. f6 or g15.
+
+ If ShowProperties is set the printing process will evaluate properties of the values being
+ displayed. This may cause additional computation.
+
+ The ShowIEnumerable is set the printing process will force the evalution of IEnumerable objects
+ to a small, finite depth, as determined by the printing parameters.
+ This may lead to additional computation being performed during printing.
+
+ <example>
+ From F# Interactive the default settings can be adjusted using, for example,
+ <pre>
+ open Microsoft.FSharp.Compiler.Interactive.Settings;;
+ setPrintWidth 120;;
+ </pre>
+ </example>
+
+
+
+
+ Data representing structured layouts of terms.
+
+
+
+
+ Convert any value to a layout using the given formatting options. The
+ layout can then be processed using formatting display engines such as
+ those in the LayoutOps module. any_to_string and output_any are
+ built using any_to_layout with default format options.
+
+
+
+
+
+
+
+ Ouput any value to a channel using the same set of formatting rules
+ as any_to_string
+
+
+
+
+ Convert any value to a string using a standard formatter
+ Data is typically formatted in a structured format, e.g.
+ lists are formatted using the "[1;2]" notation.
+ The details of the format are not specified and may change
+ from version to version and according to the flags given
+ to the F# compiler. The format is intended to be human-readable,
+ not machine readable. If alternative generic formats are required
+ you should develop your own formatter, using the code in the
+ implementation of this file as a starting point.
+
+ Data from other .NET languages is formatted using a virtual
+ call to Object.ToString() on the boxed version of the input.
+
+
+
+
+
+
+
+ For limitting layout of list-like sequences (lists,arrays,etc).
+ unfold a list of items using (project and z) making layout list via itemL.
+ If reach maxLength (before exhausting) then truncate.
+
+
+
+
+ See tagL
+
+
+
+
+ Layout like an F# list.
+
+
+
+
+ Layout like an F# option.
+
+
+
+
+ Layout list vertically.
+
+
+
+
+ Layout two vertically.
+
+
+
+
+ Form tuple of layouts.
+
+
+
+
+ Wrap braces around layout.
+
+
+
+
+ Wrap square brackets around layout.
+
+
+
+
+ Wrap round brackets around Layout.
+
+
+
+
+ Join layouts into a list separated using the given Layout.
+
+
+
+
+ Join layouts into a semi-colon separated list.
+
+
+
+
+ Join layouts into a space separated list.
+
+
+
+
+ Join layouts into a comma separated list.
+
+
+
+
+ Join broken with ident=2
+
+
+
+
+ Join broken with ident=1
+
+
+
+
+ Join broken with ident=0
+
+
+
+
+ Join, possible break with indent=2
+
+
+
+
+ Join, possible break with indent=1
+
+
+
+
+ Join, possible break with indent=0
+
+
+
+
+ Join, unbreakable.
+
+
+
+
+ An string which is left parenthesis (no space on the right).
+
+
+
+
+ An string which is right parenthesis (no space on the left).
+
+
+
+
+ An string which requires no spaces either side.
+
+
+
+
+ An string leaf
+
+
+
+
+ An uninterpreted leaf, to be interpreted into a string
+ by the layout engine. This allows leaf layouts for numbers, strings and
+ other atoms to be customized according to culture.
+
+
+
+
+ Is it the empty layout?
+
+
+
+
+ The empty layout
+
+
+
+
+ A layout is a sequence of strings which have been joined together.
+ The strings are classified as words, separators and left and right parenthesis.
+ This classification determines where spaces are inserted.
+ A joint is either unbreakable, breakable or broken.
+ If a joint is broken the RHS layout occurs on the next line with optional indentation.
+ A layout can be squashed to for given width which forces breaks as required.
+
+
+
+
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.dll b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.dll
new file mode 100644
index 00000000..a8ab0782
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.dll differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.optdata b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.optdata
new file mode 100644
index 00000000..adcd2429
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.optdata differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.sigdata b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.sigdata
new file mode 100644
index 00000000..3499ff85
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.sigdata differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.xml b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.xml
new file mode 100644
index 00000000..d941f776
--- /dev/null
+++ b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/net45/FSharp.Core.xml
@@ -0,0 +1,10517 @@
+
+
+FSharp.Core
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the tail of the list, which is a list containing all the elements of the list, excluding the first element
+
+
+ Gets the number of items contained in the list
+
+
+ Gets the element of the list at the given position.
+ Lists are represented as linked lists so this is an O(n) operation.
+ The index.
+ The value at the given index.
+
+
+ Gets a value indicating if the list contains no entries
+
+
+ Gets the first element of the list
+
+
+ Returns an empty list of a particular type
+
+
+ Returns a list with head as its first element and tail as its subsequent elements
+ A new head value for the list.
+ The existing list.
+ The list with head appended to the front of tail.
+
+
+ The type of immutable singly-linked lists.
+
+ Use the constructors [] and :: (infix) to create values of this type, or
+ the notation [1;2;3]. Use the values in the List module to manipulate
+ values of this type, or pattern match against the values directly.
+
+
+ Lookup an element in the map. Raise KeyNotFoundException if no binding
+ exists in the map.
+ The input key.
+ Thrown when the key is not found.
+ The value mapped to the key.
+
+
+ Returns true if there are no bindings in the map.
+
+
+ The number of bindings in the map.
+
+
+ Lookup an element in the map, returning a Some value if the element is in the domain
+ of the map and None if not.
+ The input key.
+ The mapped value, or None if the key is not in the map.
+
+
+ Removes an element from the domain of the map. No exception is raised if the element is not present.
+ The input key.
+ The resulting map.
+
+
+
+
+
+ Tests if an element is in the domain of the map.
+ The input key.
+ True if the map contains the given key.
+
+
+ Returns a new map with the binding added to the given map.
+ The input key.
+ The resulting map.
+
+
+ Builds a map that contains the bindings of the given IEnumerable.
+ The input sequence of key/value pairs.
+ The resulting map.
+
+
+ Immutable maps. Keys are ordered by F# generic comparison.
+
+ Maps based on generic comparison are efficient for small keys. They are not a suitable choice if keys are recursive data structures
+ or if keys require bespoke comparison semantics.
+
+ All members of this class are thread-safe and may be used concurrently from multiple threads.
+
+
+ An abbreviation for the CLI type System.Collections.Generic.List<_>
+
+
+ Returns a new set with the elements of the second set removed from the first.
+ The first input set.
+ The second input set.
+ A set containing elements of the first set that are not contained in the second set.
+
+
+ Compute the union of the two sets.
+ The first input set.
+ The second input set.
+ The union of the two input sets.
+
+
+ Returns the lowest element in the set according to the ordering being used for the set.
+
+
+ Returns the highest element in the set according to the ordering being used for the set.
+
+
+ A useful shortcut for Set.isEmpty. See the Set module for further operations on sets.
+
+
+ The number of elements in the set
+
+
+ A useful shortcut for Set.remove. Note this operation produces a new set
+ and does not mutate the original set. The new set will share many storage
+ nodes with the original. See the Set module for further operations on sets.
+ The value to remove from the set.
+ The result set.
+
+
+ Evaluates to "true" if all elements of the second set are in the first.
+ The set to test against.
+ True if this set is a superset of otherSet.
+
+
+ Evaluates to "true" if all elements of the first set are in the second.
+ The set to test against.
+ True if this set is a subset of otherSet.
+
+
+ Evaluates to "true" if all elements of the second set are in the first, and at least
+ one element of the first is not in the second.
+ The set to test against.
+ True if this set is a proper superset of otherSet.
+
+
+ Evaluates to "true" if all elements of the first set are in the second, and at least
+ one element of the second is not in the first.
+ The set to test against.
+ True if this set is a proper subset of otherSet.
+
+
+
+
+
+ A useful shortcut for Set.contains. See the Set module for further operations on sets.
+ The value to check.
+ True if the set contains value.
+
+
+ A useful shortcut for Set.add. Note this operation produces a new set
+ and does not mutate the original set. The new set will share many storage
+ nodes with the original. See the Set module for further operations on sets.
+ The value to add to the set.
+ The result set.
+
+
+ Create a set containing elements drawn from the given sequence.
+ The input sequence.
+ The result set.
+
+
+ Immutable sets based on binary trees, where comparison is the
+ F# structural comparison function, potentially using implementations
+ of the IComparable interface on key values.
+
+ See the Set module for further operations on sets.
+
+ All members of this class are thread-safe and may be used concurrently from multiple threads.
+
+
+ An abbreviation for the type of immutable singly-linked lists.
+
+ Use the constructors [] and :: (infix) to create values of this type, or
+ the notation [1;2;3]. Use the values in the List module to manipulate
+ values of this type, or pattern match against the values directly.
+
+
+ An abbreviation for the CLI type System.Collections.Generic.IEnumerable<_>
+
+
+ Fetches an element from a 2D array. You can also use the syntax array.[index1,index2].
+
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+
+ The value of the array at the given index.
+ Thrown when the indices are negative or exceed the bounds of the array.
+
+
+ Sets the value of an element in an array. You can also use the syntax array.[index1,index2] <- value.
+
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The value to set in the array.
+ Thrown when the indices are negative or exceed the bounds of the array.
+
+
+ Builds a new array whose elements are the same as the input array but
+ where a non-zero-based input array generates a corresponding zero-based
+ output array.
+
+ The input array.
+
+ The zero-based output array.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer indices passed to the
+ function indicates the element being transformed.
+
+ For non-zero-based arrays the basing on an input array will be propagated to the output
+ array.
+
+ A function that is applied to transform each element of the array. The two integers
+ provide the index of the element.
+ The input array.
+
+ An array whose elements have been transformed by the given mapping.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+
+ A function that is applied to transform each item of the input array.
+ The input array.
+
+ An array whose elements have been transformed by the given mapping.
+
+
+ Returns the length of an array in the second dimension.
+
+ The input array.
+
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension.
+
+ The input array.
+
+ The length of the array in the first dimension.
+
+
+ Applies the given function to each element of the array. The integer indices passed to the
+ function indicates the index of element.
+
+ A function to apply to each element of the array with the indices available as an argument.
+ The input array.
+
+
+ Applies the given function to each element of the array.
+
+ A function to apply to each element of the array.
+ The input array.
+
+
+ Creates a based array where the entries are initially Unchecked.defaultof<'T>.
+
+ The base for the first dimension of the array.
+ The base for the second dimension of the array.
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+
+ The created array.
+ Thrown when base1, base2, length1, or length2 is negative.
+
+
+ Creates a based array whose elements are all initially the given value.
+
+ The base for the first dimension of the array.
+ The base for the second dimension of the array.
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ The value to populate the new array.
+
+ The created array.
+ Thrown when base1, base2, length1, or length2 is negative.
+
+
+ Creates a based array given the dimensions and a generator function to compute the elements.
+
+ The base for the first dimension of the array.
+ The base for the second dimension of the array.
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ A function to produce elements of the array given the two indices.
+
+ The created array.
+ Thrown when base1, base2, length1, or length2 is negative.
+
+
+ Creates an array where the entries are initially Unchecked.defaultof<'T>.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+
+ The created array.
+ Thrown when length1 or length2 is negative.
+
+
+ Creates an array whose elements are all initially the given value.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ The value to populate the new array.
+
+ The created array.
+ Thrown when length1 or length2 is negative.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ A function to produce elements of the array given the two indices.
+
+ The generated array.
+ Thrown when either of the lengths is negative.
+
+
+ Reads a range of elements from the first array and write them into the second.
+
+ The source array.
+ The first-dimension index to begin copying from in the source array.
+ The second-dimension index to begin copying from in the source array.
+ The target array.
+ The first-dimension index to begin copying into in the target array.
+ The second-dimension index to begin copying into in the target array.
+ The number of elements to copy across the first dimension of the arrays.
+ The number of elements to copy across the second dimension of the arrays.
+ Thrown when any of the indices are negative or if either of
+ the counts are larger than the dimensions of the array allow.
+
+
+ Builds a new array whose elements are the same as the input array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+
+ The input array.
+
+ A copy of the input array.
+
+
+ Fetches the base-index for the second dimension of the array.
+
+ The input array.
+
+ The base-index of the second dimension of the array.
+
+
+ Fetches the base-index for the first dimension of the array.
+
+ The input array.
+
+ The base-index of the first dimension of the array.
+
+
+ Basic operations on 2-dimensional arrays.
+
+ F# and CLI multi-dimensional arrays are typically zero-based.
+ However, CLI multi-dimensional arrays used in conjunction with external
+ libraries (e.g. libraries associated with Visual Basic) be
+ non-zero based, using a potentially different base for each dimension.
+ The operations in this module will accept such arrays, and
+ the basing on an input array will be propagated to a matching output
+ array on the Array2D.map and Array2D.mapi operations.
+ Non-zero-based arrays can also be created using Array2D.zeroCreateBased,
+ Array2D.createBased and Array2D.initBased.
+
+
+ Creates an array where the entries are initially the "default" value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The created array.
+
+
+ Sets the value of an element in an array. You can also
+ use the syntax 'array.[index1,index2,index3] <- value'.
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The value to set at the given index.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer indices passed to the
+ function indicates the element being transformed.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+ The function to transform the elements at each index in the array.
+ The input array.
+ The array created from the transformed elements.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+ The function to transform each element of the array.
+ The input array.
+ The array created from the transformed elements.
+
+
+ Returns the length of an array in the third dimension.
+ The input array.
+ The length of the array in the third dimension.
+
+
+ Returns the length of an array in the second dimension.
+ The input array.
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension
+ The input array.
+ The length of the array in the first dimension.
+
+
+ Applies the given function to each element of the array. The integer indicies passed to the
+ function indicates the index of element.
+ The function to apply to each element of the array.
+ The input array.
+
+
+ Applies the given function to each element of the array.
+ The function to apply to each element of the array.
+ The input array.
+
+
+ Fetches an element from a 3D array. You can also use the syntax 'array.[index1,index2,index3]'
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The value at the given index.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The function to create an initial value at each index into the array.
+ The created array.
+
+
+ Creates an array whose elements are all initially the given value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The value of the array elements.
+ The created array.
+
+
+ Basic operations on rank 3 arrays.
+
+
+ Sets the value of an element in an array. You can also
+ use the syntax 'array.[index1,index2,index3,index4] <- value'.
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The index along the fourth dimension.
+ The value to set.
+
+
+ Fetches an element from a 4D array. You can also use the syntax 'array.[index1,index2,index3,index4]'
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The index along the fourth dimension.
+ The value at the given index.
+
+
+ Creates an array where the entries are initially the "default" value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The created array.
+
+
+ Returns the length of an array in the fourth dimension.
+ The input array.
+ The length of the array in the fourth dimension.
+
+
+ Returns the length of an array in the third dimension.
+ The input array.
+ The length of the array in the third dimension.
+
+
+ Returns the length of an array in the second dimension.
+ The input array.
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension
+ The input array.
+ The length of the array in the first dimension.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The function to create an initial value at each index in the array.
+ The created array.
+
+
+ Creates an array whose elements are all initially the given value
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The initial value for each element of the array.
+ The created array.
+
+
+ Basic operations on rank 4 arrays.
+
+
+ Combines three arrays into an array of pairs. The three arrays must have equal lengths, otherwise an ArgumentException is
+ raised.
+ The first input array.
+ The second input array.
+ The third input array.
+ Thrown when the input arrays differ in length.
+ The array of tupled elements.
+
+
+ Combines the two arrays into an array of pairs. The two arrays must have equal lengths, otherwise an ArgumentException is
+ raised.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of tupled elements.
+
+
+ Splits an array of triples into three arrays.
+ The input array.
+ The tuple of three arrays.
+
+
+ Splits an array of pairs into two arrays.
+ The input array.
+ The two arrays.
+
+
+ Returns the index of the first element in the array
+ that satisfies the given predicate.
+ The function to test the input elements.
+ The input array.
+ The index of the first element that satisfies the predicate, or None.
+
+
+ Returns the first element for which the given function returns true.
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input array.
+ The first element that satisfies the predicate, or None.
+
+
+ Views the given array as a sequence.
+ The input array.
+ The sequence of array elements.
+
+
+ Builds a list from the given array.
+ The input array.
+ The list of array elements.
+
+
+ Returns the sum of the results generated by applying the function to each element of the array.
+ The function to transform the array elements into the type to be summed.
+ The input array.
+ The resulting sum.
+
+
+ Returns the sum of the elements in the array.
+ The input array.
+ The resulting sum.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given comparison function.
+ Elements are compared using Operators.compare.
+ The input array.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given comparison function as the order.
+ The function to compare pairs of array elements.
+ The input array.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given projection for the keys.
+ Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to transform array elements into the type that is compared.
+ The input array.
+
+
+ Sorts the elements of an array, using the given comparison function as the order, returning a new array.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to compare pairs of array elements.
+ The input array.
+ The sorted array.
+
+
+ Sorts the elements of an array, using the given projection for the keys and returning a new array.
+ Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to transform array elements into the type that is compared.
+ The input array.
+ The sorted array.
+
+
+ Sorts the elements of an array, returning a new array. Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The input array.
+ The sorted array.
+
+
+ Builds a new array that contains the given subrange specified by
+ starting index and length.
+ The input array.
+ The index of the first element of the sub array.
+ The length of the sub array.
+ The created sub array.
+
+
+ Sets an element of an array.
+ The input array.
+ The input index.
+ The input value.
+
+
+ Like foldBack, but return both the intermediary and final results.
+ The function to update the state given the input elements.
+ The input array.
+ The initial state.
+ The array of state values.
+
+
+ Like fold, but return the intermediary and final results.
+ The function to update the state given the input elements.
+ The initial state.
+ The input array.
+ The array of state values.
+
+
+ Returns a new array with the elements in reverse order.
+ The input array.
+ The reversed array.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f i0 (...(f iN-1 iN)).
+ Raises ArgumentException if the array has size zero.
+ The function to reduce a pair of elements to a single element.
+ The input array.
+ Thrown when the input array is empty.
+ The final result of the reductions.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f (... (f i0 i1)...) iN.
+ Raises ArgumentException if the array has size zero.
+ The function to reduce a pair of elements to a single element.
+ The input array.
+ Thrown when the input array is empty.
+ The final result of the redcutions.
+
+
+ Returns an array with all elements permuted according to the
+ specified permutation.
+ The function that maps input indices to output indices.
+ The input array.
+ The output array.
+
+
+ Splits the collection into two collections, containing the
+ elements for which the given predicate returns "true" and "false"
+ respectively.
+ The function to test the input elements.
+ The input array.
+ A pair of arrays. The first containing the elements the predicate evaluated to true,
+ and the second containing those evaluated to false.
+
+
+ Builds a new array from the given enumerable object.
+ The input sequence.
+ The array of elements from the sequence.
+
+
+ Builds an array from the given list.
+ The input list.
+ The array of elements from the list.
+
+
+ Returns the lowest of all elements of the array, compared via Operators.min on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The function to transform the elements into a type supporting comparison.
+ The input array.
+ Thrown when the input array is empty.
+ The minimum element.
+
+
+ Returns the lowest of all elements of the array, compared via Operators.min.
+
+ Throws ArgumentException for empty arrays
+ The input array.
+ Thrown when the input array is empty.
+ The minimum element.
+
+
+ Returns the greatest of all elements of the array, compared via Operators.max on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The function to transform the elements into a type supporting comparison.
+ The input array.
+ Thrown when the input array is empty.
+ The maximum element.
+
+
+ Returns the greatest of all elements of the array, compared via Operators.max on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The input array.
+ Thrown when the input array is empty.
+ The maximum element.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer index passed to the
+ function indicates the index of element being transformed.
+ The function to transform elements and their indices.
+ The input array.
+ The array of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise, also passing the index of
+ the elements. The two input arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to transform pairs of input elements and their indices.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to transform the pairs of the input elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of transformed elements.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+ The function to transform elements of the array.
+ The input array.
+ The array of transformed elements.
+
+
+ Returns the length of an array. You can also use property arr.Length.
+ The input array.
+ The length of the array.
+
+
+ Applies the given function to pair of elements drawn from matching indices in two arrays,
+ also passing the index of the elements. The two arrays must have the same lengths,
+ otherwise an ArgumentException is raised.
+ The function to apply to each index and pair of elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+
+
+ Applies the given function to each element of the array. The integer passed to the
+ function indicates the index of element.
+ The function to apply to each index and element.
+ The input array.
+
+
+ Applies the given function to pair of elements drawn from matching indices in two arrays. The
+ two arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to apply.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+
+
+ Applies the given function to each element of the array.
+ The function to apply.
+ The input array.
+
+
+ Returns true if the given array is empty, otherwise false.
+ The input array.
+ True if the array is empty.
+
+
+ Creates an array where the entries are initially the default value Unchecked.defaultof<'T>.
+ The length of the array to create.
+ The created array.
+
+
+ Creates an array given the dimension and a generator function to compute the elements.
+ The number of elements to initialize.
+ The function to generate the initial values for each index.
+ The created array.
+
+
+ Gets an element from an array.
+ The input array.
+ The input index.
+ The value of the array at the given index.
+
+
+ Apply a function to pairs of elements drawn from the two collections, right-to-left,
+ threading an accumulator argument through the computation. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to update the state given the input elements.
+ The first input array.
+ The second input array.
+ The initial state.
+ Thrown when the input arrays differ in length.
+ The final state.
+
+
+ Applies a function to pairs of elements drawn from the two collections,
+ left-to-right, threading an accumulator argument
+ through the computation. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to update the state given the input elements.
+ The initial state.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The final state.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f i0 (...(f iN s))
+ The function to update the state given the input elements.
+ The input array.
+ The initial state.
+ The final state.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f (... (f s i0)...) iN
+ The function to update the state given the input elements.
+ The initial state.
+ The input array.
+ The final state.
+
+
+ Tests if all corresponding elements of the array satisfy the given predicate pairwise.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns false then the overall result is
+ false and no further elements are tested. Otherwise, if one collection is longer
+ than the other then the ArgumentException exception is raised.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ True if all of the array elements satisfy the predicate.
+
+
+ Tests if all elements of the array satisfy the given predicate.
+
+ The predicate is applied to the elements of the input collection. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The input array.
+ True if all of the array elements satisfy the predicate.
+
+
+ Returns the index of the first element in the array
+ that satisfies the given predicate. Raise KeyNotFoundException if
+ none of the elements satisy the predicate.
+ The function to test the input elements.
+ The input array.
+ Thrown if predicate
+ never returns true.
+ The index of the first element in the array that satisfies the given predicate.
+
+
+ Returns the first element for which the given function returns 'true'.
+ Raise KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input array.
+ Thrown if predicate
+ never returns true.
+ The first element for which predicate returns true.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true".
+ The function to test the input elements.
+ The input array.
+ An array containing the elements for which the given predicate returns true.
+
+
+ Tests if any pair of corresponding elements of the arrays satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, if one collections is longer
+ than the other then the ArgumentException exception is raised.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The first input array.
+ The second input array.
+ True if any result from predicate is true.
+
+
+ Tests if any element of the array satisfies the given predicate.
+
+ The predicate is applied to the elements of the input array. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The input array.
+ True if any result from predicate is true.
+
+
+ Returns an empty array of the given type.
+
+
+ Applies the given function to each element of the array. Returns
+ the array comprised of the results "x" for each element where
+ the function returns Some(x)
+ The function to generate options from the elements.
+ The input array.
+ The array of results.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If the function
+ never returns Some(x) then KeyNotFoundException is raised.
+ The function to generate options from the elements.
+ The input array.
+ Thrown if every result from
+ chooser is None.
+ The first result.
+
+
+ Fills a range of elements of the array with the given value.
+ The target array.
+ The index of the first element to set.
+ The number of elements to set.
+ The value to set.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If the function
+ never returns Some(x) then None is returned.
+ The function to transform the array elements into options.
+ The input array.
+ The first transformed element that is Some(x).
+
+
+ Creates an array whose elements are all initially the given value.
+ The length of the array to create.
+ The value for the elements.
+ The created array.
+
+
+ Builds a new array that contains the elements of the given array.
+ The input array.
+ A copy of the input array.
+
+
+ Builds a new array that contains the elements of each of the given sequence of arrays.
+ The input sequence of arrays.
+ The concatenation of the sequence of input arrays.
+
+
+ For each element of the array, applies the given function. Concatenates all the results and return the combined array.
+ The function to create sub-arrays from the input array elements.
+ The input array.
+ The concatenation of the sub-arrays.
+
+
+ Reads a range of elements from the first array and write them into the second.
+ The source array.
+ The starting index of the source array.
+ The target array.
+ The starting index of the target array.
+ The number of elements to copy.
+
+
+ Returns the average of the elements generated by applying the function to each element of the array.
+ The function to transform the array elements before averaging.
+ The input array.
+ Thrown when array is empty.
+ The computed average.
+
+
+ Returns the average of the elements in the array.
+ The input array.
+ Thrown when array is empty.
+ The average of the elements in the array.
+
+
+ Builds a new array that contains the elements of the first array followed by the elements of the second array.
+ The first input array.
+ The second input array.
+ The resulting array.
+
+
+ Split the collection into two collections, containing the
+ elements for which the given predicate returns "true" and "false"
+ respectively
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to indicies is not specified.
+ The function to test the input elements.
+ The input array.
+ 'T[] * 'T[]
+
+
+ Create an array given the dimension and a generator function to compute the elements.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to indicies is not specified.
+
+
+ 'T[]
+
+
+ Apply the given function to each element of the array. The integer passed to the
+ function indicates the index of element.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+
+ The input array.
+
+
+ Apply the given function to each element of the array.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+
+ The input array.
+
+
+ Build a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer index passed to the
+ function indicates the index of element being transformed.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+
+ The input array.
+ 'U[]
+
+
+ Build a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+
+ The input array.
+ 'U[]
+
+
+ For each element of the array, apply the given function. Concatenate all the results and return the combined array.
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+
+ The input array.
+ 'U[]
+
+
+ Apply the given function to each element of the array. Return
+ the array comprised of the results "x" for each element where
+ the function returns Some(x).
+
+ Performs the operation in parallel using System.Threading.Parallel.For.
+ The order in which the given function is applied to elements of the input array is not specified.
+ The function to generate options from the elements.
+ The input array.
+ 'U[]
+
+
+ Provides parallel operations on arrays
+
+
+ Basic operations on arrays.
+
+
+ Compare using the given comparer function.
+ A function to compare two values.
+ An object implementing IComparer using the supplied comparer.
+
+
+ Structural comparison. Compare using Operators.compare.
+
+
+ Common notions of comparison identity used with sorted data structures.
+
+
+ Hash using the given hashing and equality functions.
+ A function to generate a hash code from a value.
+ A function to test equality of two values.
+ An object implementing IEqualityComparer using the supplied functions.
+
+
+ Physical hashing (hash on reference identity of objects, and the contents of value types).
+ Hash using LanguagePrimitives.PhysicalEquality and LanguagePrimitives.PhysicalHash,
+ That is, for value types use GetHashCode and Object.Equals (if no other optimization available),
+ and for reference types use System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode and
+ reference equality.
+
+
+
+
+
+ Structural hashing. Hash using Operators.(=) and Operators.hash.
+
+
+ Common notions of value identity used with hash tables.
+
+
+ Combines the three lists into a list of triples. The lists must have equal lengths.
+ The first input list.
+ The second input list.
+ The third input list.
+ A single list containing triples of matching elements from the input lists.
+
+
+ Combines the two lists into a list of pairs. The two lists must have equal lengths.
+ The first input list.
+ The second input list.
+ A single list containing pairs of matching elements from the input lists.
+
+
+ Splits a list of triples into three lists.
+ The input list.
+ Three lists of split elements.
+
+
+ Splits a list of pairs into two lists.
+ The input list.
+ Two lists of split elements.
+
+
+ Returns the index of the first element in the list
+ that satisfies the given predicate.
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input list.
+ The index of the first element for which the predicate returns true, or None if
+ every element evaluates to false.
+
+
+ Returns the first element for which the given function returns true..
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input list.
+ The first element for which the predicate returns true, or None if
+ every element evaluates to false.
+
+
+ Applies the given function to successive elements, returning Some(x) the first
+ result where function returns Some(x) for some x. If no such element
+ exists then return None.
+ The function to generate options from the elements.
+ The input list.
+ The first resulting value or None.
+
+
+ Views the given list as a sequence.
+ The input list.
+ The sequence of elements in the list.
+
+
+ Builds an array from the given list.
+ The input list.
+ The array containing the elements of the list.
+
+
+ Returns the list after removing the first element.
+
+ The input list.
+ Thrown when the list is empty.
+ The list after removing the first element.
+
+
+ Returns the sum of the results generated by applying the function to each element of the list.
+ The function to transform the list elements into the type to be summed.
+ The input list.
+ The resulting sum.
+
+
+ Returns the sum of the elements in the list.
+ The input list.
+ The resulting sum.
+
+
+ Sorts the given list using Operators.compare.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The input list.
+ The sorted list.
+
+
+ Sorts the given list using keys given by the given projection. Keys are compared using Operators.compare.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The function to transform the list elements into the type to be compared.
+ The input list.
+ The sorted list.
+
+
+ Sorts the given list using the given comparison function.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The function to compare the list elements.
+ The input list.
+ The sorted list.
+
+
+ Like foldBack, but returns both the intermediary and final results
+ The function to update the state given the input elements.
+ The input list.
+ The initial state.
+ The list of states.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. Take the second argument, and apply the function to it
+ and the first element of the list. Then feed this result into the function along
+ with the second element and so on. Returns the list of intermediate results and the final result.
+ The function to update the state given the input elements.
+ The initial state.
+ The input list.
+ The list of states.
+
+
+ Returns a new list with the elements in reverse order.
+ The input list.
+ The reversed list.
+
+
+ Creates a list by calling the given generator on each index.
+ The number of elements to replicate.
+ The value to replicate
+ The generated list.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f i0 (...(f iN-1 iN)).
+
+ Raises System.ArgumentException if list is empty
+ The function to reduce two list elements to a single element.
+ The input list.
+ Thrown when the list is empty.
+ The final reduced value.
+
+
+ Apply a function to each element of the collection, threading an accumulator argument
+ through the computation. Apply the function to the first two elements of the list.
+ Then feed this result into the function along with the third element and so on.
+ Return the final result. If the input function is f and the elements are i0...iN then computes
+ f (... (f i0 i1) i2 ...) iN.
+
+ Raises System.ArgumentException if list is empty
+ The function to reduce two list elements to a single element.
+ The input list.
+ Thrown when the list is empty.
+ The final reduced value.
+
+
+ Returns a list with all elements permuted according to the
+ specified permutation.
+ The function to map input indices to output indices.
+ The input list.
+ The permutated list.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If no such
+ element exists then raise System.Collections.Generic.KeyNotFoundException
+ The function to generate options from the elements.
+ The input list.
+ Thrown when the list is empty.
+ The first resulting value.
+
+
+ Splits the collection into two collections, containing the
+ elements for which the given predicate returns true and false
+ respectively. Element order is preserved in both of the created lists.
+ The function to test the input elements.
+ The input list.
+ A list containing the elements for which the predicate evaluated to false and a list
+ containing the elements for which the predicate evaluated to true.
+
+
+ Builds a new list from the given enumerable object.
+ The input sequence.
+ The list of elements from the sequence.
+
+
+ Builds a list from the given array.
+ The input array.
+ The list of elements from the array.
+
+
+ Indexes into the list. The first element has index 0.
+ The input list.
+ The index to retrieve.
+ The value at the given index.
+
+
+ Returns the lowest of all elements of the list, compared via Operators.min on the function result
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform list elements into the type to be compared.
+ The input list.
+ Thrown when the list is empty.
+ The minimum value.
+
+
+ Returns the lowest of all elements of the list, compared via Operators.min.
+
+ Raises System.ArgumentException if list is empty
+ The input list.
+ Thrown when the list is empty.
+ The minimum value.
+
+
+ Returns the greatest of all elements of the list, compared via Operators.max on the function result.
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform the list elements into the type to be compared.
+ The input list.
+ Thrown when the list is empty.
+ The maximum element.
+
+
+ Return the greatest of all elements of the list, compared via Operators.max.
+
+ Raises System.ArgumentException if list is empty
+ The input list.
+ Thrown when the list is empty.
+ The maximum element.
+
+
+ Like mapi, but mapping corresponding elements from two lists of equal length.
+ The function to transform pairs of elements from the two lists and their index.
+ The first input list.
+ The second input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The integer index passed to the
+ function indicates the index (from 0) of element being transformed.
+ The function to transform elements and their indices.
+ The input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the three collections simultaneously.
+ The function to transform triples of elements from the input lists.
+ The first input list.
+ The second input list.
+ The third input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise.
+ The function to transform pairs of elements from the input lists.
+ The first input list.
+ The second input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection.
+ The function to transform elements from the input list.
+ The input list.
+ The list of transformed elements.
+
+
+ Returns the length of the list.
+ The input list.
+ The length of the list.
+
+
+ Applies the given function to two collections simultaneously. The
+ collections must have identical size. The integer passed to the
+ function indicates the index of element.
+ The function to apply to a pair of elements from the input lists along with their index.
+ The first input list.
+ The second input list.
+
+
+ Applies the given function to each element of the collection. The integer passed to the
+ function indicates the index of element.
+ The function to apply to the elements of the list along with their index.
+ The input list.
+
+
+ Applies the given function to two collections simultaneously. The
+ collections must have identical size.
+ The function to apply to pairs of elements from the input lists.
+ The first input list.
+ The second input list.
+
+
+ Applies the given function to each element of the collection.
+ The function to apply to elements from the input list.
+ The input list.
+
+
+ Returns true if the list contains no elements, false otherwise.
+ The input list.
+ True if the list is empty.
+
+
+ Creates a list by calling the given generator on each index.
+ The length of the list to generate.
+ The function to generate an element from an index.
+ The list of generated elements.
+
+
+ Returns the first element of the list.
+
+ The input list.
+ Thrown when the list is empty.
+ The first element of the list.
+
+
+ Tests if all corresponding elements of the collection satisfy the given predicate pairwise.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns false then the overall result is
+ false and no further elements are tested. Otherwise, if one collection is longer
+ than the other then the System.ArgumentException exception is raised.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The first input list.
+ The second input list.
+ Thrown when the input lists differ in length.
+ True if all of the pairs of elements satisfy the predicate.
+
+
+ Tests if all elements of the collection satisfy the given predicate.
+
+ The predicate is applied to the elements of the input list. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The input list.
+ True if all of the elements satisfy the predicate.
+
+
+ Applies a function to corresponding elements of two collections, threading an accumulator argument
+ through the computation. The collections must have identical sizes.
+ If the input function is f and the elements are i0...iN and j0...jN
+ then computes f i0 j0 (...(f iN jN s)).
+ The function to update the state given the input elements.
+ The first input list.
+ The second input list.
+ The initial state.
+ The final state value.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then
+ computes f i0 (...(f iN s)).
+ The function to update the state given the input elements.
+ The input list.
+ The initial state.
+ The final state value.
+
+
+ Applies a function to corresponding elements of two collections, threading an accumulator argument
+ through the computation. The collections must have identical sizes.
+ If the input function is f and the elements are i0...iN and j0...jN
+ then computes f (... (f s i0 j0)...) iN jN.
+ The function to update the state given the input elements.
+ The initial state.
+ The first input list.
+ The second input list.
+ The final state value.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. Take the second argument, and apply the function to it
+ and the first element of the list. Then feed this result into the function along
+ with the second element and so on. Return the final result.
+ If the input function is f and the elements are i0...iN then
+ computes f (... (f s i0) i1 ...) iN.
+ The function to update the state given the input elements.
+ The initial state.
+ The input list.
+ The final state value.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true"
+ The function to test the input elements.
+ The input list.
+ A list containing only the elements that satisfy the predicate.
+
+
+ Returns the index of the first element in the list
+ that satisfies the given predicate.
+ Raises KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input list.
+ Thrown if the predicate evaluates to false for all the
+ elements of the list.
+ The index of the first element that satisfies the predicate.
+
+
+ Returns the first element for which the given function returns true.
+ Raises KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input list.
+ Thrown if the predicate evaluates to false for
+ all the elements of the list.
+ The first element that satisfies the predicate.
+
+
+ Tests if any pair of corresponding elements of the lists satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, if one collections is longer
+ than the other then the System.ArgumentException exception is raised.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The first input list.
+ The second input list.
+ Thrown when the input lists differ in length.
+ True if any pair of elements satisfy the predicate.
+
+
+ Tests if any element of the list satisfies the given predicate.
+
+ The predicate is applied to the elements of the input list. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The input list.
+ True if any element satisfies the predicate.
+
+
+ Returns an empty list of the given type.
+
+
+ Returns a new list that contains the elements of each the lists in order.
+ The input sequence of lists.
+ The resulting concatenated list.
+
+
+ For each element of the list, applies the given function. Concatenates all the results and return the combined list.
+ The function to transform each input element into a sublist to be concatenated.
+ The input list.
+ The concatenation of the transformed sublists.
+
+
+ Applies the given function to each element of the list. Returns
+ the list comprised of the results x for each element where
+ the function returns Some(x)
+ The function to generate options from the elements.
+ The input list.
+ The list comprising the values selected from the chooser function.
+
+
+ Returns the average of the elements generated by applying the function to each element of the list.
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform the list elements into the type to be averaged.
+ The input list.
+ Thrown when the list is empty.
+ The resulting average.
+
+
+ Returns the average of the elements in the list.
+
+ Raises System.ArgumentException if list is empty.
+ The input list.
+ Thrown when the list is empty.
+ The resulting average.
+
+
+ Returns a new list that contains the elements of the first list
+ followed by elements of the second.
+ The first input list.
+ The second input list.
+ The resulting list.
+
+
+ Basic operations on lists.
+
+
+ Returns the key of the first mapping in the collection that satisfies the given predicate.
+ Returns 'None' if no such element exists.
+ The function to test the input elements.
+ The input map.
+ The first key for which the predicate returns true or None if the predicate evaluates to false for each key/value pair.
+
+
+ Evaluates the function on each mapping in the collection. Returns the key for the first mapping
+ where the function returns 'true'. Raise KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input map.
+ Thrown if the key does not exist in the map.
+ The first key for which the predicate evaluates true.
+
+
+ Lookup an element in the map, returning a Some value if the element is in the domain
+ of the map and None if not.
+ The input key.
+ The input map.
+ The found Some value or None.
+
+
+ Removes an element from the domain of the map. No exception is raised if the element is not present.
+ The input key.
+ The input map.
+ The resulting map.
+
+
+ Builds two new maps, one containing the bindings for which the given predicate returns 'true',
+ and the other the remaining bindings.
+ The function to test the input elements.
+ The input map.
+ A pair of maps in which the first contains the elements for which the predicate returned true
+ and the second containing the elements for which the predicated returned false.
+
+
+ Tests if an element is in the domain of the map.
+ The input key.
+ The input map.
+ True if the map contains the key.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The key passed to the
+ function indicates the key of element being transformed.
+ The function to transform the key/value pairs.
+ The input map.
+ The resulting map of keys and transformed values.
+
+
+ Returns true if the given predicate returns true for all of the
+ bindings in the map.
+ The function to test the input elements.
+ The input map.
+ True if the predicate evaluates to true for all of the bindings in the map.
+
+
+ Builds a new map containing only the bindings for which the given predicate returns 'true'.
+ The function to test the key/value pairs.
+ The input map.
+ The filtered map.
+
+
+ Returns true if the given predicate returns true for one of the
+ bindings in the map.
+ The function to test the input elements.
+ The input map.
+ True if the predicate returns true for one of the key/value pairs.
+
+
+ Applies the given function to each binding in the dictionary
+ The function to apply to each key/value pair.
+ The input map.
+
+
+ Folds over the bindings in the map
+ The function to update the state given the input key/value pairs.
+ The initial state.
+ The input map.
+ The final state value.
+
+
+ Folds over the bindings in the map.
+ The function to update the state given the input key/value pairs.
+ The input map.
+ The initial state.
+ The final state value.
+
+
+ Searches the map looking for the first element where the given function returns a Some value
+ The function to generate options from the key/value pairs.
+ The input map.
+ The first result.
+
+
+ Searches the map looking for the first element where the given function returns a Some value.
+ The function to generate options from the key/value pairs.
+ The input map.
+ The first result.
+
+
+ Lookup an element in the map, raising KeyNotFoundException if no binding
+ exists in the map.
+ The input key.
+ The input map.
+ Thrown when the key does not exist in the map.
+ The value mapped to the given key.
+
+
+ The empty map.
+
+
+ Is the map empty?
+ The input map.
+ True if the map is empty.
+
+
+ Returns an array of all key-value pairs in the mapping.
+ The array will be ordered by the keys of the map.
+ The input map.
+ The array of key/value pairs.
+
+
+ Returns a list of all key-value pairs in the mapping.
+ The list will be ordered by the keys of the map.
+ The input map.
+ The list of key/value pairs.
+
+
+ Views the collection as an enumerable sequence of pairs.
+ The sequence will be ordered by the keys of the map.
+ The input map.
+ The sequence of key/value pairs.
+
+
+ Returns a new map made from the given bindings.
+ The input sequence of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map made from the given bindings.
+ The input array of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map made from the given bindings.
+ The input list of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map with the binding added to the given map.
+ The input key.
+ The input value.
+ The input map.
+ The resulting map.
+
+
+ Functional programming operators related to the Map<_,_> type.
+
+
+ Combines the three sequences into a list of triples. The sequences need not have equal lengths:
+ when one sequence is exhausted any remaining elements in the other
+ sequences are ignored.
+
+ The first input sequence.
+ The second input sequence.
+ The third input sequence.
+
+ The result sequence.
+
+ Thrown when any of the input sequences is null.
+
+
+ Combines the two sequences into a list of pairs. The two sequences need not have equal lengths:
+ when one sequence is exhausted any remaining elements in the other
+ sequence are ignored.
+
+ The first input sequence.
+ The second input sequence.
+
+ The result sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Returns a sequence that yields sliding windows of containing elements drawn from the input
+ sequence. Each window is returned as a fresh array.
+
+ The number of elements in each window.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns a sequence that contains the elements generated by the given computation.
+ The given initial state argument is passed to the element generator.
+ For each IEnumerator elements in the stream are generated on-demand by applying the element
+ generator, until a None value is returned by the element generator. Each call to the element
+ generator returns a new residual state.
+
+ The stream will be recomputed each time an IEnumerator is requested and iterated for the Seq.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ A function that takes in the current state and returns an option tuple of the next
+ element of the sequence and the next state value.
+ The initial state value.
+
+ The result sequence.
+
+
+ Returns a sequence that when enumerated returns at most N elements.
+
+ The maximum number of items to enumerate.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to successive elements, returning the first
+ result where the function returns "Some(x)".
+
+ A function that transforms items from the input sequence into options.
+ The input sequence.
+
+ The chosen element or None.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the index of the first element in the sequence
+ that satisfies the given predicate. Return None if no such element exists.
+
+ A function that evaluates to a Boolean when given an item in the sequence.
+ The input sequence.
+
+ The found index or None.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the first element for which the given function returns true.
+ Return None if no such element exists.
+
+ A function that evaluates to a Boolean when given an item in the sequence.
+ The input sequence.
+
+ The found element or None.
+
+ Thrown when the input sequence is null.
+
+
+ Builds a list from the given collection.
+
+ The input sequence.
+
+ The result list.
+
+ Thrown when the input sequence is null.
+
+
+ Builds an array from the given collection.
+
+ The input sequence.
+
+ The result array.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that, when iterated, yields elements of the underlying sequence while the
+ given predicate returns true, and then returns no further elements.
+
+ A function that evaluates to false when no more items should be returned.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the first N elements of the sequence.
+ Throws InvalidOperationException
+ if the count exceeds the number of elements in the sequence. Seq.truncate
+ returns as many items as the sequence contains instead of throwing an exception.
+
+ The number of items to take.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+ Thrown when count exceeds the number of elements
+ in the sequence.
+
+
+ Returns the sum of the results generated by applying the function to each element of the sequence.
+ The generated elements are summed using the + operator and Zero property associated with the generated type.
+
+ A function to transform items from the input sequence into the type that will be summed.
+ The input sequence.
+
+ The computed sum.
+
+
+ Returns the sum of the elements in the sequence.
+
+ The elements are summed using the + operator and Zero property associated with the generated type.
+
+ The input sequence.
+
+ The computed sum.
+
+
+ Applies a key-generating function to each element of a sequence and yield a sequence ordered
+ by keys. The keys are compared using generic comparison as implemented by Operators.compare.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ This is a stable sort, that is the original order of equal elements is preserved.
+
+ A function to transform items of the input sequence into comparable keys.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Yields a sequence ordered by keys.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ This is a stable sort, that is the original order of equal elements is preserved.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that, when iterated, skips elements of the underlying sequence while the
+ given predicate returns true, and then yields the remaining elements of the sequence.
+
+ A function that evaluates an element of the sequence to a boolean value.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that skips N elements of the underlying sequence and then yields the
+ remaining elements of the sequence.
+
+ The number of items to skip.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when count exceeds the number of elements
+ in the sequence.
+
+
+ Returns a sequence that yields one item only.
+
+ The input item.
+
+ The result sequence of one item.
+
+
+ Like fold, but computes on-demand and returns the sequence of intermediary and final results.
+
+ A function that updates the state with each element from the sequence.
+ The initial state.
+ The input sequence.
+
+ The resulting sequence of computed states.
+
+ Thrown when the input sequence is null.
+
+
+ Applies a function to each element of the sequence, threading an accumulator argument
+ through the computation. Begin by applying the function to the first two elements.
+ Then feed this result into the function along with the third element and so on.
+ Return the final result.
+
+ A function that takes in the current accumulated result and the next
+ element of the sequence to produce the next accumulated result.
+ The input sequence.
+
+ The final result of the reduction function.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Builds a new sequence object that delegates to the given sequence object. This ensures
+ the original sequence cannot be rediscovered and mutated by a type cast. For example,
+ if given an array the returned sequence will return the elements of the array, but
+ you cannot cast the returned sequence object to an array.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to successive elements, returning the first
+ x where the function returns "Some(x)".
+
+ A function to transform each item of the input sequence into an option of the output type.
+ The input sequence.
+
+ The selected element.
+
+ Thrown when the input sequence is null.
+ Thrown when every item of the sequence
+ evaluates to None when the given function is applied.
+
+
+ Returns a sequence of each element in the input sequence and its predecessor, with the
+ exception of the first element which is only returned as the predecessor of the second element.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Views the given list as a sequence.
+
+ The input list.
+
+ The result sequence.
+
+
+ Views the given array as a sequence.
+
+ The input array.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Computes the nth element in the collection.
+
+ The index of element to retrieve.
+ The input sequence.
+
+ The nth element of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the lowest of all elements of the sequence, compared via Operators.min on the function result.
+
+ A function to transform items from the input sequence into comparable keys.
+ The input sequence.
+
+ The smallest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the lowest of all elements of the sequence, compared via Operators.min.
+
+ The input sequence.
+
+ The smallest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the greatest of all elements of the sequence, compared via Operators.max on the function result.
+
+ A function to transform items from the input sequence into comparable keys.
+ The input sequence.
+
+ The largest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the greatest of all elements of the sequence, compared via Operators.max
+
+ The input sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+ The largest element of the sequence.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The integer index passed to the
+ function indicates the index (from 0) of element being transformed.
+
+ A function to transform items from the input sequence that also supplies the current index.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding pairs of elements from the two sequences. If one input sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to transform pairs of items from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ The result sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The given function will be applied
+ as elements are demanded using the MoveNext method on enumerators retrieved from the
+ object.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ A function to transform items from the input sequence.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the length of the sequence
+
+ The input sequence.
+
+ The length of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to two collections simultaneously. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to apply to each pair of elements from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Applies the given function to each element of the collection. The integer passed to the
+ function indicates the index of element.
+
+ A function to apply to each element of the sequence that can also access the current index.
+ The input sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to each element of the collection.
+
+ A function to apply to each element of the sequence.
+ The input sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Generates a new sequence which, when iterated, will return successive
+ elements by calling the given function. The results of calling the function
+ will not be saved, that is the function will be reapplied as necessary to
+ regenerate the elements. The function is passed the index of the item being
+ generated.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+ Iteration can continue up to Int32.MaxValue.
+
+ A function that generates an item in the sequence from a given index.
+
+ The result sequence.
+
+
+ Generates a new sequence which, when iterated, will return successive
+ elements by calling the given function, up to the given count. Each element is saved after its
+ initialization. The function is passed the index of the item being
+ generated.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The maximum number of items to generate for the sequence.
+ A function that generates an item in the sequence from a given index.
+
+ The result sequence.
+
+ Thrown when count is negative.
+
+
+ Returns true if the sequence contains no elements, false otherwise.
+
+ The input sequence.
+
+ True if the sequence is empty; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the only element of the sequence.
+
+ The input sequence.
+
+ The last element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have precisely one element.
+
+
+ Returns the last element of the sequence.
+
+ The input sequence.
+
+ The last element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have any elements.
+
+
+ Returns the first element of the sequence.
+
+ The input sequence.
+
+ The first element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have any elements.
+
+
+ Applies a key-generating function to each element of a sequence and yields a sequence of
+ unique keys. Each unique key contains a sequence of all elements that match
+ to this key.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ A function that transforms an element of the sequence into a comparable key.
+ The input sequence.
+
+ The result sequence.
+
+
+ Tests the all pairs of elements drawn from the two sequences satisfy the
+ given predicate. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to test pairs of elements from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ True if all pairs satisfy the predicate; false otherwise.
+
+ Thrown when either of the input sequences is null.
+
+
+ Tests if all elements of the sequence satisfy the given predicate.
+
+ The predicate is applied to the elements of the input sequence. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+
+ A function to test an element of the input sequence.
+ The input sequence.
+
+ True if every element of the sequence satisfies the predicate; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f (... (f s i0)...) iN
+
+ A function that updates the state with each element from the sequence.
+ The initial state.
+ The input sequence.
+
+ The state object after the folding function is applied to each element of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the index of the first element for which the given function returns true.
+
+ A function to test whether the index of a particular element should be returned.
+ The input sequence.
+
+ The index of the first element for which the predicate returns true.
+
+ Thrown if no element returns true when
+ evaluated by the predicate
+ Thrown when the input sequence is null
+
+
+ Returns the first element for which the given function returns true.
+
+ A function to test whether an item in the sequence should be returned.
+ The input sequence.
+
+ The first element for which the predicate returns true.
+
+ Thrown if no element returns true when
+ evaluated by the predicate
+ Thrown when the input sequence is null
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true".
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A synonym for Seq.filter.
+
+ A function to test whether each item in the input sequence should be included in the output.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true". This is a synonym for Seq.where.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A function to test whether each item in the input sequence should be included in the output.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Tests if any pair of corresponding elements of the input sequences satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two sequences up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, false is returned. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to test each pair of items from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ True if any result from the predicate is true; false otherwise.
+
+ Thrown when either of the two input sequences is null.
+
+
+ Tests if any element of the sequence satisfies the given predicate.
+
+ The predicate is applied to the elements of the input sequence. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+
+ A function to test each item of the input sequence.
+ The input sequence.
+
+ True if any result from the predicate is true; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Creates an empty sequence.
+
+ An empty sequence.
+
+
+ Returns a sequence that contains no duplicate entries according to the
+ generic hash and equality comparisons on the keys returned by the given key-generating function.
+ If an element occurs multiple times in the sequence then the later occurrences are discarded.
+
+ A function transforming the sequence items into comparable keys.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that contains no duplicate entries according to generic hash and
+ equality comparisons on the entries.
+ If an element occurs multiple times in the sequence then the later occurrences are discarded.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that is built from the given delayed specification of a
+ sequence.
+
+ The input function is evaluated each time an IEnumerator for the sequence
+ is requested.
+
+ The generating function for the sequence.
+
+
+ Applies a key-generating function to each element of a sequence and return a sequence yielding unique
+ keys and their number of occurrences in the original sequence.
+
+ Note that this function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ A function transforming each item of input sequence into a key to be
+ compared against the others.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Combines the given enumeration-of-enumerations as a single concatenated
+ enumeration.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The input enumeration-of-enumerations.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Compares two sequences using the given comparison function, element by element.
+ Returns the first non-zero result from the comparison function. If the end of a sequence
+ is reached it returns a -1 if the first sequence is shorter and a 1 if the second sequence
+ is shorter.
+
+ A function that takes an element from each sequence and returns an int.
+ If it evaluates to a non-zero value iteration is stopped and that value is returned.
+ The first input sequence.
+ The second input sequence.
+
+ The first non-zero value from the comparison function.
+
+ Thrown when either of the input sequences
+ is null.
+
+
+ Applies the given function to each element of the sequence and concatenates all the
+ results.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A function to transform elements of the input sequence into the sequences
+ that will then be concatenated.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to each element of the list. Return
+ the list comprised of the results "x" for each element where
+ the function returns Some(x).
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not
+ be accessed concurrently.
+
+ A function to transform items of type T into options of type U.
+ The input sequence of type T.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Wraps a loosely-typed System.Collections sequence as a typed sequence.
+
+ The use of this function usually requires a type annotation.
+ An incorrect type annotation may result in runtime type
+ errors.
+ Individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that corresponds to a cached version of the input sequence.
+ This result sequence will have the same elements as the input sequence. The result
+ can be enumerated multiple times. The input sequence will be enumerated at most
+ once and only as far as is necessary. Caching a sequence is typically useful when repeatedly
+ evaluating items in the original sequence is computationally expensive or if
+ iterating the sequence causes side-effects that the user does not want to be
+ repeated multiple times.
+
+ Enumeration of the result sequence is thread safe in the sense that multiple independent IEnumerator
+ values may be used simultaneously from different threads (accesses to
+ the internal lookaside table are thread safe). Each individual IEnumerator
+ is not typically thread safe and should not be accessed concurrently.
+
+ Once enumeration of the input sequence has started,
+ it's enumerator will be kept live by this object until the enumeration has completed.
+ At that point, the enumerator will be disposed.
+
+ The enumerator may be disposed and underlying cache storage released by
+ converting the returned sequence object to type IDisposable, and calling the Dispose method
+ on this object. The sequence object may then be re-enumerated and a fresh enumerator will
+ be used.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the average of the results generated by applying the function to each element
+ of the sequence.
+
+ The elements are averaged using the + operator, DivideByInt method and Zero property
+ associated with the generated type.
+
+ A function applied to transform each element of the sequence.
+ The input sequence.
+
+ The average.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence has zero elements.
+
+
+ Returns the average of the elements in the sequence.
+
+ The elements are averaged using the + operator, DivideByInt method and Zero property
+ associated with the element type.
+
+ The input sequence.
+
+ The average.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence has zero elements.
+
+
+ Wraps the two given enumerations as a single concatenated
+ enumeration.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed
+ concurrently.
+
+ The first sequence.
+ The second sequence.
+
+ The result sequence.
+
+ Thrown when either of the two provided sequences is
+ null.
+
+
+ Basic operations on IEnumerables.
+
+
+ Returns a new set with the elements of the second set removed from the first.
+ The first input set.
+ The set whose elements will be removed from set1.
+ The set with the elements of set2 removed from set1.
+
+
+ Builds a new collection from the given enumerable object.
+ The input sequence.
+ The set containing elements.
+
+
+ Returns an ordered view of the collection as an enumerable object.
+ The input set.
+ An ordered sequence of the elements of set.
+
+
+ Builds an array that contains the elements of the set in order.
+ The input set.
+ An ordered array of the elements of set.
+
+
+ Builds a set that contains the same elements as the given array.
+ The input array.
+ A set containing the elements of array.
+
+
+ Builds a list that contains the elements of the set in order.
+ The input set.
+ An ordered list of the elements of set.
+
+
+ Builds a set that contains the same elements as the given list.
+ The input list.
+ A set containing the elements form the input list.
+
+
+ Returns the highest element in the set according to the ordering being used for the set.
+ The input set.
+ The max value from the set.
+
+
+ Returns the lowest element in the set according to the ordering being used for the set.
+ The input set.
+ The min value from the set.
+
+
+ Returns a new set with the given element removed. No exception is raised if
+ the set doesn't contain the given element.
+ The element to remove.
+ The input set.
+ The input set with value removed.
+
+
+ Splits the set into two sets containing the elements for which the given predicate
+ returns true and false respectively.
+ The function to test set elements.
+ The input set.
+ A pair of sets with the first containing the elements for which predicate returns
+ true and the second containing the elements for which predicate returns false.
+
+
+ Applies the given function to each element of the set, in order according
+ to the comparison function.
+ The function to apply to each element.
+ The input set.
+
+
+ Returns "true" if the set is empty.
+ The input set.
+ True if set is empty.
+
+
+ Computes the union of a sequence of sets.
+ The sequence of sets to untion.
+ The union of the input sets.
+
+
+ Computes the union of the two sets.
+ The first input set.
+ The second input set.
+ The union of set1 and set2.
+
+
+ Computes the intersection of a sequence of sets. The sequence must be non-empty.
+ The sequence of sets to intersect.
+ The intersection of the input sets.
+
+
+ Computes the intersection of the two sets.
+ The first input set.
+ The second input set.
+ The intersection of set1 and set2.
+
+
+ Tests if all elements of the collection satisfy the given predicate.
+ If the input function is f and the elements are i0...iN and "j0...jN"
+ then computes p i0 && ... && p iN.
+ The function to test set elements.
+ The input set.
+ True if all elements of set satisfy predicate.
+
+
+ Applies the given accumulating function to all the elements of the set.
+ The accumulating function.
+ The input set.
+ The initial state.
+ The final state.
+
+
+ Applies the given accumulating function to all the elements of the set
+ The accumulating function.
+ The initial state.
+ The input set.
+ The final state.
+
+
+ Returns a new collection containing the results of applying the
+ given function to each element of the input set.
+ The function to transform elements of the input set.
+ The input set.
+ A set containing the transformed elements.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns true.
+ The function to test set elements.
+ The input set.
+ The set containing only the elements for which predicate returns true.
+
+
+ Tests if any element of the collection satisfies the given predicate.
+ If the input function is predicate and the elements are i0...iN
+ then computes p i0 or ... or p iN.
+ The function to test set elements.
+ The input set.
+ True if any element of set satisfies predicate.
+
+
+ Returns the number of elements in the set. Same as size.
+ The input set.
+ The number of elements in the set.
+
+
+ Evaluates to "true" if all elements of the second set are in the first, and at least
+ one element of the first is not in the second.
+ The potential superset.
+ The set to test against.
+ True if set1 is a proper superset of set2.
+
+
+ Evaluates to "true" if all elements of the second set are in the first.
+ The potential superset.
+ The set to test against.
+ True if set1 is a superset of set2.
+
+
+ Evaluates to "true" if all elements of the first set are in the second, and at least
+ one element of the second is not in the first.
+ The potential subset.
+ The set to test against.
+ True if set1 is a proper subset of set2.
+
+
+ Evaluates to "true" if all elements of the first set are in the second
+ The potential subset.
+ The set to test against.
+ True if set1 is a subset of set2.
+
+
+ Evaluates to "true" if the given element is in the given set.
+ The element to test.
+ The input set.
+ True if element is in set.
+
+
+ Returns a new set with an element added to the set. No exception is raised if
+ the set already contains the given element.
+ The value to add.
+ The input set.
+ A new set containing value.
+
+
+ The set containing the given element.
+ The value for the set to contain.
+ The set containing value.
+
+
+ The empty set for the type 'T.
+
+
+ Functional programming operators related to the Set<_> type.
+
+
+ Gets the default cancellation token for executing asynchronous computations.
+ The default CancellationToken.
+
+
+ Creates an asynchronous computation that returns the CancellationToken governing the execution
+ of the computation.
+ In async { let! token = Async.CancellationToken ...} token can be used to initiate other
+ asynchronous operations that will cancel cooperatively with this workflow.
+ An asynchronous computation capable of retrieving the CancellationToken from a computation
+ expression.
+
+
+ Creates an asynchronous computation that executes computation.
+ If this computation is cancelled before it completes then the computation generated by
+ running compensation is executed.
+ The input asynchronous computation.
+ The function to be run if the computation is cancelled.
+ An asynchronous computation that runs the compensation if the input computation
+ is cancelled.
+
+
+ Creates an asynchronous computation that queues a work item that runs
+ its continuation.
+ A computation that generates a new work item in the thread pool.
+
+
+ Creates an asynchronous computation that creates a new thread and runs
+ its continuation in that thread.
+ A computation that will execute on a new thread.
+
+
+ Creates an asynchronous computation that runs
+ its continuation using syncContext.Post. If syncContext is null
+ then the asynchronous computation is equivalent to SwitchToThreadPool().
+ The synchronization context to accept the posted computation.
+ An asynchronous computation that uses the syncContext context to execute.
+
+
+ Runs an asynchronous computation, starting immediately on the current operating system
+ thread. Call one of the three continuations when the operation completes.
+ If no cancellation token is provided then the default cancellation token
+ is used.
+ The asynchronous computation to execute.
+ The function called on success.
+ The function called on exception.
+ The function called on cancellation.
+ The CancellationToken to associate with the computation.
+ The default is used if this parameter is not provided.
+
+
+ Runs an asynchronous computation, starting immediately on the current operating system
+ thread.
+ If no cancellation token is provided then the default cancellation token is used.
+ The asynchronous computation to execute.
+ The CancellationToken to associate with the computation.
+ The default is used if this parameter is not provided.
+
+
+ Creates an asynchronous computation which starts the given computation as a System.Threading.Tasks.Task
+
+
+ Starts a child computation within an asynchronous workflow.
+ This allows multiple asynchronous computations to be executed simultaneously.
+
+ This method should normally be used as the immediate
+ right-hand-side of a let! binding in an F# asynchronous workflow, that is,
+
+ async { ...
+ let! completor1 = childComputation1 |> Async.StartChild
+ let! completor2 = childComputation2 |> Async.StartChild
+ ...
+ let! result1 = completor1
+ let! result2 = completor2
+ ... }
+
+ When used in this way, each use of StartChild starts an instance of childComputation
+ and returns a completor object representing a computation to wait for the completion of the operation.
+ When executed, the completor awaits the completion of childComputation.
+ The child computation.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ A new computation that waits for the input computation to finish.
+
+
+ Executes a computation in the thread pool.
+ If no cancellation token is provided then the default cancellation token is used.
+ A System.Threading.Tasks.Task that will be completed
+ in the corresponding state once the computation terminates (produces the result, throws exception or gets canceled)
+
+
+
+ Starts the asynchronous computation in the thread pool. Do not await its result.
+
+ If no cancellation token is provided then the default cancellation token is used.
+ The computation to run asynchronously.
+ The cancellation token to be associated with the computation.
+ If one is not supplied, the default cancellation token is used.
+
+
+ Creates an asynchronous computation that will sleep for the given time. This is scheduled
+ using a System.Threading.Timer object. The operation will not block operating system threads
+ for the duration of the wait.
+ The number of milliseconds to sleep.
+ An asynchronous computation that will sleep for the given time.
+ Thrown when the due time is negative
+ and not infinite.
+
+
+ Runs the asynchronous computation and await its result.
+
+ If an exception occurs in the asynchronous computation then an exception is re-raised by this
+ function.
+
+ If no cancellation token is provided then the default cancellation token is used.
+
+ The timeout parameter is given in milliseconds. A value of -1 is equivalent to
+ System.Threading.Timeout.Infinite.
+ The computation to run.
+ The amount of time in milliseconds to wait for the result of the
+ computation before raising a System.TimeoutException. If no value is provided
+ for timeout then a default of -1 is used to correspond to System.Threading.Timeout.Infinite.
+ The cancellation token to be associated with the computation.
+ If one is not supplied, the default cancellation token is used.
+ The result of the computation.
+
+
+ Creates an asynchronous computation that executes all the given asynchronous computations,
+ initially queueing each as work items and using a fork/join pattern.
+
+ If all child computations succeed, an array of results is passed to the success continuation.
+
+ If any child computation raises an exception, then the overall computation will trigger an
+ exception, and cancel the others.
+
+ The overall computation will respond to cancellation while executing the child computations.
+ If cancelled, the computation will cancel any remaining child computations but will still wait
+ for the other child computations to complete.
+ A sequence of distinct computations to be parallelized.
+ A computation that returns an array of values from the sequence of input computations.
+
+
+ Generates a scoped, cooperative cancellation handler for use within an asynchronous workflow.
+
+ For example,
+ async { use! holder = Async.OnCancel interruption ... }
+ generates an asynchronous computation where, if a cancellation happens any time during
+ the execution of the asynchronous computation in the scope of holder, then action
+ interruption is executed on the thread that is performing the cancellation. This can
+ be used to arrange for a computation to be asynchronously notified that a cancellation
+ has occurred, e.g. by setting a flag, or deregistering a pending I/O action.
+ The function that is executed on the thread performing the
+ cancellation.
+ An asynchronous computation that triggers the interruption if it is cancelled
+ before being disposed.
+
+
+ Creates an asynchronous computation that runs the given computation and ignores
+ its result.
+ The input computation.
+ A computation that is equivalent to the input computation, but disregards the result.
+
+
+ Creates an asynchronous computation that captures the current
+ success, exception and cancellation continuations. The callback must
+ eventually call exactly one of the given continuations.
+ The function that accepts the current success, exception, and cancellation
+ continuations.
+ An asynchronous computation that provides the callback with the current continuations.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by three arguments. For example,
+ Async.FromBeginEnd(arg1,arg2,arg3,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The first argument for the operation.
+ The second argument for the operation.
+ The third argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by two arguments. For example,
+ Async.FromBeginEnd(arg1,arg2,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The first argument for the operation.
+ The second argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by one argument. For example,
+ Async.FromBeginEnd(place,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. For example,
+ Async.FromBeginEnd(ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation that executes computation.
+ If this computation completes successfully then return Choice1Of2 with the returned
+ value. If this computation raises an exception before it completes then return Choice2Of2
+ with the raised exception.
+ The input computation that returns the type T.
+ A computation that returns a choice of type T or exception.
+
+
+ Raises the cancellation condition for the most recent set of asynchronous computations started
+ without any specific CancellationToken. Replaces the global CancellationTokenSource with a new
+ global token source for any asynchronous computations created after this point without any
+ specific CancellationToken.
+
+
+ Creates an asynchronous computation that will wait on the given WaitHandle.
+
+ The computation returns true if the handle indicated a result within the given timeout.
+ The WaitHandle that can be signalled.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ An asynchronous computation that waits on the given WaitHandle.
+
+
+
+ Return an asynchronous computation that will wait for the given task to complete and return
+ its result.
+
+
+
+ Creates an asynchronous computation that will wait on the IAsyncResult.
+
+ The computation returns true if the handle indicated a result within the given timeout.
+ The IAsyncResult to wait on.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ An asynchronous computation that waits on the given IAsyncResult.
+
+
+ Creates an asynchronous computation that waits for a single invocation of a CLI
+ event by adding a handler to the event. Once the computation completes or is
+ cancelled, the handler is removed from the event.
+
+ The computation will respond to cancellation while waiting for the event. If a
+ cancellation occurs, and cancelAction is specified, then it is executed, and
+ the computation continues to wait for the event.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to cancel immediately.
+ The event to handle once.
+ An optional function to execute instead of cancelling when a
+ cancellation is issued.
+ An asynchronous computation that waits for the event to be invoked.
+
+
+ Creates three functions that can be used to implement the .NET Asynchronous
+ Programming Model (APM) for a given asynchronous computation.
+
+ The functions should normally be published as members with prefix Begin,
+ End and Cancel, and can be used within a type definition as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg -> computation)
+ member x.BeginSomeOperation(arg,callback,state:obj) = beginAction(arg,callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+ If the asynchronous computation takes no arguments, then AsBeginEnd is used as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun () -> computation)
+ member x.BeginSomeOperation(callback,state:obj) = beginAction((),callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+
+ If the asynchronous computation takes two arguments, then AsBeginEnd is used as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg1 arg2 -> computation)
+ member x.BeginSomeOperation(arg1,arg2,callback,state:obj) = beginAction((),callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+ In each case, the resulting API will be familiar to programmers in other CLI languages and
+ is a useful way to publish asynchronous computations in CLI components.
+ A function generating the asynchronous computation to split into the traditional
+ .NET Asynchronous Programming Model.
+ A tuple of the begin, end, and cancel members.
+
+
+ This static class holds members for creating and manipulating asynchronous computations.
+
+
+ Creates an asynchronous computation that just returns ().
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of empty else branches in the
+ async { ... } computation expression syntax.
+ An asynchronous computation that returns ().
+
+
+ Creates an asynchronous computation that runs computation repeatedly
+ until guard() becomes false.
+
+ A cancellation check is performed whenever the computation is executed.
+
+ The existence of this method permits the use of while in the
+ async { ... } computation expression syntax.
+ The function to determine when to stop executing computation.
+ The function to be executed. Equivalent to the body
+ of a while expression.
+ An asynchronous computation that behaves similarly to a while loop when run.
+
+
+ Creates an asynchronous computation that runs binder(resource).
+ The action resource.Dispose() is executed as this computation yields its result
+ or if the asynchronous computation exits by an exception or by cancellation.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of use and use! in the
+ async { ... } computation expression syntax.
+ The resource to be used and disposed.
+ The function that takes the resource and returns an asynchronous
+ computation.
+ An asynchronous computation that binds and eventually disposes resource.
+
+
+ Creates an asynchronous computation that runs computation and returns its result.
+ If an exception happens then catchHandler(exn) is called and the resulting computation executed instead.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of try/with in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The function to run when computation throws an exception.
+ An asynchronous computation that executes computation and calls catchHandler if an
+ exception is thrown.
+
+
+ Creates an asynchronous computation that runs computation. The action compensation is executed
+ after computation completes, whether computation exits normally or by an exception. If compensation raises an exception itself
+ the original exception is discarded and the new exception becomes the overall result of the computation.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of try/finally in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The action to be run after computation completes or raises an
+ exception (including cancellation).
+ An asynchronous computation that executes computation and compensation aftewards or
+ when an exception is raised.
+
+
+ Delegates to the input computation.
+
+ The existence of this method permits the use of return! in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The input computation.
+
+
+ Creates an asynchronous computation that returns the result v.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of return in the
+ async { ... } computation expression syntax.
+ The value to return from the computation.
+ An asynchronous computation that returns value when executed.
+
+
+ Creates an asynchronous computation that enumerates the sequence seq
+ on demand and runs body for each element.
+
+ A cancellation check is performed on each iteration of the loop.
+
+ The existence of this method permits the use of for in the
+ async { ... } computation expression syntax.
+ The sequence to enumerate.
+ A function to take an item from the sequence and create
+ an asynchronous computation. Can be seen as the body of the for expression.
+ An asynchronous computation that will enumerate the sequence and run body
+ for each element.
+
+
+ Creates an asynchronous computation that runs generator.
+
+ A cancellation check is performed when the computation is executed.
+ The function to run.
+ An asynchronous computation that runs generator.
+
+
+ Creates an asynchronous computation that first runs computation1
+ and then runs computation2, returning the result of computation2.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of expression sequencing in the
+ async { ... } computation expression syntax.
+ The first part of the sequenced computation.
+ The second part of the sequenced computation.
+ An asynchronous computation that runs both of the computations sequentially.
+
+
+ Creates an asynchronous computation that runs computation, and when
+ computation generates a result T, runs binder res.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of let! in the
+ async { ... } computation expression syntax.
+ The computation to provide an unbound result.
+ The function to bind the result of computation.
+ An asynchronous computation that performs a monadic bind on the result
+ of computation.
+
+
+
+ Generate an object used to build asynchronous computations using F# computation expressions. The value
+ 'async' is a pre-defined instance of this type.
+
+ A cancellation check is performed when the computation is executed.
+
+
+
+ The type of the async operator, used to build workflows for asynchronous computations.
+
+
+ Sends a reply to a PostAndReply message.
+ The value to send.
+
+
+ A handle to a capability to reply to a PostAndReply message.
+
+
+ A compositional asynchronous computation, which, when run, will eventually produce a value
+ of type T, or else raises an exception.
+
+ Asynchronous computations are normally specified using an F# computation expression.
+
+ When run, asynchronous computations have two modes: as a work item (executing synchronous
+ code), or as a wait item (waiting for an event or I/O completion).
+
+ When run, asynchronous computations can be governed by CancellationToken. This can usually
+ be specified when the async computation is started. The associated CancellationTokenSource
+ may be used to cancel the asynchronous computation. Asynchronous computations built using
+ computation expressions can check the cancellation condition regularly. Synchronous
+ computations within an asynchronous computation do not automatically check this condition.
+
+
+ Publishes the event as a first class event value.
+
+
+ Triggers the event using the given parameters.
+ The parameters for the event.
+
+
+ Creates an event object suitable for implementing an arbitrary type of delegate.
+ The event object.
+
+
+ Event implementations for an arbitrary type of delegate.
+
+
+ Publishes an observation as a first class value.
+
+
+ Triggers an observation using the given parameters.
+ The event parameters.
+
+
+ Creates an observable object.
+ The created event.
+
+
+ Event implementations for the IEvent<_> type.
+
+
+ Publishes the event as a first class event value.
+
+
+ Triggers the event using the given sender object and parameters. The sender object may be null.
+ The object triggering the event.
+ The parameters for the event.
+
+
+ Creates an event object suitable for delegate types following the standard .NET Framework convention of a first 'sender' argument.
+ The created event.
+
+
+ Event implementations for a delegate types following the standard .NET Framework convention of a first 'sender' argument.
+
+
+
+
+
+ A delegate type associated with the F# event type IEvent<_>
+ The object that fired the event.
+ The event arguments.
+
+
+ Remove a listener delegate from an event listener store.
+ The delegate to be removed from the event listener store.
+
+
+ Connect a handler delegate object to the event. A handler can
+ be later removed using RemoveHandler. The listener will
+ be invoked when the event is fired.
+ A delegate to be invoked when the event is fired.
+
+
+ First class event values for arbitrary delegate types.
+
+ F# gives special status to member properties compatible with type IDelegateEvent and
+ tagged with the CLIEventAttribute. In this case the F# compiler generates approriate
+ CLI metadata to make the member appear to other CLI languages as a CLI event.
+
+
+ First-class listening points (i.e. objects that permit you to register a callback
+ activated when the event is triggered).
+
+
+ First class event values for CLI events conforming to CLI Framework standards.
+
+
+ The type of delayed computations.
+
+ Use the values in the Lazy module to manipulate
+ values of this type, and the notation lazy expr to create values
+ of type .
+
+
+ Raises a timeout exception if a message not received in this amount of time. By default
+ no timeout is used.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Raises a timeout exception if a message not received in this amount of time. By default
+ no timeout is used.
+
+
+ Returns the number of unprocessed messages in the message queue of the agent.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Scans for a message by looking through messages in arrival order until scanner
+ returns a Some value. Other messages remain in the queue.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ The function to return None if the message is to be skipped
+ or Some if the message is to be processed and removed from the queue.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that scanner built off the read message.
+
+
+ Waits for a message. This will consume the first message in arrival order.
+
+ This method is for use within the body of the agent.
+
+ Returns None if a timeout is given and the timeout is exceeded.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ An optional timeout in milliseconds. Defaults to -1 which
+ corresponds to System.Threading.Timeout.Infinite.
+ An asynchronous computation that returns the received message or
+ None if the timeout is exceeded.
+
+
+ Like PostAndReply, but returns None if no reply within the timeout period.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ The reply from the agent or None if the timeout expires.
+
+
+ Starts the agent.
+
+
+ Creates and starts an agent. The body function is used to generate the asynchronous
+ computation executed by the agent.
+ The function to produce an asynchronous computation that will be executed
+ as the read loop for the MailboxProcessor when Start is called.
+ An optional cancellation token for the body.
+ Defaults to Async.DefaultCancellationToken.
+ The created MailboxProcessor.
+
+
+ Scans for a message by looking through messages in arrival order until scanner
+ returns a Some value. Other messages remain in the queue.
+
+ Returns None if a timeout is given and the timeout is exceeded.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ The function to return None if the message is to be skipped
+ or Some if the message is to be processed and removed from the queue.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that scanner built off the read message.
+ Thrown when the timeout is exceeded.
+
+
+ Waits for a message. This will consume the first message in arrival order.
+
+ This method is for use within the body of the agent.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that returns the received message.
+ Thrown when the timeout is exceeded.
+
+
+ Like AsyncPostAndReply, but returns None if no reply within the timeout period.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ An asynchronous computation that will return the reply or None if the timeout expires.
+
+
+ Posts a message to an agent and await a reply on the channel, synchronously.
+
+ The message is generated by applying buildMessage to a new reply channel
+ to be incorporated into the message. The receiving agent must process this
+ message and invoke the Reply method on this reply channel precisely once.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ The reply from the agent.
+
+
+ Posts a message to an agent and await a reply on the channel, asynchronously.
+
+ The message is generated by applying buildMessage to a new reply channel
+ to be incorporated into the message. The receiving agent must process this
+ message and invoke the Reply method on this reply channel precisely once.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ An asychronous computation that will wait for the reply from the agent.
+
+
+ Posts a message to the message queue of the MailboxProcessor, asynchronously.
+ The message to post.
+
+
+ Creates an agent. The body function is used to generate the asynchronous
+ computation executed by the agent. This function is not executed until
+ Start is called.
+ The function to produce an asynchronous computation that will be executed
+ as the read loop for the MailboxProcessor when Start is called.
+ An optional cancellation token for the body.
+ Defaults to Async.DefaultCancellationToken.
+ The created MailboxProcessor.
+
+
+ A message-processing agent which executes an asynchronous computation.
+
+ The agent encapsulates a message queue that supports multiple-writers and
+ a single reader agent. Writers send messages to the agent by using the Post
+ method and its variations.
+
+ The agent may wait for messages using the Receive or TryReceive methods or
+ scan through all available messages using the Scan or TryScan method.
+
+
+
+
+
+ Connects a listener function to the observable. The listener will
+ be invoked for each observation. The listener can be removed by
+ calling Dispose on the returned IDisposable object.
+ The function to be called for each observation.
+ An object that will remove the listener if disposed.
+
+
+ Permanently connects a listener function to the observable. The listener will
+ be invoked for each observation.
+ The function to be called for each observation.
+
+
+ Returns an asynchronous computation that will write the given bytes to the stream.
+ The buffer to write from.
+ An optional offset as a number of bytes in the stream.
+ An optional number of bytes to write to the stream.
+ An asynchronous computation that will write the given bytes to the stream.
+ Thrown when the sum of offset and count is longer than
+ the buffer length.
+ Thrown when offset or count is negative.
+
+
+ Returns an asynchronous computation that will read the given number of bytes from the stream.
+ The number of bytes to read.
+ An asynchronous computation that returns the read byte[] when run.
+
+
+ Returns an asynchronous computation that will read from the stream into the given buffer.
+ The buffer to read into.
+ An optional offset as a number of bytes in the stream.
+ An optional number of bytes to read from the stream.
+ An asynchronous computation that will read from the stream into the given buffer.
+ Thrown when the sum of offset and count is longer than
+ the buffer length.
+ Thrown when offset or count is negative.
+
+
+ A module of extension members providing asynchronous operations for some basic CLI types related to concurrency and I/O.
+
+
+ Returns a new event that triggers on the second and subsequent triggerings of the input event.
+ The Nth triggering of the input event passes the arguments from the N-1th and Nth triggering as
+ a pair. The argument passed to the N-1th triggering is held in hidden internal state until the
+ Nth triggering occurs.
+ The input event.
+ An event that triggers on pairs of consecutive values passed from the source event.
+
+
+ Runs the given function each time the given event is triggered.
+ The function to call when the event is triggered.
+ The input event.
+
+
+ Returns a new event consisting of the results of applying the given accumulating function
+ to successive values triggered on the input event. An item of internal state
+ records the current value of the state parameter. The internal state is not locked during the
+ execution of the accumulation function, so care should be taken that the
+ input IEvent not triggered by multiple threads simultaneously.
+ The function to update the state with each event value.
+ The initial state.
+ The input event.
+ An event that fires on the updated state values.
+
+
+ Returns a new event which fires on a selection of messages from the original event.
+ The selection function takes an original message to an optional new message.
+ The function to select and transform event values to pass on.
+ The input event.
+ An event that fires only when the chooser returns Some.
+
+
+ Returns a new event that listens to the original event and triggers the
+ first resulting event if the application of the function to the event arguments
+ returned a Choice1Of2, and the second event if it returns a Choice2Of2.
+ The function to transform event values into one of two types.
+ The input event.
+ A tuple of events. The first fires whenever splitter evaluates to Choice1of1 and
+ the second fires whenever splitter evaluates to Choice2of2.
+
+
+ Returns a new event that listens to the original event and triggers the
+ first resulting event if the application of the predicate to the event arguments
+ returned true, and the second event if it returned false.
+ The function to determine which output event to trigger.
+ The input event.
+ A tuple of events. The first is triggered when the predicate evaluates to true
+ and the second when the predicate evaluates to false.
+
+
+ Returns a new event that listens to the original event and triggers the resulting
+ event only when the argument to the event passes the given function.
+ The function to determine which triggers from the event to propagate.
+ The input event.
+ An event that only passes values that pass the predicate.
+
+
+ Returns a new event that passes values transformed by the given function.
+ The function to transform event values.
+ The input event.
+ An event that passes the transformed values.
+
+
+ Fires the output event when either of the input events fire.
+ The first input event.
+ The second input event.
+ An event that fires when either of the input events fire.
+
+
+
+
+
+ Forces the execution of this value and return its result. Same as Value. Mutual exclusion is used to
+ prevent other threads also computing the value.
+ The value of the Lazy object.
+
+
+ Creates a lazy computation that evaluates to the given value when forced.
+ The input value.
+ The created Lazy object.
+
+
+ Creates a lazy computation that evaluates to the result of the given function when forced.
+ The function to provide the value when needed.
+ The created Lazy object.
+
+
+ Extensions related to Lazy values.
+
+
+ Returns a new observable that triggers on the second and subsequent triggerings of the input observable.
+ The Nth triggering of the input observable passes the arguments from the N-1th and Nth triggering as
+ a pair. The argument passed to the N-1th triggering is held in hidden internal state until the
+ Nth triggering occurs.
+
+ For each observer, the registered intermediate observing object is not thread safe.
+ That is, observations arising from the source must not be triggered concurrently
+ on different threads.
+ The input Observable.
+ An Observable that triggers on successive pairs of observations from the input Observable.
+
+
+ Creates an observer which subscribes to the given observable and which calls
+ the given function for each observation.
+ The function to be called on each observation.
+ The input Observable.
+ An object that will remove the callback if disposed.
+
+
+ Creates an observer which permanently subscribes to the given observable and which calls
+ the given function for each observation.
+ The function to be called on each observation.
+ The input Observable.
+
+
+ Returns an observable which, for each observer, allocates an item of state
+ and applies the given accumulating function to successive values arising from
+ the input. The returned object will trigger observations for each computed
+ state value, excluding the initial value. The returned object propagates
+ all errors arising from the source and completes when the source completes.
+
+ For each observer, the registered intermediate observing object is not thread safe.
+ That is, observations arising from the source must not be triggered concurrently
+ on different threads.
+ The function to update the state with each observation.
+ The initial state.
+ The input Observable.
+ An Observable that triggers on the updated state values.
+
+
+ Returns an observable which chooses a projection of observations from the source
+ using the given function. The returned object will trigger observations x
+ for which the splitter returns Some x. The returned object also propagates
+ all errors arising from the source and completes when the source completes.
+ The function that returns Some for observations to be propagated
+ and None for observations to ignore.
+ The input Observable.
+ An Observable that only propagates some of the observations from the source.
+
+
+ Returns two observables which split the observations of the source by the
+ given function. The first will trigger observations x for which the
+ splitter returns Choice1Of2 x. The second will trigger observations
+ y for which the splitter returns Choice2Of2 y The splitter is
+ executed once for each subscribed observer. Both also propagate error
+ observations arising from the source and each completes when the source
+ completes.
+ The function that takes an observation an transforms
+ it into one of the two output Choice types.
+ The input Observable.
+ A tuple of Observables. The first triggers when splitter returns Choice1of2
+ and the second triggers when splitter returns Choice2of2.
+
+
+ Returns two observables which partition the observations of the source by
+ the given function. The first will trigger observations for those values
+ for which the predicate returns true. The second will trigger observations
+ for those values where the predicate returns false. The predicate is
+ executed once for each subscribed observer. Both also propagate all error
+ observations arising from the source and each completes when the source
+ completes.
+ The function to determine which output Observable will trigger
+ a particular observation.
+ The input Observable.
+ A tuple of Observables. The first triggers when the predicate returns true, and
+ the second triggers when the predicate returns false.
+
+
+ Returns an observable which filters the observations of the source
+ by the given function. The observable will see only those observations
+ for which the predicate returns true. The predicate is executed once for
+ each subscribed observer. The returned object also propagates error
+ observations arising from the source and completes when the source completes.
+ The function to apply to observations to determine if it should
+ be kept.
+ The input Observable.
+ An Observable that filters observations based on filter.
+
+
+ Returns an observable which transforms the observations of the source by the
+ given function. The transformation function is executed once for each
+ subscribed observer. The returned object also propagates error observations
+ arising from the source and completes when the source completes.
+ The function applied to observations from the source.
+ The input Observable.
+ An Observable of the type specified by mapping.
+
+
+ Returns an observable for the merged observations from the sources.
+ The returned object propagates success and error values arising
+ from either source and completes when both the sources have completed.
+
+ For each observer, the registered intermediate observing object is not
+ thread safe. That is, observations arising from the sources must not
+ be triggered concurrently on different threads.
+ The first Observable.
+ The second Observable.
+ An Observable that propagates information from both sources.
+
+
+ Basic operations on first class event and other observable objects.
+
+
+ Returns an asynchronous computation that, when run, will wait for the download of the given URI.
+ The URI to retrieve.
+ An asynchronous computation that will wait for the download of the URI.
+
+
+ Returns an asynchronous computation that, when run, will wait for a response to the given WebRequest.
+ An asynchronous computation that waits for response to the WebRequest.
+
+
+ A module of extension members providing asynchronous operations for some basic Web operations.
+
+
+ Creates an instance of the attribute
+ AbstractClassAttribute
+
+
+ Adding this attribute to class definition makes it abstract, which means it need not
+ implement all its methods. Instances of abstract classes may not be constructed directly.
+
+
+ Creates an instance of the attribute
+ AllowNullLiteralAttribute
+
+
+ Adding this attribute to a type lets the 'null' literal be used for the type
+ within F# code. This attribute may only be added to F#-defined class or
+ interface types.
+
+
+ Indicates the namespace or module to be automatically opened when an assembly is referenced
+ or an enclosing module opened.
+
+
+ Creates an attribute used to mark a namespace or module path to be 'automatically opened' when an assembly is referenced
+ The namespace or module to be automatically opened when an assembly is referenced
+ or an enclosing module opened.
+ AutoOpenAttribute
+
+
+ Creates an attribute used to mark a module as 'automatically opened' when the enclosing namespace is opened
+ AutoOpenAttribute
+
+
+ This attribute is used for two purposes. When applied to an assembly, it must be given a string
+ argument, and this argument must indicate a valid module or namespace in that assembly. Source
+ code files compiled with a reference to this assembly are processed in an environment
+ where the given path is automatically oepned.
+
+ When applied to a module within an assembly, then the attribute must not be given any arguments.
+ When the enclosing namespace is opened in user source code, the module is also implicitly opened.
+
+
+ The value of the attribute, indicating whether the type is automatically marked serializable or not
+
+
+ Creates an instance of the attribute
+ Indicates whether the type should be serializable by default.
+ AutoSerializableAttribute
+
+
+ Adding this attribute to a type with value 'false' disables the behaviour where F# makes the
+ type Serializable by default.
+
+
+ Creates an instance of the attribute
+ CLIEventAttribute
+
+
+ Adding this attribute to a property with event type causes it to be compiled with as a CLI
+ metadata event, through a syntactic translation to a pair of 'add_EventName' and
+ 'remove_EventName' methods.
+
+
+ Creates an instance of the attribute
+ CLIMutableAttribute
+
+
+ Adding this attribute to a record type causes it to be compiled to a CLI representation
+ with a default constructor with property getters and setters.
+
+
+ Choice 2 of 2 choices
+
+
+ Choice 1 of 2 choices
+
+
+ Helper types for active patterns with 2 choices.
+
+
+ Choice 3 of 3 choices
+
+
+ Choice 2 of 3 choices
+
+
+ Choice 1 of 3 choices
+
+
+ Helper types for active patterns with 3 choices.
+
+
+ Choice 4 of 4 choices
+
+
+ Choice 3 of 4 choices
+
+
+ Choice 2 of 4 choices
+
+
+ Choice 1 of 4 choices
+
+
+ Helper types for active patterns with 4 choices.
+
+
+ Choice 5 of 5 choices
+
+
+ Choice 4 of 5 choices
+
+
+ Choice 3 of 5 choices
+
+
+ Choice 2 of 5 choices
+
+
+ Choice 1 of 5 choices
+
+
+ Helper types for active patterns with 5 choices.
+
+
+ Choice 6 of 6 choices
+
+
+ Choice 5 of 6 choices
+
+
+ Choice 4 of 6 choices
+
+
+ Choice 3 of 6 choices
+
+
+ Choice 2 of 6 choices
+
+
+ Choice 1 of 6 choices
+
+
+ Helper types for active patterns with 6 choices.
+
+
+ Choice 7 of 7 choices
+
+
+ Choice 6 of 7 choices
+
+
+ Choice 5 of 7 choices
+
+
+ Choice 4 of 7 choices
+
+
+ Choice 3 of 7 choices
+
+
+ Choice 2 of 7 choices
+
+
+ Choice 1 of 7 choices
+
+
+ Helper types for active patterns with 7 choices.
+
+
+ Creates an instance of the attribute
+ ClassAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI class.
+
+
+ Creates an instance of the attribute
+ ComparisonConditionalOnAttribute
+
+
+ This attribute is used to indicate a generic container type satisfies the F# 'comparison'
+ constraint only if a generic argument also satisfies this constraint. For example, adding
+ this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports
+ comparison if the type X also supports comparison and all other conditions for C<X> to support
+ comparison are also met. The type C<'T> can still be used with other type arguments, but a type such
+ as C<(int -> int)> will not support comparison because the type (int -> int) is an F# function type
+ and does not support comparison.
+
+ This attribute will be ignored if it is used on the generic parameters of functions or methods.
+
+
+ Indicates the number of arguments in each argument group
+
+
+ Creates an instance of the attribute
+ Indicates the number of arguments in each argument group.
+ CompilationArgumentCountsAttribute
+
+
+ This attribute is generated automatically by the F# compiler to tag functions and members
+ that accept a partial application of some of their arguments and return a residual function
+
+
+ Indicates the variant number of the entity, if any, in a linear sequence of elements with F# source code
+
+
+ Indicates the relationship between the compiled entity and F# source code
+
+
+ Indicates the sequence number of the entity, if any, in a linear sequence of elements with F# source code
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ This attribute is inserted automatically by the F# compiler to tag types
+ and methods in the generated CLI code with flags indicating the correspondence
+ with original source constructs. It is used by the functions in the
+ Microsoft.FSharp.Reflection namespace to reverse-map compiled constructs to
+ their original forms. It is not intended for use from user code.
+
+
+ Indicates one or more adjustments to the compiled representation of an F# type or member
+
+
+ Creates an instance of the attribute
+ Indicates adjustments to the compiled representation of the type or member.
+ CompilationRepresentationAttribute
+
+
+ This attribute is used to adjust the runtime representation for a type.
+ For example, it may be used to note that the null representation
+ may be used for a type. This affects how some constructs are compiled.
+
+
+ Compile a property as a CLI event.
+
+
+ Permit the use of null as a representation for nullary discriminators in a discriminated union.
+
+
+ append 'Module' to the end of a module whose name clashes with a type name in the same namespace.
+
+
+ Compile a member as 'instance' even if null is used as a representation for this type.
+
+
+ Compile an instance member as 'static' .
+
+
+ No special compilation representation.
+
+
+
+
+
+ Indicates one or more adjustments to the compiled representation of an F# type or member.
+
+
+ Indicates the name of the entity in F# source code
+
+
+ Creates an instance of the attribute
+ The name of the method in source.
+ CompilationSourceNameAttribute
+
+
+ This attribute is inserted automatically by the F# compiler to tag
+ methods which are given the 'CompiledName' attribute. It is not intended
+ for use from user code.
+
+
+ The name of the value as it appears in compiled code
+
+
+ Creates an instance of the attribute
+ The name to use in compiled code.
+ CompiledNameAttribute
+
+
+ Adding this attribute to a value or function definition in an F# module changes the name used
+ for the value in compiled CLI code.
+
+
+ Indicates if the construct should always be hidden in an editing environment.
+
+
+ Indicates if the message should indicate a compiler error. Error numbers less than
+ 10000 are considered reserved for use by the F# compiler and libraries.
+
+
+ Indicates the number associated with the message.
+
+
+ Indicates the warning message to be emitted when F# source code uses this construct
+
+
+ Indicates if the construct should always be hidden in an editing environment.
+
+
+ Indicates if the message should indicate a compiler error. Error numbers less than
+ 10000 are considered reserved for use by the F# compiler and libraries.
+
+
+ Creates an instance of the attribute.
+
+
+ Indicates that a message should be emitted when F# source code uses this construct.
+
+
+ Creates an instance of the attribute
+ CustomComparisonAttribute
+
+
+ Adding this attribute to a type indicates it is a type with a user-defined implementation of comparison.
+
+
+ Creates an instance of the attribute
+ CustomEqualityAttribute
+
+
+ Adding this attribute to a type indicates it is a type with a user-defined implementation of equality.
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression
+
+
+ Indicates the name used for the 'on' part of the custom query operator for join-like operators
+
+
+ Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs
+
+
+ Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint
+
+
+ Indicates if the custom operation is an operation similar to a group join in a sequence computation, supporting two inputs and a correlation constraint, and generating a group
+
+
+ Indicates if the custom operation supports the use of 'into' immediately after the use of the operation in a query or other computation expression to consume the results of the operation
+
+
+ Get the name of the custom operation when used in a query or other computation expression
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression
+
+
+ Indicates the name used for the 'on' part of the custom query operator for join-like operators
+
+
+ Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs
+
+
+ Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint
+
+
+ Indicates if the custom operation is an operation similar to a group join in a sequence computation, supporting two inputs and a correlation constraint, and generating a group
+
+
+ Indicates if the custom operation supports the use of 'into' immediately after the use of the operation in a query or other computation expression to consume the results of the operation
+
+
+ Creates an instance of the attribute
+ CustomOperationAttribute
+
+
+
+ Indicates that a member on a computation builder type is a custom query operator,
+ and indicates the name of that operator.
+
+
+
+ The value of the attribute, indicating whether the type has a default augmentation or not
+
+
+ Creates an instance of the attribute
+ Indicates whether to generate helper members on the CLI class representing a discriminated
+ union.
+ DefaultAugmentationAttribute
+
+
+ Adding this attribute to a discriminated union with value false
+ turns off the generation of standard helper member tester, constructor
+ and accessor members for the generated CLI class for that type.
+
+
+ Indicates if a constraint is asserted that the field type supports 'null'
+
+
+ Creates an instance of the attribute
+ Indicates whether to assert that the field type supports null.
+ DefaultValueAttribute
+
+
+ Creates an instance of the attribute
+ DefaultValueAttribute
+
+
+ Adding this attribute to a field declaration means that the field is
+ not initialized. During type checking a constraint is asserted that the field type supports 'null'.
+ If the 'check' value is false then the constraint is not asserted.
+
+
+ Creates an instance of the attribute
+ EntryPointAttribute
+
+
+ Adding this attribute to a function indicates it is the entrypoint for an application.
+ If this attribute is not specified for an EXE then the initialization implicit in the
+ module bindings in the last file in the compilation sequence are used as the entrypoint.
+
+
+ Creates an instance of the attribute
+ EqualityConditionalOnAttribute
+
+
+ This attribute is used to indicate a generic container type satisfies the F# 'equality'
+ constraint only if a generic argument also satisfies this constraint. For example, adding
+ this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports
+ equality if the type X also supports equality and all other conditions for C<X> to support
+ equality are also met. The type C<'T> can still be used with other type arguments, but a type such
+ as C<(int -> int)> will not support equality because the type (int -> int) is an F# function type
+ and does not support equality.
+
+ This attribute will be ignored if it is used on the generic parameters of functions or methods.
+
+
+ Indicates the warning message to be emitted when F# source code uses this construct
+
+
+ Creates an instance of the attribute
+ The warning message to be emitted when code uses this construct.
+ ExperimentalAttribute
+
+
+ This attribute is used to tag values that are part of an experimental library
+ feature.
+
+
+ Convert an value of type System.Converter to a F# first class function value
+ The input System.Converter.
+ An F# function of the same type.
+
+
+ Convert an F# first class function value to a value of type System.Converter
+ The input function.
+ A System.Converter of the function type.
+
+
+ Convert an F# first class function value to a value of type System.Converter
+ The input function.
+ System.Converter<'T,'U>
+
+
+ Invoke an F# first class function value with two curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The function result.
+
+
+ Invoke an F# first class function value with three curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The function result.
+
+
+ Invoke an F# first class function value with four curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The function result.
+
+
+ Invoke an F# first class function value with five curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The fifth arg.
+ The function result.
+
+
+ Invoke an F# first class function value with one argument
+
+ 'U
+
+
+ Convert an value of type System.Converter to a F# first class function value
+ The input System.Converter.
+ An F# function of the same type.
+
+
+ Construct an instance of an F# first class function value
+ The created F# function.
+
+
+ The CLI type used to represent F# function values. This type is not
+ typically used directly, though may be used from other CLI languages.
+
+
+ The release number of the F# version associated with the attribute
+
+
+ The minor version number of the F# version associated with the attribute
+
+
+ The major version number of the F# version associated with the attribute
+
+
+ Creates an instance of the attribute
+ The major version number.
+ The minor version number.
+ The release number.
+ FSharpInterfaceDataVersionAttribute
+
+
+ This attribute is added to generated assemblies to indicate the
+ version of the data schema used to encode additional F#
+ specific information in the resource attached to compiled F# libraries.
+
+
+ Specialize the type function at a given type
+ The specialized type.
+
+
+ Construct an instance of an F# first class type function value
+ FSharpTypeFunc
+
+
+ The CLI type used to represent F# first-class type function values. This type is for use
+ by compiled F# code.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+ Tuple of values generated by scan or match.
+
+
+ Convert the given Converter delegate object to an F# function value
+ The input Converter.
+ The F# function.
+
+
+ Convert the given Action delegate object to an F# function value
+ The input action.
+ The F# function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ Helper functions for converting F# first class function values to and from CLI representaions
+ of functions using delegates.
+
+
+ Creates an instance of the attribute
+ GeneralizableValueAttribute
+
+
+ Adding this attribute to a non-function value with generic parameters indicates that
+ uses of the construct can give rise to generic code through type inference.
+
+
+ Creates an instance of the attribute
+ InterfaceAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI interface.
+
+
+ Creates an instance of the attribute
+ LiteralAttribute
+
+
+ Adding this attribute to a value causes it to be compiled as a CLI constant literal.
+
+
+ Creates an instance of the attribute
+ MeasureAnnotatedAbbreviationAttribute
+
+
+ Adding this attribute to a type causes it to be interpreted as a refined type, currently limited to measure-parameterized types.
+ This may only be used under very limited conditions.
+
+
+ Creates an instance of the attribute
+ MeasureAttribute
+
+
+ Adding this attribute to a type causes it to be interpreted as a unit of measure.
+ This may only be used under very limited conditions.
+
+
+ Creates an instance of the attribute
+ NoComparisonAttribute
+
+
+ Adding this attribute to a type indicates it is a type where comparison is an abnormal operation.
+ This means that the type does not satisfy the F# 'comparison' constraint. Within the bounds of the
+ F# type system, this helps ensure that the F# generic comparison function is not instantiated directly
+ at this type. The attribute and checking does not constrain the use of comparison with base or child
+ types of this type.
+
+
+ Creates an instance of the attribute
+ NoDynamicInvocationAttribute
+
+
+ This attribute is used to tag values that may not be dynamically invoked at runtime. This is
+ typically added to inlined functions whose implementations include unverifiable code. It
+ causes the method body emitted for the inlined function to raise an exception if
+ dynamically invoked, rather than including the unverifiable code in the generated
+ assembly.
+
+
+ Creates an instance of the attribute
+ NoEqualityAttribute
+
+
+ Adding this attribute to a type indicates it is a type where equality is an abnormal operation.
+ This means that the type does not satisfy the F# 'equality' constraint. Within the bounds of the
+ F# type system, this helps ensure that the F# generic equality function is not instantiated directly
+ at this type. The attribute and checking does not constrain the use of comparison with base or child
+ types of this type.
+
+
+ The representation of "Value of type 'T"
+ The input value.
+ An option representing the value.
+
+
+ The representation of "No value"
+
+
+ Get the value of a 'Some' option. A NullReferenceException is raised if the option is 'None'.
+
+
+ Create an option value that is a 'None' value.
+
+
+ Return 'true' if the option is a 'Some' value.
+
+
+ Return 'true' if the option is a 'None' value.
+
+
+ Create an option value that is a 'Some' value.
+ The input value
+ An option representing the value.
+
+
+ The type of optional values. When used from other CLI languages the
+ empty option is the null value.
+
+ Use the constructors Some and None to create values of this type.
+ Use the values in the Option module to manipulate values of this type,
+ or pattern match against the values directly.
+
+ None values will appear as the value null to other CLI languages.
+ Instance methods on this type will appear as static methods to other CLI languages
+ due to the use of null as a value representation.
+
+
+ Creates an instance of the attribute
+ OptionalArgumentAttribute
+
+
+ This attribute is added automatically for all optional arguments.
+
+
+ The raw text of the format string.
+
+
+ Construct a format string
+ The input string.
+ The PrintfFormat containing the formatted result.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+
+
+ Construct a format string
+ The input string.
+ The created format string.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+ Tuple of values generated by scan or match.
+
+
+ Creates an instance of the attribute
+ ProjectionParameterAttribute
+
+
+ Indicates that, when a custom operator is used in a computation expression,
+ a parameter is automatically parameterized by the variable space of the computation expression
+
+
+
+ The current value of the reference cell
+
+
+
+ The current value of the reference cell
+
+
+ The current value of the reference cell
+
+
+ The type of mutable references. Use the functions [:=] and [!] to get and
+ set values of this type.
+
+
+ Creates an instance of the attribute
+ ReferenceEqualityAttribute
+
+
+ Adding this attribute to a record or union type disables the automatic generation
+ of overrides for 'System.Object.Equals(obj)', 'System.Object.GetHashCode()'
+ and 'System.IComparable' for the type. The type will by default use reference equality.
+
+
+ Creates an instance of the attribute
+ ReflectedDefinitionAttribute
+
+
+ Adding this attribute to the let-binding for the definition of a top-level
+ value makes the quotation expression that implements the value available
+ for use at runtime.
+
+
+ Creates an instance of the attribute
+ RequireQualifiedAccessAttribute
+
+
+ This attribute is used to indicate that references to the elements of a module, record or union
+ type require explicit qualified access.
+
+
+ Creates an instance of the attribute
+ RequiresExplicitTypeArgumentsAttribute
+
+
+ Adding this attribute to a type, value or member requires that
+ uses of the construct must explicitly instantiate any generic type parameters.
+
+
+ The value of the attribute, indicating whether the type is sealed or not.
+
+
+ Creates an instance of the attribute
+ Indicates whether the class is sealed.
+ SealedAttribute
+
+
+ Creates an instance of the attribute.
+ The created attribute.
+
+
+ Adding this attribute to class definition makes it sealed, which means it may not
+ be extended or implemented.
+
+
+ Indicates that the compiled entity had private or internal representation in F# source code.
+
+
+ The mask of values related to the kind of the compiled entity.
+
+
+ Indicates that the compiled entity is part of the representation of an F# value declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# union case declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# module declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# closure.
+
+
+ Indicates that the compiled entity is part of the representation of an F# exception declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# record or union case field declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# class or other object type declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# record type declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# union type declaration.
+
+
+ Indicates that the compiled entity has no relationship to an element in F# source code.
+
+
+
+
+
+ Indicates the relationship between a compiled entity in a CLI binary and an element in F# source code.
+
+
+ Creates an instance of the attribute
+ StructAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI struct.
+
+
+ Creates an instance of the attribute
+ StructuralComparisonAttribute
+
+
+ Adding this attribute to a record, union, exception, or struct type confirms the
+ automatic generation of implementations for 'System.IComparable' for the type.
+
+
+ Creates an instance of the attribute
+ StructuralEqualityAttribute
+
+
+ Adding this attribute to a record, union or struct type confirms the automatic
+ generation of overrides for 'System.Object.Equals(obj)' and
+ 'System.Object.GetHashCode()' for the type.
+
+
+ Indicates the text to display by default when objects of this type are displayed
+ using '%A' printf formatting patterns and other two-dimensional text-based display
+ layouts.
+
+
+ Creates an instance of the attribute
+ Indicates the text to display when using the '%A' printf formatting.
+ StructuredFormatDisplayAttribute
+
+
+ This attribute is used to mark how a type is displayed by default when using
+ '%A' printf formatting patterns and other two-dimensional text-based display layouts.
+ In this version of F# the only valid values are of the form PreText {PropertyName} PostText.
+ The property name indicates a property to evaluate and to display instead of the object itself.
+
+
+ The type 'unit', which has only one value "()". This value is special and
+ always uses the representation 'null'.
+
+
+ Creates an instance of the attribute
+ UnverifiableAttribute
+
+
+ This attribute is used to tag values whose use will result in the generation
+ of unverifiable code. These values are inevitably marked 'inline' to ensure that
+ the unverifiable constructs are not present in the actual code for the F# library,
+ but are rather copied to the source code of the caller.
+
+
+ Creates an instance of the attribute
+ VolatileFieldAttribute
+
+
+ Adding this attribute to an F# mutable binding causes the "volatile"
+ prefix to be used for all accesses to the field.
+
+
+ Four dimensional arrays, typically zero-based. Non-zero-based arrays
+ can be created using methods on the System.Array type.
+
+ Use the values in the Array4D module
+ to manipulate values of this type, or the notation arr.[x1,x2,x3,x4] to get and set array
+ values.
+
+
+ Three dimensional arrays, typically zero-based. Non-zero-based arrays
+ can be created using methods on the System.Array type.
+
+ Use the values in the Array3D module
+ to manipulate values of this type, or the notation arr.[x1,x2,x3] to get and set array
+ values.
+
+
+ Two dimensional arrays, typically zero-based.
+
+ Use the values in the Array2D module
+ to manipulate values of this type, or the notation arr.[x,y] to get/set array
+ values.
+
+ Non-zero-based arrays can also be created using methods on the System.Array type.
+
+
+ Single dimensional, zero-based arrays, written int[], string[] etc.
+ Use the values in the Array module to manipulate values
+ of this type, or the notation arr.[x] to get/set array
+ values.
+
+
+ Single dimensional, zero-based arrays, written int[], string[] etc.
+
+ Use the values in the Array module to manipulate values
+ of this type, or the notation arr.[x] to get/set array
+ values.
+
+
+
+
+
+ An abbreviation for the CLI type System.Boolean.
+
+
+ Represents a managed pointer in F# code.
+
+
+ An abbreviation for the CLI type System.Byte.
+
+
+ An abbreviation for the CLI type System.Char.
+
+
+ An abbreviation for the CLI type System.Decimal.
+
+
+ The type of decimal numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Decimal.
+
+
+ An abbreviation for the CLI type System.Double.
+
+
+ An abbreviation for the CLI type System.Exception.
+
+
+ An abbreviation for the CLI type System.Double.
+
+
+ An abbreviation for the CLI type System.Single.
+
+
+ The type of floating point numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Single.
+
+
+ The type of floating point numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Double.
+
+
+ This type is for internal use by the F# code generator.
+
+
+ An abbreviation for the CLI type System.Int32.
+
+
+ An abbreviation for the CLI type System.Int16.
+
+
+ The type of 16-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int16.
+
+
+ An abbreviation for the CLI type System.Int32.
+
+
+ An abbreviation for the CLI type System.Int64.
+
+
+ The type of 64-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int64.
+
+
+ An abbreviation for the CLI type System.SByte.
+
+
+ The type of 32-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int32.
+
+
+ An abbreviation for the CLI type System.IntPtr.
+
+
+ Represents an unmanaged pointer in F# code.
+
+ This type should only be used when writing F# code that interoperates
+ with native code. Use of this type in F# code may result in
+ unverifiable code being generated. Conversions to and from the
+ nativeint type may be required. Values of this type can be generated
+ by the functions in the NativeInterop.NativePtr module.
+
+
+ An abbreviation for the CLI type System.Object.
+
+
+ The type of optional values. When used from other CLI languages the
+ empty option is the null value.
+
+ Use the constructors Some and None to create values of this type.
+ Use the values in the Option module to manipulate values of this type,
+ or pattern match against the values directly.
+
+ 'None' values will appear as the value null to other CLI languages.
+ Instance methods on this type will appear as static methods to other CLI languages
+ due to the use of null as a value representation.
+
+
+ The type of mutable references. Use the functions [:=] and [!] to get and
+ set values of this type.
+
+
+ An abbreviation for the CLI type System.SByte.
+
+
+ The type of 8-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.SByte.
+
+
+ An abbreviation for the CLI type System.Single.
+
+
+ An abbreviation for the CLI type System.String.
+
+
+ An abbreviation for the CLI type System.UInt16.
+
+
+ An abbreviation for the CLI type System.UInt32.
+
+
+ An abbreviation for the CLI type System.UInt64.
+
+
+ An abbreviation for the CLI type System.Byte.
+
+
+ An abbreviation for the CLI type System.UIntPtr.
+
+
+ The type 'unit', which has only one value "()". This value is special and
+ always uses the representation 'null'.
+
+
+
+
+
+
+
+
+
+
+
+ Non-exhaustive match failures will raise the MatchFailureException exception
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A new enumerator for the sequence.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A reference to the sequence.
+
+ A 0, 1, and 2 respectively indicate Stop, Yield, and Goto conditions for the sequence generator.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A new sequence generator for the expression.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+
+ Namespace name the provider injects types into.
+
+
+
+
+ Compilers call this method to query a type provider for a type name.
+
+ Resolver should return a type called name in namespace NamespaceName or null if the type is unknown.
+
+
+
+
+
+ The top-level types
+
+
+
+
+
+ The sub-namespaces in this namespace. An optional member to prevent generation of namespaces until an outer namespace is explored.
+
+
+
+
+
+
+
+ Triggered when an assumption changes that invalidates the resolutions so far reported by the provider
+
+
+
+
+ Triggered when an assumption changes that invalidates the resolutions so far reported by the provider
+
+
+
+
+ Triggered when an assumption changes that invalidates the resolutions so far reported by the provider
+
+
+
+
+ Get the static parameters for a provided type.
+
+ A type returned by GetTypes or ResolveTypeName
+
+
+
+
+ Namespace name the this TypeProvider injects types into.
+
+
+
+
+ Called by the compiler to ask for an Expression tree to replace the given MethodBase with.
+
+ MethodBase that was given to the compiler by a type returned by a GetType(s) call.
+ Expressions that represent the parameters to this call.
+ An expression that the compiler will use in place of the given method base.
+
+
+
+ Get the physical contents of the given logical provided assembly.
+
+
+
+
+ Apply static arguments to a provided type that accepts static arguments.
+
+ The provider must return a type with the given mangled name.
+ the provided type definition which has static parameters
+ the full path of the type, including encoded representations of static parameters
+ the static parameters, indexed by name
+
+
+
+
+
+
+ Represents the inverse of a measure expressions when returned as a generic argument of a provided type.
+
+
+ Represents the '1' measure expression when returned as a generic argument of a provided type.
+
+
+ Represents the product of two measure expressions when returned as a generic argument of a provided type.
+
+
+
+
+
+ Creates an instance of the attribute
+ TypeProviderAssemblyAttribute
+ The name of the design-time assembly for this type provider.
+
+
+ Creates an instance of the attribute
+ TypeProviderAssemblyAttribute
+
+
+ Place attribute on runtime assembly to indicate that there is a corresponding design-time
+ assembly that contains a type provider. Runtime and designer assembly may be the same.
+
+
+ Creates an instance of the attribute
+ TypeProviderAttribute
+
+
+ Place on a class that implements ITypeProvider to extend the compiler
+
+
+
+ Get the full path to use for temporary files for the type provider instance.
+
+
+
+
+ version of referenced system runtime assembly
+
+
+
+
+ Get the full path to referenced assembly that caused this type provider instance to be created.
+
+
+
+
+ Get the full path to use to resolve relative paths in any file name arguments given to the type provider instance.
+
+
+
+
+ Get the referenced assemblies for the type provider instance.
+
+
+
+
+ Indicates if the type provider host responds to invalidation events for type provider instances.
+
+
+
+
+ Indicates if the type provider instance is used in an environment which executes provided code such as F# Interactive.
+
+
+
+
+ Get the full path to use for temporary files for the type provider instance.
+
+
+
+
+ version of referenced system runtime assembly
+
+
+
+
+ Get the full path to referenced assembly that caused this type provider instance to be created.
+
+
+
+
+ Get the full path to use to resolve relative paths in any file name arguments given to the type provider instance.
+
+
+
+
+ Get the referenced assemblies for the type provider instance.
+
+
+
+
+ Indicates if the type provider host responds to invalidation events for type provider instances.
+
+
+
+
+ Indicates if the type provider instance is used in an environment which executes provided code such as F# Interactive.
+
+
+
+
+ Checks if given type exists in target system runtime library
+
+
+
+
+
+
+
+ If the class that implements ITypeProvider has a constructor that accepts TypeProviderConfig
+ then it will be constructed with an instance of TypeProviderConfig.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates an instance of the attribute
+ TypeProviderEditorHideMethodsAttribute
+
+
+ Indicates that a code editor should hide all System.Object methods from the intellisense menus for instances of a provided type
+
+
+
+
+
+
+
+
+
+
+
+ Additional type attribute flags related to provided types
+
+
+
+
+
+ Creates an instance of the attribute
+ TypeProviderXmlDocAttribute
+
+
+
+ The TypeProviderXmlDocAttribute attribute can be added to types and members.
+ The language service will display the CommentText property from the attribute
+ in the appropriate place when the user hovers over a type or member.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates an anonymous event with the given handlers.
+
+ A function to handle adding a delegate for the event to trigger.
+ A function to handle removing a delegate that the event triggers.
+ A function to produce the delegate type the event can trigger.
+
+ The initialized event.
+
+
+ The F# compiler emits calls to this function to implement the use operator for F# sequence
+ expressions.
+
+ The resource to be used and disposed.
+ The input sequence.
+
+ The result sequence.
+
+
+ The F# compiler emits calls to this function to implement the compiler-intrinsic
+ conversions from untyped System.Collections.IEnumerable sequences to typed sequences.
+
+ An initializer function.
+ A function to iterate and test if end of sequence is reached.
+ A function to retrieve the current element.
+
+ The resulting typed sequence.
+
+
+ The F# compiler emits calls to this function to
+ implement the try/finally operator for F# sequence expressions.
+
+ The input sequence.
+ A computation to be included in an enumerator's Dispose method.
+
+ The result sequence.
+
+
+ The F# compiler emits calls to this function to
+ implement the while operator for F# sequence expressions.
+
+ A function that indicates whether iteration should continue.
+ The input sequence.
+
+ The result sequence.
+
+
+ A group of functions used as part of the compiled representation of F# sequence expressions.
+
+
+ Builds a query using query syntax and operators.
+
+
+ An active pattern to force the execution of values of type Lazy<_>.
+
+
+ Special prefix operator for splicing untyped expressions into quotation holes.
+
+
+ Special prefix operator for splicing typed expressions into quotation holes.
+
+
+ Builds a 2D array from a sequence of sequences of elements.
+
+
+ Builds a read-only lookup table from a sequence of key/value pairs. The key objects are indexed using generic hashing and equality.
+
+
+ Converts the argument to signed byte.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using SByte.Parse() with InvariantCulture settings.
+ Otherwise the operation requires and invokes a ToSByte method on the input type.
+
+
+ Converts the argument to byte.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Byte.Parse() on strings and otherwise requires a ToByte method on the input type.
+
+
+ Converts the argument to 64-bit float.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Double.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToDouble method on the input type.
+
+
+ Converts the argument to 32-bit float.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Single.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToSingle method on the input type.
+
+
+ Builds an aysnchronous workflow using computation expression syntax.
+
+
+ Builds a set from a sequence of objects. The objects are indexed using generic comparison.
+ The input sequence of elements.
+ The created set.
+
+
+ Print to a file using the given format, and add a newline.
+ The file TextWriter.
+ The formatter.
+ The formatted result.
+
+
+ Print to a file using the given format.
+ The file TextWriter.
+ The formatter.
+ The formatted result.
+
+
+ Print to a string buffer and raise an exception with the given
+ result. Helper printers must return strings.
+ The formatter.
+ The formatted result.
+
+
+ Print to a string using the given format.
+ The formatter.
+ The formatted result.
+
+
+ Print to stderr using the given format, and add a newline.
+ The formatter.
+ The formatted result.
+
+
+ Print to stderr using the given format.
+ The formatter.
+ The formatted result.
+
+
+ Print to stdout using the given format, and add a newline.
+ The formatter.
+ The formatted result.
+
+
+ Print to stdout using the given format.
+ The formatter.
+ The formatted result.
+
+
+
+
+
+ Divides a value by an integer.
+ The input value.
+ The input int.
+ The division result.
+
+
+
+
+
+ Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One'
+
+
+ Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'
+
+
+ A compiler intrinsic that implements dynamic invocations for the DivideByInt primitive.
+
+
+ A compiler intrinsic that implements dynamic invocations to the checked '*' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the '*' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the checked '+' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the '+' operator.
+
+
+ Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One'.
+
+
+ Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'.
+
+
+ Parse an uint64 according to the rules used by the overloaded 'uint64' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an int64 according to the rules used by the overloaded 'int64' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an uint32 according to the rules used by the overloaded 'uint32' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an int32 according to the rules used by the overloaded 'int32' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Creates an sbyte value with units-of-measure
+ The input sbyte.
+ The sbyte with units-of-measure.
+
+
+ Creates an int16 value with units-of-measure
+ The input int16.
+ The int16 with units-of-measure.
+
+
+ Creates an int64 value with units-of-measure
+ The input int64.
+ The int64 with units of measure.
+
+
+ Creates an int32 value with units-of-measure
+ The input int.
+ The int with units of measure.
+
+
+ Creates a decimal value with units-of-measure
+ The input decimal.
+ The decimal with units of measure.
+
+
+ Creates a float32 value with units-of-measure
+ The input float.
+ The float with units-of-measure.
+
+
+ Creates a float value with units-of-measure
+ The input float.
+ The float with units-of-measure.
+
+
+ Get the underlying value for an enum value
+ The input enum.
+ The enumeration as a value.
+
+
+ Build an enum value from an underlying value
+ The input value.
+ The value as an enumeration.
+
+
+ Recursively hash a part of a value according to its structure.
+ The comparison function.
+ The input object.
+ The hashed value.
+
+
+ Hash a value according to its structure. Use the given limit to restrict the hash when hashing F#
+ records, lists and union types.
+ The limit on the number of nodes.
+ The input object.
+ The hashed value.
+
+
+ Hash a value according to its structure. This hash is not limited by an overall node count when hashing F#
+ records, lists and union types.
+ The input object.
+ The hashed value.
+
+
+ Make an F# hash/equality object for the given type using node-limited hashing when hashing F#
+ records, lists and union types.
+ The input limit on the number of nodes.
+ System.Collections.Generic.IEqualityComparer<'T>
+
+
+ Make an F# hash/equality object for the given type
+
+
+ Make an F# comparer object for the given type, where it can be null if System.Collections.Generic.Comparer<'T>.Default
+
+
+ Make an F# comparer object for the given type
+
+
+ A static F# comparer object
+
+
+ Return an F# comparer object suitable for hashing and equality. This hashing behaviour
+ of the returned comparer is not limited by an overall node count when hashing F#
+ records, lists and union types. This equality comparer has equivalence
+ relation semantics ([nan] = [nan]).
+
+
+ Return an F# comparer object suitable for hashing and equality. This hashing behaviour
+ of the returned comparer is not limited by an overall node count when hashing F#
+ records, lists and union types.
+
+
+ The physical hash. Hashes on the object identity, except for value types,
+ where we hash on the contents.
+ The input object.
+ The hashed value.
+
+
+ Reference/physical equality.
+ True if the inputs are reference-equal, false otherwise.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Take the maximum of two values structurally according to the order given by GenericComparison
+ The first value.
+ The second value.
+ The maximum value.
+
+
+ Take the minimum of two values structurally according to the order given by GenericComparison
+ The first value.
+ The second value.
+ The minimum value.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values. May be called as a recursive case from an implementation of System.IComparable to
+ ensure consistent NaN comparison semantics.
+ The function to compare the values.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality
+
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality using equivalence relation semantics ([nan] = [nan])
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality using partial equivalence relation semantics ([nan] <> [nan])
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+
+ The standard overloaded associative (4-indexed) mutation operator
+
+
+
+ The standard overloaded associative (3-indexed) mutation operator
+
+
+ The standard overloaded associative (2-indexed) mutation operator
+
+
+ The standard overloaded associative (indexed) mutation operator
+
+
+ The standard overloaded associative (4-indexed) lookup operator
+
+
+ The standard overloaded associative (3-indexed) lookup operator
+
+
+ The standard overloaded associative (2-indexed) lookup operator
+
+
+ The standard overloaded associative (indexed) lookup operator
+
+
+ A compiler intrinsic for checking initialization soundness of recursive bindings
+
+
+ A compiler intrinsic for checking initialization soundness of recursive static bindings
+
+
+ A compiler intrinsic for checking initialization soundness of recursive bindings
+
+
+ A compiler intrinsic for the efficient compilation of sequence expressions
+
+
+ This function implements parsing of decimal constants
+
+
+ This function implements calls to default constructors
+ acccessed by 'new' constraints.
+
+
+ Primitive used by pattern match compilation
+
+
+ A compiler intrinsic that implements the ':?' operator
+
+
+ A compiler intrinsic that implements the ':?' operator
+
+
+ A compiler intrinsic that implements the ':?>' operator
+
+
+ A compiler intrinsic that implements the ':?>' operator
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+ Address-of. Uses of this value may result in the generation of unverifiable code.
+ The input object.
+ The unmanaged pointer.
+
+
+ Address-of. Uses of this value may result in the generation of unverifiable code.
+ The input object.
+ The managed pointer.
+
+
+ Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand
+ The first value.
+ The second value.
+ The result of the operation.
+
+
+ Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand.
+
+
+ Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand
+ The first value.
+ The second value.
+ The result of the operation.
+
+
+ Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand.
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ For internal use only
+
+
+ Language primitives associated with the F# language
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+ An active pattern to match values of type System.Collections.Generic.KeyValuePair
+ The input key/value pair.
+ A tuple containing the key and value.
+
+
+ Converts the argument to character. Numeric inputs are converted according to the UTF-16
+ encoding for characters. String inputs must be exactly one character long. For other
+ input types the operation requires an appropriate static conversion method on the input type.
+ The input value.
+ The converted char.
+
+
+ Converts the argument to System.Decimal using a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted decimal.
+
+
+ Converts the argument to a string using ToString.
+
+ For standard integer and floating point values the ToString conversion
+ uses CultureInfo.InvariantCulture.
+ The input value.
+ The converted string.
+
+
+ Converts the argument to unsigned native integer using a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to signed native integer. This is a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to 64-bit float. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Double.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float
+
+
+ Converts the argument to 32-bit float. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Single.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float32
+
+
+ Converts the argument to unsigned 64-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to signed 64-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to unsigned 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to a particular enum type.
+ The input value.
+ The converted enum type.
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to unsigned 16-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to signed 16-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to signed byte. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using SByte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Byte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+ Overloaded power operator. If n > 0 then equivalent to x*...*x for n occurrences of x.
+ The input base.
+ The input exponent.
+ The base raised to the exponent.
+
+
+ Overloaded power operator.
+ The input base.
+ The input exponent.
+ The base raised to the exponent.
+
+
+ Overloaded truncate operator.
+ The input value.
+ The truncated value.
+
+
+ Hyperbolic tangent of the given number
+ The input value.
+ The hyperbolic tangent of the input.
+
+
+ Tangent of the given number
+ The input value.
+ The tangent of the input.
+
+
+ Hyperbolic sine of the given number
+ The input value.
+ The hyperbolic sine of the input.
+
+
+ Sine of the given number
+ The input value.
+ The sine of the input.
+
+
+ Hyperbolic cosine of the given number
+ The input value.
+ The hyperbolic cosine of the input.
+
+
+ Cosine of the given number
+ The input value.
+ The cosine of the input.
+
+
+ Square root of the given number
+ The input value.
+ The square root of the input.
+
+
+ Logarithm to base 10 of the given number
+ The input value.
+ The logarithm to base 10 of the input.
+
+
+ Natural logarithm of the given number
+ The input value.
+ The natural logarithm of the input.
+
+
+ Round the given number
+ The input value.
+ The nearest integer to the input value.
+
+
+ Sign of the given number
+ The input value.
+ -1, 0, or 1 depending on the sign of the input.
+
+
+ Floor of the given number
+ The input value.
+ The floor of the input.
+
+
+ Exponential of the given number
+ The input value.
+ The exponential of the input.
+
+
+ Ceiling of the given number
+ The input value.
+ The ceiling of the input.
+
+
+ Inverse tangent of x/y where x and y are specified separately
+ The y input value.
+ The x input value.
+ The inverse tangent of the input ratio.
+
+
+ Inverse tangent of the given number
+ The input value.
+ The inverse tangent of the input.
+
+
+ Inverse sine of the given number
+ The input value.
+ The inverse sine of the input.
+
+
+ Inverse cosine of the given number
+ The input value.
+ The inverse cosine of the input.
+
+
+ Absolute value of the given number.
+ The input value.
+ The absolute value of the input.
+
+
+ A generic hash function. This function has the same behaviour as 'hash',
+ however the default structural hashing for F# union, record and tuple
+ types stops when the given limit of nodes is reached. The exact behaviour of
+ the function can be adjusted on a type-by-type basis by implementing
+ GetHashCode for each type.
+ The limit of nodes.
+ The input object.
+ The computed hash.
+
+
+ A generic hash function, designed to return equal hash values for items that are
+ equal according to the "=" operator. By default it will use structural hashing
+ for F# union, record and tuple types, hashing the complete contents of the
+ type. The exact behaviour of the function can be adjusted on a
+ type-by-type basis by implementing GetHashCode for each type.
+ The input object.
+ The computed hash.
+
+
+ Returns the internal size of a type in bytes. For example, sizeof<int> returns 4.
+
+
+ Generate a System.Type representation for a type definition. If the
+ input type is a generic type instantiation then return the
+ generic type definition associated with all such instantiations.
+
+
+ An internal, library-only compiler intrinsic for compile-time
+ generation of a RuntimeMethodHandle.
+
+
+ Generate a System.Type runtime representation of a static type.
+ The static type is still maintained on the value returned.
+
+
+ Clean up resources associated with the input object after the completion of the given function.
+ Cleanup occurs even when an exception is raised by the protected
+ code.
+ The resource to be disposed after action is called.
+ The action that accepts the resource.
+ The resulting value.
+
+
+ Execute the function as a mutual-exclusion region using the input value as a lock.
+ The object to be locked.
+ The action to perform during the lock.
+ The resulting value.
+
+
+ The standard overloaded skip range operator, e.g. [n..skip..m] for lists, seq {n..skip..m} for sequences
+ The start value of the range.
+ The step value of the range.
+ The end value of the range.
+ The sequence spanning the range using the specified step size.
+
+
+ The standard overloaded range operator, e.g. [n..m] for lists, seq {n..m} for sequences
+ The start value of the range.
+ The end value of the range.
+ The sequence spanning the range.
+
+
+ Reads the value of the property System.Console.Out.
+
+
+ Reads the value of the property System.Console.Error.
+
+
+ Reads the value of the property System.Console.In.
+
+
+ Equivalent to System.Single.NaN
+
+
+ Equivalent to System.Single.PositiveInfinity
+
+
+ Equivalent to System.Double.NaN
+
+
+ Equivalent to System.Double.PositiveInfinity
+
+
+ Exit the current hardware isolated process, if security settings permit,
+ otherwise raise an exception. Calls System.Environment.Exit.
+ The exit code to use.
+ The result value.
+
+
+ Builds a sequence using sequence expression syntax
+ The input sequence.
+ The result sequence.
+
+
+ Negate a logical value. not true equals false and not false equals true
+ The value to negate.
+ The result of the negation.
+
+
+ Concatenate two lists.
+ The first list.
+ The second list.
+ The concatenation of the lists.
+
+
+ Increment a mutable reference cell containing an integer
+ The reference cell.
+
+
+ Decrement a mutable reference cell containing an integer
+ The reference cell.
+
+
+ Dereference a mutable reference cell
+ The cell to dereference.
+ The value contained in the cell.
+
+
+ Assign to a mutable reference cell
+ The cell to mutate.
+ The value to set inside the cell.
+
+
+ Create a mutable reference cell
+ The value to contain in the cell.
+ The created reference cell.
+
+
+ The identity function
+ The input value.
+ The same value.
+
+
+ Throw a System.InvalidOperationException exception
+ The exception message.
+ The result value.
+
+
+ Throw a System.ArgumentNullException exception
+ The argument name.
+ The result value.
+
+
+ Throw a System.ArgumentException exception with
+ the given argument name and message.
+ The argument name.
+ The exception message.
+ The result value.
+
+
+ Throw a System.Exception exception.
+ The exception message.
+ The result value.
+
+
+ Boxes a strongly typed value.
+ The value to box.
+ The boxed object.
+
+
+ Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a.
+ The boxed value.
+ The unboxed result.
+
+
+ Ignore the passed value. This is often used to throw away results of a computation.
+ The value to ignore.
+
+
+ Minimum based on generic comparison
+ The first value.
+ The second value.
+ The minimum value.
+
+
+ Maximum based on generic comparison
+ The first value.
+ The second value.
+ The maximum value.
+
+
+ Generic comparison.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Return the second element of a tuple, snd (a,b) = b.
+ The input tuple.
+ The second value.
+
+
+ Return the first element of a tuple, fst (a,b) = a.
+ The input tuple.
+ The first value.
+
+
+ Matches System.Exception objects whose runtime type is precisely System.Exception
+ The input exception.
+ A string option.
+
+
+ Builds a System.Exception object.
+ The message for the Exception.
+ A System.Exception.
+
+
+ Rethrows an exception. This should only be used when handling an exception
+ The result value.
+
+
+ Rethrows an exception. This should only be used when handling an exception
+ The result value.
+
+
+ Raises an exception
+ The exception to raise.
+ The result value.
+
+
+ Concatenate two strings. The operator '+' may also be used.
+
+
+ Used to specify a default value for an optional argument in the implementation of a function
+ An option representing the argument.
+ The default value of the argument.
+ The argument value. If it is None, the defaultValue is returned.
+
+
+ Apply a function to three values, the values being a triple on the right, the function on the left
+ The function.
+ The first argument.
+ The second argument.
+ The third argument.
+ The function result.
+
+
+ Apply a function to two values, the values being a pair on the right, the function on the left
+ The function.
+ The first argument.
+ The second argument.
+ The function result.
+
+
+ Apply a function to a value, the value being on the right, the function on the left
+ The function.
+ The argument.
+ The function result.
+
+
+ Apply a function to three values, the values being a triple on the left, the function on the right
+ The first argument.
+ The second argument.
+ The third argument.
+ The function.
+ The function result.
+
+
+ Apply a function to two values, the values being a pair on the left, the function on the right
+ The first argument.
+ The second argument.
+ The function.
+ The function result.
+
+
+ Apply a function to a value, the value being on the left, the function on the right
+ The argument.
+ The function.
+ The function result.
+
+
+ Compose two functions, the function on the right being applied first
+ The second function to apply.
+ The first function to apply.
+ The composition of the input functions.
+
+
+ Compose two functions, the function on the left being applied first
+ The first function to apply.
+ The second function to apply.
+ The composition of the input functions.
+
+
+ Structural inequality
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural equality
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural less-than-or-equal comparison
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural greater-than-or-equal
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural greater-than
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural less-than comparison
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Overloaded prefix=plus operator
+ The input value.
+ The result of the operation.
+
+
+ Overloaded logical-NOT operator
+ The input value.
+ The result of the operation.
+
+
+ Overloaded byte-shift right operator by a specified number of bits
+ The input value.
+ The amount to shift.
+ The result of the operation.
+
+
+ Overloaded byte-shift left operator by a specified number of bits
+ The input value.
+ The amount to shift.
+ The result of the operation.
+
+
+ Overloaded logical-XOR operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded logical-OR operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded logical-AND operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded modulo operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded division operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded multiplication operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded subtraction operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded addition operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded unary negation.
+ The value to negate.
+ The result of the operation.
+
+
+ Converts the argument to char. Numeric inputs are converted using a checked
+ conversion according to the UTF-16 encoding for characters. String inputs must
+ be exactly one character long. For other input types the operation requires an
+ appropriate static conversion method on the input type.
+ The input value.
+ The converted char
+
+
+ Converts the argument to unativeint. This is a direct, checked conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to nativeint. This is a direct, checked conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to uint64. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to int64. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to uint32. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to int32. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to int. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to uint16. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to int16. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to sbyte. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.SByte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Byte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+ Overloaded multiplication operator (checks for overflow)
+ The first value.
+ The second value.
+ The product of the two input values.
+
+
+ Overloaded addition operator (checks for overflow)
+ The first value.
+ The second value.
+ The sum of the two input values.
+
+
+ Overloaded subtraction operator (checks for overflow)
+ The first value.
+ The second value.
+ The first value minus the second value.
+
+
+ Overloaded unary negation (checks for overflow)
+ The input value.
+ The negated value.
+
+
+ This module contains the basic arithmetic operations with overflow checks.
+
+
+ Perform generic hashing on a value where the type of the value is not
+ statically required to satisfy the 'equality' constraint.
+ The computed hash value.
+
+
+ Perform generic equality on two values where the type of the values is not
+ statically required to satisfy the 'equality' constraint.
+ The result of the comparison.
+
+
+ Perform generic comparison on two values where the type of the values is not
+ statically required to have the 'comparison' constraint.
+ The result of the comparison.
+
+
+ Generate a default value for any type. This is null for reference types,
+ For structs, this is struct value where all fields have the default value.
+ This function is unsafe in the sense that some F# values do not have proper null values.
+
+
+ Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a.
+ The boxed value.
+ The unboxed result.
+
+
+ This module contains basic operations which do not apply runtime and/or static checks
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'decimal'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'unativeint'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'nativeint'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint64'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int64'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint16'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int16'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'sbyte'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'byte'
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ Generate a range of values using the given zero, add, start, step and stop values
+
+
+ Generate a range of values using the given zero, add, start, step and stop values
+
+
+ Generate a range of char values
+
+
+ Generate a range of byte values
+
+
+ Generate a range of sbyte values
+
+
+ Generate a range of uint16 values
+
+
+ Generate a range of int16 values
+
+
+ Generate a range of unativeint values
+
+
+ Generate a range of nativeint values
+
+
+ Generate a range of uint32 values
+
+
+ Generate a range of uint64 values
+
+
+ Generate a range of int64 values
+
+
+ Generate a range of float32 values
+
+
+ Generate a range of float values
+
+
+ Generate a range of integers
+
+
+ Gets a slice from a string
+ The source string.
+ The index of the first character of the slice.
+ The index of the last character of the slice.
+ The substring from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The start index of the fourth dimension.
+ The end index of the fourth dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The start index of the fourth dimension.
+ The end index of the fourth dimension.
+ The four dimensional sub array from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The three dimensional sub array from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The two dimensional sub array from the input indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index.
+ The end index.
+ The source array.
+
+
+ Gets a slice of an array
+ The input array.
+ The start index.
+ The end index.
+ The sub array from the input indices.
+
+
+ A module of compiler intrinsic functions for efficient implementations of F# integer ranges
+ and dynamic invocations of other F# operators
+
+
+ Basic F# Operators. This module is automatically opened in all F# code.
+
+
+ Invoke an F# first class function value that accepts five curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The fifth arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept five curried arguments without intervening execution.
+ The input function.
+ The optimized function.
+
+
+ Construct an optimized function value that can accept five curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept five curried arguments
+ without intervening execution. This type should not typically used directly from
+ either F# code or from other CLI languages.
+
+
+ Invoke an F# first class function value that accepts four curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept four curried arguments without intervening execution.
+ The input function.
+ The optimized function.
+
+
+ Construct an optimized function value that can accept four curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept four curried arguments
+ without intervening execution. This type should not typically used directly from
+ either F# code or from other CLI languages.
+
+
+ Invoke an F# first class function value that accepts three curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept three curried arguments without intervening execution.
+ The input function.
+ The adapted function.
+
+
+ Construct an optimized function value that can accept three curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept
+ three iterated (curried) arguments without intervening execution. This type should not
+ typically used directly from either F# code or from other CLI languages.
+
+
+ Invoke the optimized function value with two curried arguments
+ The first arg.
+ The second arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept two curried arguments without intervening execution.
+ The input function.
+ The adapted function.
+
+
+ Construct an optimized function value that can accept two curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept
+ two iterated (curried) arguments without intervening execution. This type should not
+ typically used directly from either F# code or from other CLI languages.
+
+
+ An implementation module used to hold some private implementations of function
+ value invocation.
+
+
+ Convert the option to a list of length 0 or 1.
+ The input option.
+ The result list.
+
+
+ Convert the option to an array of length 0 or 1.
+ The input option.
+ The result array.
+
+
+ bind f inp evaluates to match inp with None -> None | Some x -> f x
+ A function that takes the value of type T from an option and transforms it into
+ an option containing a value of type U.
+ The input option.
+ An option of the output type of the binder.
+
+
+ map f inp evaluates to match inp with None -> None | Some x -> Some (f x).
+ A function to apply to the option value.
+ The input option.
+ An option of the input value after applying the mapping function, or None if the input is None.
+
+
+ iter f inp executes match inp with None -> () | Some x -> f x.
+ A function to apply to the option value.
+ The input option.
+ Unit if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ forall p inp evaluates to match inp with None -> true | Some x -> p x.
+ A function that evaluates to a boolean when given a value from the option type.
+ The input option.
+ True if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ exists p inp evaluates to match inp with None -> false | Some x -> p x.
+ A function that evaluates to a boolean when given a value from the option type.
+ The input option.
+ False if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ fold f inp s evaluates to match inp with None -> s | Some x -> f x s.
+ A function to update the state data when given a value from an option.
+ The input option.
+ The initial state.
+ The original state if the option is None, otherwise it returns the updated state with the folder
+ and the option value.
+
+
+ fold f s inp evaluates to match inp with None -> s | Some x -> f s x.
+ A function to update the state data when given a value from an option.
+ The initial state.
+ The input option.
+ The original state if the option is None, otherwise it returns the updated state with the folder
+ and the option value.
+
+
+ count inp evaluates to match inp with None -> 0 | Some _ -> 1.
+ The input option.
+ A zero if the option is None, a one otherwise.
+
+
+ Gets the value associated with the option.
+ The input option.
+ The value within the option.
+ Thrown when the option is None.
+
+
+ Returns true if the option is None.
+ The input option.
+ True if the option is None.
+
+
+ Returns true if the option is not None.
+ The input option.
+ True if the option is not None.
+
+
+ Basic operations on options.
+
+
+ Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format when formatting builds a string. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Represents a statically-analyzed format when formatting builds a string. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Print to a string buffer and raise an exception with the given
+ result. Helper printers must return strings.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ sprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called to generate a result from the formatted string.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ printf, but call the given 'final' function to generate the result.
+ For example, these let the printing force a flush after all output has
+ been entered onto the channel, but not before.
+ The function called after formatting to generate the format result.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ fprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called after formatting to generate the format result.
+ The input TextWriter.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ bprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called after formatting to generate the format result.
+ The input StringBuilder.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ Print to a string via an internal string buffer and return
+ the result as a string. Helper printers must return strings.
+ The input formatter.
+ The formatted string.
+
+
+ Formatted printing to stdout, adding a newline.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Formatted printing to stdout
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Formatted printing to stderr, adding a newline
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Formatted printing to stderr
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a text writer, adding a newline
+ The TextWriter to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a text writer.
+ The TextWriter to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a System.Text.StringBuilder
+ The StringBuilder to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Extensible printf-style formatting for numbers and other datatypes
+
+ Format specifications are strings with "%" markers indicating format
+ placeholders. Format placeholders consist of:
+
+ %[flags][width][.precision][type]
+
+ where the type is interpreted as follows:
+
+ %b: bool, formatted as "true" or "false"
+ %s: string, formatted as its unescaped contents
+ %c: character literal
+ %d, %i: any basic integer type formatted as a decimal integer, signed if the basic integer type is signed.
+ %u: any basic integer type formatted as an unsigned decimal integer
+ %x, %X, %o: any basic integer type formatted as an unsigned hexadecimal
+ (a-f)/Hexadecimal (A-F)/Octal integer
+
+ %e, %E, %f, %F, %g, %G:
+ any basic floating point type (float,float32) formatted
+ using a C-style floating point format specifications, i.e
+
+ %e, %E: Signed value having the form [-]d.dddde[sign]ddd where
+ d is a single decimal digit, dddd is one or more decimal
+ digits, ddd is exactly three decimal digits, and sign
+ is + or -
+
+ %f: Signed value having the form [-]dddd.dddd, where dddd is one
+ or more decimal digits. The number of digits before the
+ decimal point depends on the magnitude of the number, and
+ the number of digits after the decimal point depends on
+ the requested precision.
+
+ %g, %G: Signed value printed in f or e format, whichever is
+ more compact for the given value and precision.
+
+
+ %M: System.Decimal value
+
+ %O: Any value, printed by boxing the object and using it's ToString method(s)
+
+ %A: Any value, printed with the default layout settings
+
+ %a: A general format specifier, requires two arguments:
+ (1) a function which accepts two arguments:
+ (a) a context parameter of the appropriate type for the
+ given formatting function (e.g. an #System.IO.TextWriter)
+ (b) a value to print
+ and which either outputs or returns appropriate text.
+
+ (2) the particular value to print
+
+
+ %t: A general format specifier, requires one argument:
+ (1) a function which accepts a context parameter of the
+ appropriate type for the given formatting function (e.g.
+ an System.IO.TextWriter)and which either outputs or returns
+ appropriate text.
+
+ Basic integer types are:
+ byte,sbyte,int16,uint16,int32,uint32,int64,uint64,nativeint,unativeint
+ Basic floating point types are:
+ float, float32
+
+ The optional width is an integer indicating the minimal width of the
+ result. For instance, %6d prints an integer, prefixing it with spaces
+ to fill at least 6 characters. If width is '*', then an extra integer
+ argument is taken to specify the corresponding width.
+
+ any number
+ '*':
+
+ Valid flags are:
+
+ 0: add zeros instead of spaces to make up the required width
+ '-': left justify the result within the width specified
+ '+': add a '+' character if the number is positive (to match a '-' sign
+ for negatives)
+ ' ': add an extra space if the number is positive (to match a '-'
+ sign for negatives)
+
+ The printf '#' flag is invalid and a compile-time error will be reported if it is used.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the length of the string.
+ The input string.
+ The number of characters in the string.
+ Thrown when the input string is null.
+
+
+ Returns a string by concatenating count instances of str.
+ The number of copies of the input string will be copied.
+ The input string.
+ The concatenated string.
+ Thrown when the input string is null.
+
+
+ Tests if any character of the string satisfies the given predicate.
+ The function to test each character of the string.
+ The input string.
+ True if any character returns true for the predicate and false otherwise.
+ Thrown when the input string is null.
+
+
+ Tests if all characters in the string satisfy the given predicate.
+ The function to test each character of the string.
+ The input string.
+ True if all characters return true for the predicate and false otherwise.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each index from 0 to count-1 and concatenating the resulting
+ strings.
+ The number of strings to initialize.
+ The function to take an index and produce a string to
+ be concatenated with the others.
+ The constructed string.
+ Thrown when count is negative.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each of the characters of the input string and concatenating the resulting
+ strings.
+ The function to produce a string from each character of the input string.
+ The input string.
+ The concatenated string.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each character and index of the input string.
+ The function to apply to each character and index of the string.
+ The input string.
+ The resulting string.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each of the characters of the input string.
+ The function to apply to the characters of the string.
+ The input string.
+ The resulting string.
+ Thrown when the input string is null.
+
+
+ Applies the function action to the index of each character in the string and the
+ character itself.
+ The function to apply to each character and index of the string.
+ The input string.
+ Thrown when the input string is null.
+
+
+ Applies the function action to each character in the string.
+ The function to be applied to each character of the string.
+ The input string.
+ Thrown when the input string is null.
+
+
+ Returns a new string made by concatenating the given strings
+ with separator sep, that is a1 + sep + ... + sep + aN.
+ The separator string to be inserted between the strings
+ of the input sequence.
+ The sequence of strings to be concatenated.
+ A new string consisting of the concatenated strings separated by
+ the separation string.
+ Thrown when strings is null.
+
+
+ Functional programming operators for string processing. Further string operations
+ are available via the member functions on strings and other functionality in
+ System.String
+ and System.Text.RegularExpressions types.
+
+
+
+ The SI unit of catalytic activity
+
+
+
+
+ The SI unit of does equivalent
+
+
+
+
+ The SI unit of absorbed dose
+
+
+
+
+ The SI unit of activity referred to a radionuclide
+
+
+
+
+ The SI unit of illuminance
+
+
+
+
+ The SI unit of luminous flux
+
+
+
+
+ The SI unit of inductance
+
+
+
+
+ The SI unit of magnetic flux density
+
+
+
+
+ The SI unit of magnetic flux
+
+
+
+
+ The SI unit of electric conductance
+
+
+
+
+ The SI unit of electric resistance
+
+
+
+
+ The SI unit of capacitance
+
+
+
+
+ The SI unit of electric potential difference, electromotive force
+
+
+
+
+ The SI unit of electric charge, amount of electricity
+
+
+
+
+ The SI unit of power, radiant flux
+
+
+
+
+ The SI unit of energy, work, amount of heat
+
+
+
+
+ The SI unit of pressure, stress
+
+
+
+
+ The SI unit of force
+
+
+
+
+ The SI unit of frequency
+
+
+
+
+ The SI unit of luminous intensity
+
+
+
+
+ The SI unit of amount of substance
+
+
+
+
+ The SI unit of thermodynamic temperature
+
+
+
+
+ The SI unit of electric current
+
+
+
+
+ The SI unit of time
+
+
+
+
+ The SI unit of mass
+
+
+
+
+ The SI unit of length
+
+
+
+
+ The SI unit of length
+
+
+
+
+ A synonym for henry, the SI unit of inductance
+
+
+
+
+ A synonym for katal, the SI unit of catalytic activity
+
+
+
+
+ A synonym for sievert, the SI unit of does equivalent
+
+
+
+
+ A synonym for gray, the SI unit of absorbed dose
+
+
+
+
+ A synonym for becquerel, the SI unit of activity referred to a radionuclide
+
+
+
+
+ A synonym for lux, the SI unit of illuminance
+
+
+
+
+ A synonym for lumen, the SI unit of luminous flux
+
+
+
+
+ A synonym for tesla, the SI unit of magnetic flux density
+
+
+
+
+ A synonym for weber, the SI unit of magnetic flux
+
+
+
+
+ A synonym for UnitNames.ohm, the SI unit of electric resistance.
+
+
+
+
+ A synonym for siemens, the SI unit of electric conductance
+
+
+
+
+ A synonym for farad, the SI unit of capacitance
+
+
+
+
+ A synonym for volt, the SI unit of electric potential difference, electromotive force
+
+
+
+
+ A synonym for coulomb, the SI unit of electric charge, amount of electricity
+
+
+
+
+ A synonym for watt, the SI unit of power, radiant flux
+
+
+
+
+ A synonym for joule, the SI unit of energy, work, amount of heat
+
+
+
+
+ A synonym for pascal, the SI unit of pressure, stress
+
+
+
+
+ A synonym for newton, the SI unit of force
+
+
+
+
+ A synonym for hertz, the SI unit of frequency
+
+
+
+
+ A synonym for candela, the SI unit of luminous intensity
+
+
+
+
+ A synonym for mole, the SI unit of amount of substance
+
+
+
+
+ A synonym for kelvin, the SI unit of thermodynamic temperature
+
+
+
+
+ A synonym for ampere, the SI unit of electric current
+
+
+
+
+ A synonym for second, the SI unit of time
+
+
+
+
+ A synonym for kilogram, the SI unit of mass
+
+
+
+
+ A synonym for Metre, the SI unit of length
+
+
+
+
+ A method used to support the F# query syntax. Returns an empty sequence that has the specified type argument.
+
+
+
+
+ A method used to support the F# query syntax. Returns a sequence that contains the specified values.
+
+
+
+
+ A method used to support the F# query syntax. Returns a sequence of length one that contains the specified value.
+
+
+
+ A query operator that selects those elements based on a specified predicate.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in descending order by the given nullable sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in ascending order by the given nullable sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in descending order by the given sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in ascending order by the given sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that selects elements from a sequence as long as a specified condition is true, and then skips the remaining elements.
+
+
+
+ A query operator that selects a specified number of contiguous elements from those selected so far.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the sum of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the sum of these values.
+
+
+
+
+ A method used to support the F# query syntax. Inputs to queries are implicitly wrapped by a call to one of the overloads of this method.
+
+
+
+
+ A method used to support the F# query syntax. Inputs to queries are implicitly wrapped by a call to one of the overloads of this method.
+
+
+
+ A query operator that sorts the elements selected so far in descending order by the given nullable sorting key.
+
+
+
+ A query operator that sorts the elements selected so far in ascending order by the given nullable sorting key.
+
+
+
+ A query operator that sorts the elements selected so far in descending order by the given sorting key.
+
+
+
+ A query operator that sorts the elements selected so far in ascending order by the given sorting key.
+
+
+
+ A query operator that bypasses elements in a sequence as long as a specified condition is true and then selects the remaining elements.
+
+
+
+ A query operator that bypasses a specified number of the elements selected so far and selects the remaining elements.
+
+
+
+ A query operator that projects each of the elements selected so far.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IQueryable rules.
+
+
+
+
+ A method used to support the F# query syntax. Indicates that the query should be passed as a quotation to the Run method.
+
+
+
+ A query operator that selects the element at a specified index amongst those selected so far.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the minimum of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the minimum resulting value.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the maximum of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the maximum resulting value.
+
+
+
+ A query operator that correlates two sets of selected values based on matching keys and groups the results.
+ If any group is empty, a group with a single default value is used instead.
+ Normal usage is 'leftOuterJoin y in elements2 on (key1 = key2) into group'.
+
+
+
+ A query operator that selects the last element of those selected so far, or a default value if no element is found.
+
+
+
+ A query operator that selects the last element of those selected so far.
+
+
+
+ A query operator that correlates two sets of selected values based on matching keys.
+ Normal usage is 'join y in elements2 on (key1 = key2)'.
+
+
+
+ A query operator that selects the first element of those selected so far, or a default value if the sequence contains no elements.
+
+
+
+ A query operator that selects the first element from those selected so far.
+
+
+
+ A query operator that selects a value for each element selected so far and groups the elements by the given key.
+
+
+
+ A query operator that correlates two sets of selected values based on matching keys and groups the results.
+ Normal usage is 'groupJoin y in elements2 on (key1 = key2) into group'.
+
+
+
+ A query operator that groups the elements selected so far according to a specified key selector.
+
+
+
+
+ A method used to support the F# query syntax. Projects each element of a sequence to another sequence and combines the resulting sequences into one sequence.
+
+
+
+ A query operator that selects the first element selected so far that satisfies a specified condition.
+
+
+
+ A query operator that determines whether any element selected so far satisfies a condition.
+
+
+
+ A query operator that selects the single, specific element of those selected so far, or a default value if that element is not found.
+
+
+
+ A query operator that selects the single, specific element selected so far
+
+
+
+ A query operator that selects distinct elements from the elements selected so far.
+
+
+
+ A query operator that returns the number of selected elements.
+
+
+
+ A query operator that determines whether the selected elements contains a specified element.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the average of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the average of these values.
+
+
+
+ A query operator that determines whether all elements selected so far satisfies a condition.
+
+
+
+ Create an instance of this builder. Use 'query { ... }' to use the query syntax.
+
+
+
+ The type used to support the F# query syntax. Use 'query { ... }' to use the query syntax.
+
+
+
+
+ A property used to support the F# query syntax.
+
+
+
+
+ A method used to support the F# query syntax.
+
+
+
+
+ A partial input or result in an F# query. This type is used to support the F# query syntax.
+
+
+
+ Converts the argument to character. Numeric inputs are converted according to the UTF-16
+ encoding for characters. The operation requires an appropriate static conversion method on the input type.
+ The input value.
+ The converted char.
+
+
+ Converts the argument to System.Decimal using a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted decimal.
+
+
+ Converts the argument to unsigned native integer using a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to signed native integer. This is a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to 64-bit float. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float
+
+
+ Converts the argument to 32-bit float. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float32
+
+
+ Converts the argument to unsigned 64-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to signed 64-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to unsigned 32-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to a particular enum type.
+ The input value.
+ The converted enum type.
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to unsigned 16-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to signed 16-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to signed byte. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+
+ Functions for converting nullable values
+
+
+
+
+ The division operator where a nullable value appears on both left and right sides
+
+
+
+
+ The division operator where a nullable value appears on the right
+
+
+
+
+ The division operator where a nullable value appears on the left
+
+
+
+
+ The modulus operator where a nullable value appears on both left and right sides
+
+
+
+
+ The modulus operator where a nullable value appears on the right
+
+
+
+
+ The modulus operator where a nullable value appears on the left
+
+
+
+
+ The multiplication operator where a nullable value appears on both left and right sides
+
+
+
+
+ The multiplication operator where a nullable value appears on the right
+
+
+
+
+ The multiplication operator where a nullable value appears on the left
+
+
+
+
+ The subtraction operator where a nullable value appears on both left and right sides
+
+
+
+
+ The subtraction operator where a nullable value appears on the right
+
+
+
+
+ The subtraction operator where a nullable value appears on the left
+
+
+
+
+ The addition operator where a nullable value appears on both left and right sides
+
+
+
+
+ The addition operator where a nullable value appears on the right
+
+
+
+
+ The addition operator where a nullable value appears on the left
+
+
+
+
+ The '<>' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '=' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '<' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '<=' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '>' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '>=' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '<>' operator where a nullable value appears on the right
+
+
+
+
+ The '=' operator where a nullable value appears on the right
+
+
+
+
+ The '<' operator where a nullable value appears on the right
+
+
+
+
+ The '<=' operator where a nullable value appears on the right
+
+
+
+
+ The '>' operator where a nullable value appears on the right
+
+
+
+
+ The '>=' operator where a nullable value appears on the right
+
+
+
+
+ The '<>' operator where a nullable value appears on the left
+
+
+
+
+ The '=' operator where a nullable value appears on the left
+
+
+
+
+ The '<' operator where a nullable value appears on the left
+
+
+
+
+ The '<=' operator where a nullable value appears on the left
+
+
+
+
+ The '>' operator where a nullable value appears on the left
+
+
+
+
+ The '>=' operator where a nullable value appears on the left
+
+
+
+
+ Operators for working with nullable values
+
+
+
+
+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IEnumerable rules.
+
+
+
+
+
+
+
+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ rules.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A type used to reconstruct a grouping after applying a mutable->immutable mapping transformation
+ on a result of a query.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The generic MethodInfo for Select function
+ Describes how we got from productions of immutable objects to productions of anonymous objects, with enough information
+ that we can invert the process in final query results.
+
+
+
+
+
+
+
+ Given the expression part of a "yield" or "select" which produces a result in terms of immutable tuples or immutable records,
+ generate an equivalent expression yielding anonymous objects. Also return the conversion for the immutable-to-mutable correspondence
+ so we can reverse this later.
+
+
+
+
+ Simplify gets of tuples and gets of record fields.
+
+
+
+
+ Cleanup the use of property-set object constructions in leaf expressions that form parts of F# queries.
+
+
+
+
+
+
+
+ Given an type involving immutable tuples and records, logically corresponding to the type produced at a
+ "yield" or "select", convert it to a type involving anonymous objects according to the conversion data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recognize anonymous type construction written using 'new AnonymousObject(<e1>, <e2>, ...)'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recognize object construction written using 'new O(Prop1 = <e>, Prop2 = <e>, ...)'
+
+
+
+
+ Tests whether a list consists only of assignments of properties of the
+ given variable, null values (ignored) and ends by returning the given variable
+ (pattern returns only property assignments)
+
+
+
+
+ Recognize sequential series written as (... ((<e>; <e>); <e>); ...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A runtime helper used to evaluate nested quotation literals.
+
+
+
+
+ Evaluates a subset of F# quotations by first converting to a LINQ expression, for the subset of LINQ expressions represented by the
+ expression syntax in the C# language.
+
+
+
+
+ Converts a subset of F# quotations to a LINQ expression, for the subset of LINQ expressions represented by the
+ expression syntax in the C# language.
+
+
+
+
+ Converts a subset of F# quotations to a LINQ expression, for the subset of LINQ expressions represented by the
+ expression syntax in the C# language.
+
+
+
+
+ When used in a quotation, this function indicates a specific conversion
+ should be performed when converting the quotation to a LINQ expression.
+
+ This function should not be called directly.
+
+
+
+
+ When used in a quotation, this function indicates a specific conversion
+ should be performed when converting the quotation to a LINQ expression.
+
+ This function should not be called directly.
+
+
+
+
+ When used in a quotation, this function indicates a specific conversion
+ should be performed when converting the quotation to a LINQ expression.
+
+ This function should not be called directly.
+
+
+
+
+
+
+ Allocates a region of memory on the stack.
+ The number of objects of type T to allocate.
+ A typed pointer to the allocated memory.
+
+
+ Assigns the value into the memory location referenced by the typed native
+ pointer computed by adding index * sizeof<'T> to the given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ The value to assign.
+
+
+ Assigns the value into the memory location referenced by the given typed native pointer.
+ The input pointer.
+ The value to assign.
+
+
+ Dereferences the given typed native pointer.
+ The input pointer.
+ The value at the pointer address.
+
+
+ Dereferences the typed native pointer computed by adding index * sizeof<'T> to the
+ given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ The value at the pointer address.
+
+
+ Returns a typed native pointer by adding index * sizeof<'T> to the
+ given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ A typed pointer.
+
+
+ Returns a machine address for a given typed native pointer.
+ The input pointer.
+ The machine address.
+
+
+ Returns a typed native pointer for a given machine address.
+ The pointer address.
+ A typed pointer.
+
+
+ Contains operations on native pointers. Use of these operators may
+ result in the generation of unverifiable code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the raw expression associated with this type-carrying expression
+
+
+ Type-carrying quoted expressions. Expressions are generated either
+ by quotations in source text or programatically
+
+
+ Returns type of an expression.
+
+
+ Returns the custom attributes of an expression.
+
+
+ Builds an expression that represents a while loop
+ The predicate to control the loop iteration.
+ The body of the while loop.
+ The resulting expression.
+
+
+ Builds an expression that represents setting a mutable variable
+ The input variable.
+ The value to set.
+ The resulting expression.
+
+
+ Builds an expression that represents a variable
+ The input variable.
+ The resulting expression.
+
+
+ Builds an expression that represents a constant value
+ The typed value.
+ The resulting expression.
+
+
+ Builds an expression that represents a constant value of a particular type
+ The untyped object.
+ The type of the object.
+ The resulting expression.
+
+
+ Builds an expression that represents a test of a value is of a particular union case
+ The expression to test.
+ The description of the union case.
+ The resulting expression.
+
+
+ Builds an expression that represents a type test.
+ The expression to test.
+ The target type.
+ The resulting expression.
+
+
+ Builds an expression that represents getting a field of a tuple
+ The input tuple.
+ The index of the tuple element to get.
+ The resulting expression.
+
+
+ Builds an expression that represents a try/with construct for exception filtering and catching.
+ The body of the try expression.
+
+
+ The variable to bind to a caught exception.
+ The expression evaluated when an exception is caught.
+ The resulting expression.
+
+
+ Try and find a stored reflection definition for the given method. Stored reflection
+ definitions are added to an F# assembly through the use of the [<ReflectedDefinition>] attribute.
+ The description of the method to find.
+ The reflection definition or None if a match could not be found.
+
+
+ Builds an expression that represents a try/finally construct
+ The body of the try expression.
+ The final part of the expression to be evaluated.
+ The resulting expression.
+
+
+ Format the expression as a string
+ Indicates if method, property, constructor and type objects should be printed in detail. If false, these are abbreviated to their name.
+ The formatted string.
+
+
+ Substitutes through the given expression using the given functions
+ to map variables to new values. The functions must give consistent results
+ at each application. Variable renaming may occur on the target expression
+ if variable capture occurs.
+ The function to map variables into expressions.
+ The expression with the given substitutions.
+
+
+ Builds an expression that represents the sequential execution of one expression followed by another
+ The first expression.
+ The second expression.
+ The resulting expression.
+
+
+ Permits interactive environments such as F# Interactive
+ to explicitly register new pickled resources that represent persisted
+ top level definitions. The string indicates a unique name for the resources
+ being added. The format for the bytes is the encoding generated by the F# compiler.
+ The assembly associated with the resource.
+ The unique name for the resources being added.
+ The serialized resource to register with the environment.
+
+
+ Builds an expression that represents a nested quotation literal
+ The expression being quoted.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a static property
+ The description of the property.
+ The value to set.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a property of an object
+ The input object.
+ The description of the property.
+ The value to set.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents reading a static property
+ The description of the property.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents reading a property of an object
+ The input object.
+ The description of the property.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of a union case value
+ The description of the union case.
+ The list of arguments for the case.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of an F# tuple value
+ The list of elements of the tuple.
+ The resulting expression.
+
+
+ Builds record-construction expressions
+ The type of record.
+ The list of elements of the record.
+ The resulting expression.
+
+
+ Builds an expression that represents the invocation of an object constructor
+ The description of the constructor.
+ The list of arguments to the constructor.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of a delegate value for the given type
+ The type of delegate.
+ The parameters for the delegate.
+ The body of the function.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of an array value initialized with the given elements
+ The type for the elements of the array.
+ The list of elements of the array.
+ The resulting expression.
+
+
+ Builds recursives expressions associated with 'let rec' constructs
+ The list of bindings for the let expression.
+ The sub-expression where the bindings are in scope.
+ The resulting expression.
+
+
+ Builds expressions associated with 'let' constructs
+ The variable in the let expression.
+ The expression bound to the variable.
+ The sub-expression where the binding is in scope.
+ The resulting expression.
+
+
+ Builds an expression that represents the constrution of an F# function value
+ The parameter to the function.
+ The body of the function.
+ The resulting expression.
+
+
+ Builds 'if ... then ... else' expressions.
+ The condition expression.
+ The then sub-expression.
+ The else sub-expression.
+ The resulting expression.
+
+
+ Fetches or creates a new variable with the given name and type from a global pool of shared variables
+ indexed by name and type. The type is given by the expicit or inferred type parameter
+ The variable name.
+ The created of fetched typed global variable.
+
+
+ Gets the free expression variables of an expression as a list.
+ A sequence of the free variables in the expression.
+
+
+ Builds a 'for i = ... to ... do ...' expression that represent loops over integer ranges
+ The sub-expression declaring the loop variable.
+ The sub-expression setting the initial value of the loop variable.
+ The sub-expression declaring the final value of the loop variable.
+ The sub-expression representing the body of the loop.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a field of an object
+ The input object.
+ The description of the field to write to.
+ The value to set to the field.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a static field
+ The description of the field to write to.
+ The value to the set to the field.
+ The resulting expression.
+
+
+ Builds an expression that represents the access of a field of an object
+ The input object.
+ The description of the field to access.
+ The resulting expression.
+
+
+ Builds an expression that represents the access of a static field
+ The description of the field to access.
+ The resulting expression.
+
+
+
+
+
+ This function is called automatically when quotation syntax (<@ @>) and related typed-expression
+ quotations are used. The bytes are a pickled binary representation of an unlinked form of the quoted expression,
+ and the System.Type argument is any type in the assembly where the quoted
+ expression occurs, i.e. it helps scope the interpretation of the cross-assembly
+ references in the bytes.
+ A type in the assembly where the quotation occurs.
+ The list of spliced types.
+ The list of spliced expressions.
+ The serialized form of the quoted expression.
+ The resulting expression.
+
+
+ Builds an expression that represents the invocation of a default object constructor
+ The type on which the constructor is invoked.
+ The resulting expression.
+
+
+ Builds an expression that represents the coercion of an expression to a type
+ The expression to coerce.
+ The target type.
+ The resulting expression.
+
+
+ Returns a new typed expression given an underlying runtime-typed expression.
+ A type annotation is usually required to use this function, and
+ using an incorrect type annotation may result in a later runtime exception.
+ The expression to cast.
+ The resulting typed expression.
+
+
+ Builds an expression that represents a call to an instance method associated with an object
+ The input object.
+ The description of the method to call.
+ The list of arguments to the method.
+ The resulting expression.
+
+
+ Builds an expression that represents a call to an static method or module-bound function
+ The MethodInfo describing the method to call.
+ The list of arguments to the method.
+ The resulting expression.
+
+
+ Builds an expression that represents the application of a first class function value to multiple arguments
+ The function to apply.
+ The list of lists of arguments to the function.
+ The resulting expression.
+
+
+ Builds an expression that represents the application of a first class function value to a single argument.
+ The function to apply.
+ The argument to the function.
+ The resulting expression.
+
+
+ Builds an expression that represents setting the value held at a particular address.
+ The target expression.
+ The value to set at the address.
+ The resulting expression.
+
+
+ Builds an expression that represents getting the address of a value.
+ The target expression.
+ The resulting expression.
+
+
+ Quoted expressions annotated with System.Type values.
+
+
+ The type associated with the variable
+
+
+ The declared name of the variable
+
+
+ Indicates if the variable represents a mutable storage location
+
+
+ Fetches or create a new variable with the given name and type from a global pool of shared variables
+ indexed by name and type
+ The name of the variable.
+ The type associated with the variable.
+ The retrieved or created variable.
+
+
+ Creates a new variable with the given name, type and mutability
+ The declared name of the variable.
+ The type associated with the variable.
+ Indicates if the variable represents a mutable storage location. Default is false.
+ The created variable.
+
+
+ Information at the binding site of a variable
+
+
+ Re-build combination expressions. The first parameter should be an object
+ returned by the ShapeCombination case of the active pattern in this module.
+ The input shape.
+ The list of arguments.
+ The rebuilt expression.
+
+
+ An active pattern that performs a complete decomposition viewing the expression tree as a binding structure
+ The input expression.
+ The decomposed Var, Lambda, or ConstApp.
+
+
+ Active patterns for traversing, visiting, rebuilding and tranforming expressions in a generic way
+
+
+ An active pattern to recognize property setters that have an associated ReflectedDefinition
+ The description of the property.
+ The expression of the method definition if found, or None.
+
+
+ An active pattern to recognize property getters or values in modules that have an associated ReflectedDefinition
+ The description of the property.
+ The expression of the method definition if found, or None.
+
+
+ An active pattern to recognize methods that have an associated ReflectedDefinition
+ The description of the method.
+ The expression of the method definition if found, or None.
+
+
+ A parameterized active pattern to recognize calls to a specified function or method.
+ The returned elements are the optional target object (present if the target is an
+ instance method), the generic type instantation (non-empty if the target is a generic
+ instantiation), and the arguments to the function or method.
+ The input template expression to specify the method to call.
+ The optional target object (present if the target is an
+ instance method), the generic type instantation (non-empty if the target is a generic
+ instantiation), and the arguments to the function or method.
+
+
+ An active pattern to recognize constant unsigned int64 expressions
+ The input expression to match against.
+ uint64 option
+
+
+ An active pattern to recognize constant int64 expressions
+ The input expression to match against.
+ int64 option
+
+
+ An active pattern to recognize constant unsigned int32 expressions
+ The input expression to match against.
+ uint32 option
+
+
+ An active pattern to recognize constant int32 expressions
+ The input expression to match against.
+ int32 option
+
+
+ An active pattern to recognize constant unsigned int16 expressions
+ The input expression to match against.
+ uint16 option
+
+
+ An active pattern to recognize constant int16 expressions
+ The input expression to match against.
+ int16 option
+
+
+ An active pattern to recognize constant byte expressions
+ The input expression to match against.
+ byte option
+
+
+ An active pattern to recognize constant signed byte expressions
+ The input expression to match against.
+ sbyte option
+
+
+ An active pattern to recognize constant unicode character expressions
+ The input expression to match against.
+ char option
+
+
+ An active pattern to recognize constant 64-bit floating point number expressions
+ The input expression to match against.
+ float option
+
+
+ An active pattern to recognize constant 32-bit floating point number expressions
+ The input expression to match against.
+ float32 option
+
+
+ An active pattern to recognize constant string expressions
+ The input expression to match against.
+ string option
+
+
+ An active pattern to recognize constant boolean expressions
+ The input expression to match against.
+ bool option
+
+
+ An active pattern to recognize () constant expressions
+ The input expression to match against.
+ unit option
+
+
+ An active pattern to recognize expressions of the form a || b
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions of the form a && b
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent the application of a (possibly curried or tupled) first class function value
+ The input expression to match against.
+ (Expr * Expr list list) option
+
+
+ An active pattern to recognize expressions that represent a (possibly curried or tupled) first class function value
+ The input expression to match against.
+ (Var list list * Expr) option
+
+
+ Contains a set of derived F# active patterns to analyze F# expression objects
+
+
+ An active pattern to recognize expressions that represent setting a mutable variable
+ The input expression to match against.
+ (Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent a variable
+ The input expression to match against.
+ Var option
+
+
+ An active pattern to recognize expressions that represent a constant value
+ The input expression to match against.
+ (obj * Type) option
+
+
+ An active pattern to recognize expressions that represent a test if a value is of a particular union case
+ The input expression to match against.
+ (Expr * UnionCaseInfo) option
+
+
+ An active pattern to recognize expressions that represent a dynamic type test
+ The input expression to match against.
+ (Expr * Type) option
+
+
+ An active pattern to recognize expressions that represent getting a tuple field
+ The input expression to match against.
+ (Expr * int) option
+
+
+ An active pattern to recognize expressions that represent a try/finally construct
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent a try/with construct for exception filtering and catching
+ The input expression to match against.
+ (Expr * Var * Expr * Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent sequential exeuction of one expression followed by another
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent a nested quotation literal
+ The input expression to match against.
+ Expr option
+
+
+ An active pattern to recognize expressions that represent setting a static or instance property, or a non-function value declared in a module
+ The input expression to match against.
+ (Expr option * PropertyInfo * Expr list * Expr) option
+
+
+ An active pattern to recognize expressions that represent the read of a static or instance property, or a non-function value declared in a module
+ The input expression to match against.
+ (Expr option * PropertyInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of tuple values
+ The input expression to match against.
+ (Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of particular union case values
+ The input expression to match against.
+ (UnionCaseInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of record values
+ The input expression to match against.
+ (Type * Expr list) option
+
+
+ An active pattern to recognize expressions that represent invocation of object constructors
+ The input expression to match against.
+ (ConstructorInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of delegate values
+ The input expression to match against.
+ (Type * Var list * Expr) option
+
+
+ An active pattern to recognize expressions that represent invocations of a default constructor of a struct
+ The input expression to match against.
+ Type option
+
+
+ An active pattern to recognize expressions that represent the construction of arrays
+ The input expression to match against.
+ (Type * Expr list) option
+
+
+ An active pattern to recognize expressions that represent recursive let bindings of one or more variables
+ The input expression to match against.
+ ((Var * Expr) list * Expr) option
+
+
+ An active pattern to recognize expressions that represent let bindings
+ The input expression to match against.
+ (Var * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent first class function values
+ The input expression to match against.
+ (Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent conditionals
+ The input expression to match against.
+ (Expr * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent while loops
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent loops over integer ranges
+ The input expression to match against.
+ (Var * Expr * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent setting a static or instance field
+ The input expression to match against.
+ (Expr option * FieldInfo * Expr) option
+
+
+ An active pattern to recognize expressions that represent getting a static or instance field
+ The input expression to match against.
+ (Expr option * FieldInfo) option
+
+
+ An active pattern to recognize expressions that represent coercions from one type to another
+ The input expression to match against.
+ (Expr * Type) option
+
+
+ An active pattern to recognize expressions that represent calls to static and instance methods, and functions defined in modules
+ The input expression to match against.
+ (Expr option * MethodInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent applications of first class function values
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent setting the value held at an address
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent getting the address of a value
+ The input expression to match against.
+ Expr option
+
+
+ Contains a set of primitive F# active patterns to analyze F# expression objects
+
+
+ Returns a System.Type representing an F# tuple type with the given element types
+ An array of types for the tuple elements.
+ The type representing the tuple containing the input elements.
+
+
+ Returns a System.Type representing the F# function type with the given domain and range
+ The input type of the function.
+ The output type of the function.
+ The function type with the given domain and range.
+
+
+ Returns true if the typ is a representation of an F# union type or the runtime type of a value of that type
+ The type to check.
+ Optional binding flags.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# tuple type
+ The type to check.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# record type
+ The type to check.
+ Optional binding flags.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a System.Type value corresponding to the compiled form of an F# module
+ The type to check.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# function type or the runtime type of a closure implementing an F# function type
+ The type to check.
+ True if the type check succeeds.
+
+
+ Returns true if the typ is a representation of an F# exception declaration
+ The type to check.
+ Optional binding flags.
+ True if the type check is an F# exception.
+
+
+ Gets the cases of a union type.
+
+ Assumes the given type is a union type. If not, ArgumentException is raised during pre-computation.
+ The input union type.
+ Optional binding flags.
+ Thrown when the input type is not a union type.
+ An array of descriptions of the cases of the given union type.
+
+
+ Gets the tuple elements from the representation of an F# tuple type.
+ The input tuple type.
+ An array of the types contained in the given tuple type.
+
+
+ Reads all the fields from a record value, in declaration order
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The input record type.
+ Optional binding flags.
+ An array of descriptions of the properties of the record type.
+
+
+ Gets the domain and range types from an F# function type or from the runtime type of a closure implementing an F# type
+ The input function type.
+ A tuple of the domain and range types of the input function.
+
+
+ Reads all the fields from an F# exception declaration, in declaration order
+
+ Assumes exceptionType is an exception representation type. If not, ArgumentException is raised.
+ The exception type to read.
+ Optional binding flags.
+ Thrown if the given type is not an exception.
+ An array containing the PropertyInfo of each field in the exception.
+
+
+ Contains operations associated with constructing and analyzing F# types such as records, unions and tuples
+
+
+ Assumes the given type is a union type.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function is more efficient than calling GetUnionCase
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The type of union to optimize reading.
+ Optional binding flags.
+ An optimized function to read the tags of the given union type.
+
+
+ Precompute a property or static method for reading an integer representing the case tag of a union type.
+ The type of union to read.
+ Optional binding flags.
+ The description of the union case reader.
+
+
+ Precomputes a function for reading all the fields for a particular discriminator case of a union type
+
+ Using the computed function will typically be faster than executing a corresponding call to GetFields
+ The description of the union case to read.
+ Optional binding flags.
+ A function to for reading the fields of the given union case.
+
+
+ A method that constructs objects of the given case
+ The description of the union case.
+ Optional binding flags.
+ The description of the constructor of the given union case.
+
+
+ Precomputes a function for constructing a discriminated union value for a particular union case.
+ The description of the union case.
+ Optional binding flags.
+ A function for constructing values of the given union case.
+
+
+ Precomputes a function for reading the values of a particular tuple type
+
+ Assumes the given type is a TupleType.
+ If not, ArgumentException is raised during pre-computation.
+ The tuple type to read.
+ Thrown when the given type is not a tuple type.
+ A function to read values of the given tuple type.
+
+
+ Gets information that indicates how to read a field of a tuple
+ The input tuple type.
+ The index of the tuple element to describe.
+ The description of the tuple element and an optional type and index if the tuple is big.
+
+
+ Gets a method that constructs objects of the given tuple type.
+ For small tuples, no additional type will be returned.
+
+ For large tuples, an additional type is returned indicating that
+ a nested encoding has been used for the tuple type. In this case
+ the suffix portion of the tuple type has the given type and an
+ object of this type must be created and passed as the last argument
+ to the ConstructorInfo. A recursive call to PreComputeTupleConstructorInfo
+ can be used to determine the constructor for that the suffix type.
+ The input tuple type.
+ The description of the tuple type constructor and an optional extra type
+ for large tuples.
+
+
+ Precomputes a function for reading the values of a particular tuple type
+
+ Assumes the given type is a TupleType.
+ If not, ArgumentException is raised during pre-computation.
+ The type of tuple to read.
+ Thrown when the given type is not a tuple type.
+ A function to read a particular tuple type.
+
+
+ Precompute a function for reading all the fields from a record. The fields are returned in the
+ same order as the fields reported by a call to Microsoft.FSharp.Reflection.Type.GetInfo for
+ this type.
+
+ Assumes the given type is a RecordType.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The type of record to read.
+ Optional binding flags.
+ Thrown when the input type is not a record type.
+ An optimized reader for the given record type.
+
+
+ Precompute a function for reading a particular field from a record.
+ Assumes the given type is a RecordType with a field of the given name.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The PropertyInfo of the field to read.
+ Thrown when the input type is not a record type.
+ A function to read the specified field from the record.
+
+
+ Get a ConstructorInfo for a record type
+ The record type.
+ Optional binding flags.
+ A ConstructorInfo for the given record type.
+
+
+ Precompute a function for constructing a record value.
+
+ Assumes the given type is a RecordType.
+ If not, ArgumentException is raised during pre-computation.
+ The type of record to construct.
+ Optional binding flags.
+ Thrown when the input type is not a record type.
+ A function to construct records of the given type.
+
+
+ Create a union case value.
+ The description of the union case to create.
+ The array of arguments to construct the given case.
+ Optional binding flags.
+ The constructed union case.
+
+
+ Creates an instance of a tuple type
+
+ Assumes at least one element is given. If not, ArgumentException is raised.
+ The array of tuple fields.
+ The tuple type to create.
+ Thrown if no elements are given.
+ An instance of the tuple type with the given elements.
+
+
+ Creates an instance of a record type.
+
+ Assumes the given input is a record type.
+ The type of record to make.
+ The array of values to initialize the record.
+ Optional binding flags for the record.
+ Thrown when the input type is not a record type.
+ The created record.
+
+
+ Builds a typed function from object from a dynamic function implementation
+ The function type of the implementation.
+ The untyped lambda of the function implementation.
+ A typed function from the given dynamic implementation.
+
+
+ Identify the union case and its fields for an object
+
+ Assumes the given input is a union case value. If not, ArgumentException is raised.
+
+ If the type is not given, then the runtime type of the input object is used to identify the
+ relevant union type. The type should always be given if the input object may be null. For example,
+ option values may be represented using the 'null'.
+ The input union case.
+ The union type containing the value.
+ Optional binding flags.
+ Thrown when the input type is not a union case value.
+ The description of the union case and its fields.
+
+
+ Reads all fields from a tuple.
+
+ Assumes the given input is a tuple value. If not, ArgumentException is raised.
+ The input tuple.
+ Thrown when the input is not a tuple value.
+ An array of the fields from the given tuple.
+
+
+ Reads a field from a tuple value.
+
+ Assumes the given input is a tuple value. If not, ArgumentException is raised.
+ The input tuple.
+ The index of the field to read.
+ The value of the field.
+
+
+ Reads all the fields from a record value.
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The record object.
+ Optional binding flags for the record.
+ Thrown when the input type is not a record type.
+ The array of fields from the record.
+
+
+ Reads a field from a record value.
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The record object.
+ The PropertyInfo describing the field to read.
+ Thrown when the input type is not a record type.
+ The field from the record.
+
+
+ Reads all the fields from a value built using an instance of an F# exception declaration
+
+ Assumes the given input is an F# exception value. If not, ArgumentException is raised.
+ The exception instance.
+ Optional binding flags.
+ Thrown when the input type is not an F# exception.
+ The fields from the given exception.
+
+
+ Contains operations associated with constructing and analyzing values associated with F# types
+ such as records, unions and tuples.
+
+
+ The integer tag for the case.
+
+
+ The name of the case.
+
+
+ The type in which the case occurs.
+
+
+ The fields associated with the case, represented by a PropertyInfo.
+ The fields associated with the case.
+
+
+ Returns the custom attributes data associated with the case.
+ An list of custom attribute data items.
+
+
+ Returns the custom attributes associated with the case matching the given attribute type.
+ The type of attributes to return.
+ An array of custom attributes.
+
+
+ Returns the custom attributes associated with the case.
+ An array of custom attributes.
+
+
+ Represents a case of a discriminated union type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A record of options to control structural formatting.
+ For F# Interactive properties matching those of this value can be accessed via the 'fsi'
+ value.
+
+ Floating Point format given in the same format accepted by System.Double.ToString,
+ e.g. f6 or g15.
+
+ If ShowProperties is set the printing process will evaluate properties of the values being
+ displayed. This may cause additional computation.
+
+ The ShowIEnumerable is set the printing process will force the evalution of IEnumerable objects
+ to a small, finite depth, as determined by the printing parameters.
+ This may lead to additional computation being performed during printing.
+
+ <example>
+ From F# Interactive the default settings can be adjusted using, for example,
+ <pre>
+ open Microsoft.FSharp.Compiler.Interactive.Settings;;
+ setPrintWidth 120;;
+ </pre>
+ </example>
+
+
+
+
+ Data representing structured layouts of terms.
+
+
+
+
+ Convert any value to a layout using the given formatting options. The
+ layout can then be processed using formatting display engines such as
+ those in the LayoutOps module. any_to_string and output_any are
+ built using any_to_layout with default format options.
+
+
+
+
+
+
+
+ Ouput any value to a channel using the same set of formatting rules
+ as any_to_string
+
+
+
+
+ Convert any value to a string using a standard formatter
+ Data is typically formatted in a structured format, e.g.
+ lists are formatted using the "[1;2]" notation.
+ The details of the format are not specified and may change
+ from version to version and according to the flags given
+ to the F# compiler. The format is intended to be human-readable,
+ not machine readable. If alternative generic formats are required
+ you should develop your own formatter, using the code in the
+ implementation of this file as a starting point.
+
+ Data from other .NET languages is formatted using a virtual
+ call to Object.ToString() on the boxed version of the input.
+
+
+
+
+
+
+
+ For limitting layout of list-like sequences (lists,arrays,etc).
+ unfold a list of items using (project and z) making layout list via itemL.
+ If reach maxLength (before exhausting) then truncate.
+
+
+
+
+ See tagL
+
+
+
+
+ Layout like an F# list.
+
+
+
+
+ Layout like an F# option.
+
+
+
+
+ Layout list vertically.
+
+
+
+
+ Layout two vertically.
+
+
+
+
+ Form tuple of layouts.
+
+
+
+
+ Wrap braces around layout.
+
+
+
+
+ Wrap square brackets around layout.
+
+
+
+
+ Wrap round brackets around Layout.
+
+
+
+
+ Join layouts into a list separated using the given Layout.
+
+
+
+
+ Join layouts into a semi-colon separated list.
+
+
+
+
+ Join layouts into a space separated list.
+
+
+
+
+ Join layouts into a comma separated list.
+
+
+
+
+ Join broken with ident=2
+
+
+
+
+ Join broken with ident=1
+
+
+
+
+ Join broken with ident=0
+
+
+
+
+ Join, possible break with indent=2
+
+
+
+
+ Join, possible break with indent=1
+
+
+
+
+ Join, possible break with indent=0
+
+
+
+
+ Join, unbreakable.
+
+
+
+
+ An string which is left parenthesis (no space on the right).
+
+
+
+
+ An string which is right parenthesis (no space on the left).
+
+
+
+
+ An string which requires no spaces either side.
+
+
+
+
+ An string leaf
+
+
+
+
+ An uninterpreted leaf, to be interpreted into a string
+ by the layout engine. This allows leaf layouts for numbers, strings and
+ other atoms to be customized according to culture.
+
+
+
+
+ Is it the empty layout?
+
+
+
+
+ The empty layout
+
+
+
+
+ A layout is a sequence of strings which have been joined together.
+ The strings are classified as words, separators and left and right parenthesis.
+ This classification determines where spaces are inserted.
+ A joint is either unbreakable, breakable or broken.
+ If a joint is broken the RHS layout occurs on the next line with optional indentation.
+ A layout can be squashed to for given width which forces breaks as required.
+
+
+
+
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.dll b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.dll
new file mode 100644
index 00000000..5c36664d
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.dll differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.optdata b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.optdata
new file mode 100644
index 00000000..9adf891f
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.optdata differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.sigdata b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.sigdata
new file mode 100644
index 00000000..1a074ebf
Binary files /dev/null and b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.sigdata differ
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.xml b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.xml
new file mode 100644
index 00000000..6d62748b
--- /dev/null
+++ b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/lib/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/FSharp.Core.xml
@@ -0,0 +1,10335 @@
+
+
+FSharp.Core
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the tail of the list, which is a list containing all the elements of the list, excluding the first element
+
+
+ Gets the number of items contained in the list
+
+
+ Gets the element of the list at the given position.
+ Lists are represented as linked lists so this is an O(n) operation.
+ The index.
+ The value at the given index.
+
+
+ Gets a value indicating if the list contains no entries
+
+
+ Gets the first element of the list
+
+
+ Returns an empty list of a particular type
+
+
+ Returns a list with head as its first element and tail as its subsequent elements
+ A new head value for the list.
+ The existing list.
+ The list with head appended to the front of tail.
+
+
+ The type of immutable singly-linked lists.
+
+ Use the constructors [] and :: (infix) to create values of this type, or
+ the notation [1;2;3]. Use the values in the List module to manipulate
+ values of this type, or pattern match against the values directly.
+
+
+ Lookup an element in the map. Raise KeyNotFoundException if no binding
+ exists in the map.
+ The input key.
+ Thrown when the key is not found.
+ The value mapped to the key.
+
+
+ Returns true if there are no bindings in the map.
+
+
+ The number of bindings in the map.
+
+
+ Lookup an element in the map, returning a Some value if the element is in the domain
+ of the map and None if not.
+ The input key.
+ The mapped value, or None if the key is not in the map.
+
+
+ Removes an element from the domain of the map. No exception is raised if the element is not present.
+ The input key.
+ The resulting map.
+
+
+
+
+
+ Tests if an element is in the domain of the map.
+ The input key.
+ True if the map contains the given key.
+
+
+ Returns a new map with the binding added to the given map.
+ The input key.
+ The resulting map.
+
+
+ Builds a map that contains the bindings of the given IEnumerable.
+ The input sequence of key/value pairs.
+ The resulting map.
+
+
+ Immutable maps. Keys are ordered by F# generic comparison.
+
+ Maps based on generic comparison are efficient for small keys. They are not a suitable choice if keys are recursive data structures
+ or if keys require bespoke comparison semantics.
+
+ All members of this class are thread-safe and may be used concurrently from multiple threads.
+
+
+ An abbreviation for the CLI type System.Collections.Generic.List<_>
+
+
+ Returns a new set with the elements of the second set removed from the first.
+ The first input set.
+ The second input set.
+ A set containing elements of the first set that are not contained in the second set.
+
+
+ Compute the union of the two sets.
+ The first input set.
+ The second input set.
+ The union of the two input sets.
+
+
+ Returns the lowest element in the set according to the ordering being used for the set.
+
+
+ Returns the highest element in the set according to the ordering being used for the set.
+
+
+ A useful shortcut for Set.isEmpty. See the Set module for further operations on sets.
+
+
+ The number of elements in the set
+
+
+ A useful shortcut for Set.remove. Note this operation produces a new set
+ and does not mutate the original set. The new set will share many storage
+ nodes with the original. See the Set module for further operations on sets.
+ The value to remove from the set.
+ The result set.
+
+
+ Evaluates to "true" if all elements of the second set are in the first.
+ The set to test against.
+ True if this set is a superset of otherSet.
+
+
+ Evaluates to "true" if all elements of the first set are in the second.
+ The set to test against.
+ True if this set is a subset of otherSet.
+
+
+ Evaluates to "true" if all elements of the second set are in the first, and at least
+ one element of the first is not in the second.
+ The set to test against.
+ True if this set is a proper superset of otherSet.
+
+
+ Evaluates to "true" if all elements of the first set are in the second, and at least
+ one element of the second is not in the first.
+ The set to test against.
+ True if this set is a proper subset of otherSet.
+
+
+
+
+
+ A useful shortcut for Set.contains. See the Set module for further operations on sets.
+ The value to check.
+ True if the set contains value.
+
+
+ A useful shortcut for Set.add. Note this operation produces a new set
+ and does not mutate the original set. The new set will share many storage
+ nodes with the original. See the Set module for further operations on sets.
+ The value to add to the set.
+ The result set.
+
+
+ Create a set containing elements drawn from the given sequence.
+ The input sequence.
+ The result set.
+
+
+ Immutable sets based on binary trees, where comparison is the
+ F# structural comparison function, potentially using implementations
+ of the IComparable interface on key values.
+
+ See the Set module for further operations on sets.
+
+ All members of this class are thread-safe and may be used concurrently from multiple threads.
+
+
+ An abbreviation for the type of immutable singly-linked lists.
+
+ Use the constructors [] and :: (infix) to create values of this type, or
+ the notation [1;2;3]. Use the values in the List module to manipulate
+ values of this type, or pattern match against the values directly.
+
+
+ An abbreviation for the CLI type System.Collections.Generic.IEnumerable<_>
+
+
+ Fetches an element from a 2D array. You can also use the syntax array.[index1,index2].
+
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+
+ The value of the array at the given index.
+ Thrown when the indices are negative or exceed the bounds of the array.
+
+
+ Sets the value of an element in an array. You can also use the syntax array.[index1,index2] <- value.
+
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The value to set in the array.
+ Thrown when the indices are negative or exceed the bounds of the array.
+
+
+ Builds a new array whose elements are the same as the input array but
+ where a non-zero-based input array generates a corresponding zero-based
+ output array.
+
+ The input array.
+
+ The zero-based output array.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer indices passed to the
+ function indicates the element being transformed.
+
+ For non-zero-based arrays the basing on an input array will be propagated to the output
+ array.
+
+ A function that is applied to transform each element of the array. The two integers
+ provide the index of the element.
+ The input array.
+
+ An array whose elements have been transformed by the given mapping.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+
+ A function that is applied to transform each item of the input array.
+ The input array.
+
+ An array whose elements have been transformed by the given mapping.
+
+
+ Returns the length of an array in the second dimension.
+
+ The input array.
+
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension.
+
+ The input array.
+
+ The length of the array in the first dimension.
+
+
+ Applies the given function to each element of the array. The integer indices passed to the
+ function indicates the index of element.
+
+ A function to apply to each element of the array with the indices available as an argument.
+ The input array.
+
+
+ Applies the given function to each element of the array.
+
+ A function to apply to each element of the array.
+ The input array.
+
+
+ Creates an array where the entries are initially Unchecked.defaultof<'T>.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+
+ The created array.
+ Thrown when length1 or length2 is negative.
+
+
+ Creates an array whose elements are all initially the given value.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ The value to populate the new array.
+
+ The created array.
+ Thrown when length1 or length2 is negative.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+
+ The length of the first dimension of the array.
+ The length of the second dimension of the array.
+ A function to produce elements of the array given the two indices.
+
+ The generated array.
+ Thrown when either of the lengths is negative.
+
+
+ Reads a range of elements from the first array and write them into the second.
+
+ The source array.
+ The first-dimension index to begin copying from in the source array.
+ The second-dimension index to begin copying from in the source array.
+ The target array.
+ The first-dimension index to begin copying into in the target array.
+ The second-dimension index to begin copying into in the target array.
+ The number of elements to copy across the first dimension of the arrays.
+ The number of elements to copy across the second dimension of the arrays.
+ Thrown when any of the indices are negative or if either of
+ the counts are larger than the dimensions of the array allow.
+
+
+ Builds a new array whose elements are the same as the input array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+
+ The input array.
+
+ A copy of the input array.
+
+
+ Fetches the base-index for the second dimension of the array.
+
+ The input array.
+
+ The base-index of the second dimension of the array.
+
+
+ Fetches the base-index for the first dimension of the array.
+
+ The input array.
+
+ The base-index of the first dimension of the array.
+
+
+ Basic operations on 2-dimensional arrays.
+
+ F# and CLI multi-dimensional arrays are typically zero-based.
+ However, CLI multi-dimensional arrays used in conjunction with external
+ libraries (e.g. libraries associated with Visual Basic) be
+ non-zero based, using a potentially different base for each dimension.
+ The operations in this module will accept such arrays, and
+ the basing on an input array will be propagated to a matching output
+ array on the Array2D.map and Array2D.mapi operations.
+ Non-zero-based arrays can also be created using Array2D.zeroCreateBased,
+ Array2D.createBased and Array2D.initBased.
+
+
+ Creates an array where the entries are initially the "default" value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The created array.
+
+
+ Sets the value of an element in an array. You can also
+ use the syntax 'array.[index1,index2,index3] <- value'.
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The value to set at the given index.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer indices passed to the
+ function indicates the element being transformed.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+ The function to transform the elements at each index in the array.
+ The input array.
+ The array created from the transformed elements.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+
+ For non-zero-based arrays the basing on an input array will be propogated to the output
+ array.
+ The function to transform each element of the array.
+ The input array.
+ The array created from the transformed elements.
+
+
+ Returns the length of an array in the third dimension.
+ The input array.
+ The length of the array in the third dimension.
+
+
+ Returns the length of an array in the second dimension.
+ The input array.
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension
+ The input array.
+ The length of the array in the first dimension.
+
+
+ Applies the given function to each element of the array. The integer indicies passed to the
+ function indicates the index of element.
+ The function to apply to each element of the array.
+ The input array.
+
+
+ Applies the given function to each element of the array.
+ The function to apply to each element of the array.
+ The input array.
+
+
+ Fetches an element from a 3D array. You can also use the syntax 'array.[index1,index2,index3]'
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The value at the given index.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The function to create an initial value at each index into the array.
+ The created array.
+
+
+ Creates an array whose elements are all initially the given value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The value of the array elements.
+ The created array.
+
+
+ Basic operations on rank 3 arrays.
+
+
+ Sets the value of an element in an array. You can also
+ use the syntax 'array.[index1,index2,index3,index4] <- value'.
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The index along the fourth dimension.
+ The value to set.
+
+
+ Fetches an element from a 4D array. You can also use the syntax 'array.[index1,index2,index3,index4]'
+ The input array.
+ The index along the first dimension.
+ The index along the second dimension.
+ The index along the third dimension.
+ The index along the fourth dimension.
+ The value at the given index.
+
+
+ Creates an array where the entries are initially the "default" value.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The created array.
+
+
+ Returns the length of an array in the fourth dimension.
+ The input array.
+ The length of the array in the fourth dimension.
+
+
+ Returns the length of an array in the third dimension.
+ The input array.
+ The length of the array in the third dimension.
+
+
+ Returns the length of an array in the second dimension.
+ The input array.
+ The length of the array in the second dimension.
+
+
+ Returns the length of an array in the first dimension
+ The input array.
+ The length of the array in the first dimension.
+
+
+ Creates an array given the dimensions and a generator function to compute the elements.
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The function to create an initial value at each index in the array.
+ The created array.
+
+
+ Creates an array whose elements are all initially the given value
+ The length of the first dimension.
+ The length of the second dimension.
+ The length of the third dimension.
+ The length of the fourth dimension.
+ The initial value for each element of the array.
+ The created array.
+
+
+ Basic operations on rank 4 arrays.
+
+
+ Combines three arrays into an array of pairs. The three arrays must have equal lengths, otherwise an ArgumentException is
+ raised.
+ The first input array.
+ The second input array.
+ The third input array.
+ Thrown when the input arrays differ in length.
+ The array of tupled elements.
+
+
+ Combines the two arrays into an array of pairs. The two arrays must have equal lengths, otherwise an ArgumentException is
+ raised.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of tupled elements.
+
+
+ Splits an array of triples into three arrays.
+ The input array.
+ The tuple of three arrays.
+
+
+ Splits an array of pairs into two arrays.
+ The input array.
+ The two arrays.
+
+
+ Returns the index of the first element in the array
+ that satisfies the given predicate.
+ The function to test the input elements.
+ The input array.
+ The index of the first element that satisfies the predicate, or None.
+
+
+ Returns the first element for which the given function returns true.
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input array.
+ The first element that satisfies the predicate, or None.
+
+
+ Views the given array as a sequence.
+ The input array.
+ The sequence of array elements.
+
+
+ Builds a list from the given array.
+ The input array.
+ The list of array elements.
+
+
+ Returns the sum of the results generated by applying the function to each element of the array.
+ The function to transform the array elements into the type to be summed.
+ The input array.
+ The resulting sum.
+
+
+ Returns the sum of the elements in the array.
+ The input array.
+ The resulting sum.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given comparison function.
+ Elements are compared using Operators.compare.
+ The input array.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given comparison function as the order.
+ The function to compare pairs of array elements.
+ The input array.
+
+
+ Sorts the elements of an array by mutating the array in-place, using the given projection for the keys.
+ Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to transform array elements into the type that is compared.
+ The input array.
+
+
+ Sorts the elements of an array, using the given comparison function as the order, returning a new array.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to compare pairs of array elements.
+ The input array.
+ The sorted array.
+
+
+ Sorts the elements of an array, using the given projection for the keys and returning a new array.
+ Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The function to transform array elements into the type that is compared.
+ The input array.
+ The sorted array.
+
+
+ Sorts the elements of an array, returning a new array. Elements are compared using Operators.compare.
+
+ This is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.
+ For a stable sort, consider using Seq.sort.
+ The input array.
+ The sorted array.
+
+
+ Builds a new array that contains the given subrange specified by
+ starting index and length.
+ The input array.
+ The index of the first element of the sub array.
+ The length of the sub array.
+ The created sub array.
+
+
+ Sets an element of an array.
+ The input array.
+ The input index.
+ The input value.
+
+
+ Like foldBack, but return both the intermediary and final results.
+ The function to update the state given the input elements.
+ The input array.
+ The initial state.
+ The array of state values.
+
+
+ Like fold, but return the intermediary and final results.
+ The function to update the state given the input elements.
+ The initial state.
+ The input array.
+ The array of state values.
+
+
+ Returns a new array with the elements in reverse order.
+ The input array.
+ The reversed array.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f i0 (...(f iN-1 iN)).
+ Raises ArgumentException if the array has size zero.
+ The function to reduce a pair of elements to a single element.
+ The input array.
+ Thrown when the input array is empty.
+ The final result of the reductions.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f (... (f i0 i1)...) iN.
+ Raises ArgumentException if the array has size zero.
+ The function to reduce a pair of elements to a single element.
+ The input array.
+ Thrown when the input array is empty.
+ The final result of the redcutions.
+
+
+ Returns an array with all elements permuted according to the
+ specified permutation.
+ The function that maps input indices to output indices.
+ The input array.
+ The output array.
+
+
+ Splits the collection into two collections, containing the
+ elements for which the given predicate returns "true" and "false"
+ respectively.
+ The function to test the input elements.
+ The input array.
+ A pair of arrays. The first containing the elements the predicate evaluated to true,
+ and the second containing those evaluated to false.
+
+
+ Builds a new array from the given enumerable object.
+ The input sequence.
+ The array of elements from the sequence.
+
+
+ Builds an array from the given list.
+ The input list.
+ The array of elements from the list.
+
+
+ Returns the lowest of all elements of the array, compared via Operators.min on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The function to transform the elements into a type supporting comparison.
+ The input array.
+ Thrown when the input array is empty.
+ The minimum element.
+
+
+ Returns the lowest of all elements of the array, compared via Operators.min.
+
+ Throws ArgumentException for empty arrays
+ The input array.
+ Thrown when the input array is empty.
+ The minimum element.
+
+
+ Returns the greatest of all elements of the array, compared via Operators.max on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The function to transform the elements into a type supporting comparison.
+ The input array.
+ Thrown when the input array is empty.
+ The maximum element.
+
+
+ Returns the greatest of all elements of the array, compared via Operators.max on the function result.
+
+ Throws ArgumentException for empty arrays.
+ The input array.
+ Thrown when the input array is empty.
+ The maximum element.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array. The integer index passed to the
+ function indicates the index of element being transformed.
+ The function to transform elements and their indices.
+ The input array.
+ The array of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise, also passing the index of
+ the elements. The two input arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to transform pairs of input elements and their indices.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to transform the pairs of the input elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The array of transformed elements.
+
+
+ Builds a new array whose elements are the results of applying the given function
+ to each of the elements of the array.
+ The function to transform elements of the array.
+ The input array.
+ The array of transformed elements.
+
+
+ Returns the length of an array. You can also use property arr.Length.
+ The input array.
+ The length of the array.
+
+
+ Applies the given function to pair of elements drawn from matching indices in two arrays,
+ also passing the index of the elements. The two arrays must have the same lengths,
+ otherwise an ArgumentException is raised.
+ The function to apply to each index and pair of elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+
+
+ Applies the given function to each element of the array. The integer passed to the
+ function indicates the index of element.
+ The function to apply to each index and element.
+ The input array.
+
+
+ Applies the given function to pair of elements drawn from matching indices in two arrays. The
+ two arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to apply.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+
+
+ Applies the given function to each element of the array.
+ The function to apply.
+ The input array.
+
+
+ Returns true if the given array is empty, otherwise false.
+ The input array.
+ True if the array is empty.
+
+
+ Creates an array where the entries are initially the default value Unchecked.defaultof<'T>.
+ The length of the array to create.
+ The created array.
+
+
+ Creates an array given the dimension and a generator function to compute the elements.
+ The number of elements to initialize.
+ The function to generate the initial values for each index.
+ The created array.
+
+
+ Gets an element from an array.
+ The input array.
+ The input index.
+ The value of the array at the given index.
+
+
+ Apply a function to pairs of elements drawn from the two collections, right-to-left,
+ threading an accumulator argument through the computation. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to update the state given the input elements.
+ The first input array.
+ The second input array.
+ The initial state.
+ Thrown when the input arrays differ in length.
+ The final state.
+
+
+ Applies a function to pairs of elements drawn from the two collections,
+ left-to-right, threading an accumulator argument
+ through the computation. The two input
+ arrays must have the same lengths, otherwise an ArgumentException is
+ raised.
+ The function to update the state given the input elements.
+ The initial state.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ The final state.
+
+
+ Applies a function to each element of the array, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f i0 (...(f iN s))
+ The function to update the state given the input elements.
+ The input array.
+ The initial state.
+ The final state.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f (... (f s i0)...) iN
+ The function to update the state given the input elements.
+ The initial state.
+ The input array.
+ The final state.
+
+
+ Tests if all corresponding elements of the array satisfy the given predicate pairwise.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns false then the overall result is
+ false and no further elements are tested. Otherwise, if one collection is longer
+ than the other then the ArgumentException exception is raised.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The first input array.
+ The second input array.
+ Thrown when the input arrays differ in length.
+ True if all of the array elements satisfy the predicate.
+
+
+ Tests if all elements of the array satisfy the given predicate.
+
+ The predicate is applied to the elements of the input collection. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The input array.
+ True if all of the array elements satisfy the predicate.
+
+
+ Returns the index of the first element in the array
+ that satisfies the given predicate. Raise KeyNotFoundException if
+ none of the elements satisy the predicate.
+ The function to test the input elements.
+ The input array.
+ Thrown if predicate
+ never returns true.
+ The index of the first element in the array that satisfies the given predicate.
+
+
+ Returns the first element for which the given function returns 'true'.
+ Raise KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input array.
+ Thrown if predicate
+ never returns true.
+ The first element for which predicate returns true.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true".
+ The function to test the input elements.
+ The input array.
+ An array containing the elements for which the given predicate returns true.
+
+
+ Tests if any pair of corresponding elements of the arrays satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, if one collections is longer
+ than the other then the ArgumentException exception is raised.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The first input array.
+ The second input array.
+ True if any result from predicate is true.
+
+
+ Tests if any element of the array satisfies the given predicate.
+
+ The predicate is applied to the elements of the input array. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The input array.
+ True if any result from predicate is true.
+
+
+ Returns an empty array of the given type.
+
+
+ Applies the given function to each element of the array. Returns
+ the array comprised of the results "x" for each element where
+ the function returns Some(x)
+ The function to generate options from the elements.
+ The input array.
+ The array of results.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If the function
+ never returns Some(x) then KeyNotFoundException is raised.
+ The function to generate options from the elements.
+ The input array.
+ Thrown if every result from
+ chooser is None.
+ The first result.
+
+
+ Fills a range of elements of the array with the given value.
+ The target array.
+ The index of the first element to set.
+ The number of elements to set.
+ The value to set.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If the function
+ never returns Some(x) then None is returned.
+ The function to transform the array elements into options.
+ The input array.
+ The first transformed element that is Some(x).
+
+
+ Creates an array whose elements are all initially the given value.
+ The length of the array to create.
+ The value for the elements.
+ The created array.
+
+
+ Builds a new array that contains the elements of the given array.
+ The input array.
+ A copy of the input array.
+
+
+ Builds a new array that contains the elements of each of the given sequence of arrays.
+ The input sequence of arrays.
+ The concatenation of the sequence of input arrays.
+
+
+ For each element of the array, applies the given function. Concatenates all the results and return the combined array.
+ The function to create sub-arrays from the input array elements.
+ The input array.
+ The concatenation of the sub-arrays.
+
+
+ Reads a range of elements from the first array and write them into the second.
+ The source array.
+ The starting index of the source array.
+ The target array.
+ The starting index of the target array.
+ The number of elements to copy.
+
+
+ Returns the average of the elements generated by applying the function to each element of the array.
+ The function to transform the array elements before averaging.
+ The input array.
+ Thrown when array is empty.
+ The computed average.
+
+
+ Returns the average of the elements in the array.
+ The input array.
+ Thrown when array is empty.
+ The average of the elements in the array.
+
+
+ Builds a new array that contains the elements of the first array followed by the elements of the second array.
+ The first input array.
+ The second input array.
+ The resulting array.
+
+
+ Basic operations on arrays.
+
+
+ Compare using the given comparer function.
+ A function to compare two values.
+ An object implementing IComparer using the supplied comparer.
+
+
+ Structural comparison. Compare using Operators.compare.
+
+
+ Common notions of comparison identity used with sorted data structures.
+
+
+ Hash using the given hashing and equality functions.
+ A function to generate a hash code from a value.
+ A function to test equality of two values.
+ An object implementing IEqualityComparer using the supplied functions.
+
+
+ Physical hashing (hash on reference identity of objects, and the contents of value types).
+ Hash using LanguagePrimitives.PhysicalEquality and LanguagePrimitives.PhysicalHash,
+ That is, for value types use GetHashCode and Object.Equals (if no other optimization available),
+ and for reference types use System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode and
+ reference equality.
+
+
+
+
+
+ Structural hashing. Hash using Operators.(=) and Operators.hash.
+
+
+ Common notions of value identity used with hash tables.
+
+
+ Combines the three lists into a list of triples. The lists must have equal lengths.
+ The first input list.
+ The second input list.
+ The third input list.
+ A single list containing triples of matching elements from the input lists.
+
+
+ Combines the two lists into a list of pairs. The two lists must have equal lengths.
+ The first input list.
+ The second input list.
+ A single list containing pairs of matching elements from the input lists.
+
+
+ Splits a list of triples into three lists.
+ The input list.
+ Three lists of split elements.
+
+
+ Splits a list of pairs into two lists.
+ The input list.
+ Two lists of split elements.
+
+
+ Returns the index of the first element in the list
+ that satisfies the given predicate.
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input list.
+ The index of the first element for which the predicate returns true, or None if
+ every element evaluates to false.
+
+
+ Returns the first element for which the given function returns true..
+ Return None if no such element exists.
+ The function to test the input elements.
+ The input list.
+ The first element for which the predicate returns true, or None if
+ every element evaluates to false.
+
+
+ Applies the given function to successive elements, returning Some(x) the first
+ result where function returns Some(x) for some x. If no such element
+ exists then return None.
+ The function to generate options from the elements.
+ The input list.
+ The first resulting value or None.
+
+
+ Views the given list as a sequence.
+ The input list.
+ The sequence of elements in the list.
+
+
+ Builds an array from the given list.
+ The input list.
+ The array containing the elements of the list.
+
+
+ Returns the list after removing the first element.
+
+ The input list.
+ Thrown when the list is empty.
+ The list after removing the first element.
+
+
+ Returns the sum of the results generated by applying the function to each element of the list.
+ The function to transform the list elements into the type to be summed.
+ The input list.
+ The resulting sum.
+
+
+ Returns the sum of the elements in the list.
+ The input list.
+ The resulting sum.
+
+
+ Sorts the given list using Operators.compare.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The input list.
+ The sorted list.
+
+
+ Sorts the given list using keys given by the given projection. Keys are compared using Operators.compare.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The function to transform the list elements into the type to be compared.
+ The input list.
+ The sorted list.
+
+
+ Sorts the given list using the given comparison function.
+
+ This is a stable sort, i.e. the original order of equal elements is preserved.
+ The function to compare the list elements.
+ The input list.
+ The sorted list.
+
+
+ Like foldBack, but returns both the intermediary and final results
+ The function to update the state given the input elements.
+ The input list.
+ The initial state.
+ The list of states.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. Take the second argument, and apply the function to it
+ and the first element of the list. Then feed this result into the function along
+ with the second element and so on. Returns the list of intermediate results and the final result.
+ The function to update the state given the input elements.
+ The initial state.
+ The input list.
+ The list of states.
+
+
+ Returns a new list with the elements in reverse order.
+ The input list.
+ The reversed list.
+
+
+ Creates a list by calling the given generator on each index.
+ The number of elements to replicate.
+ The value to replicate
+ The generated list.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then computes
+ f i0 (...(f iN-1 iN)).
+
+ Raises System.ArgumentException if list is empty
+ The function to reduce two list elements to a single element.
+ The input list.
+ Thrown when the list is empty.
+ The final reduced value.
+
+
+ Apply a function to each element of the collection, threading an accumulator argument
+ through the computation. Apply the function to the first two elements of the list.
+ Then feed this result into the function along with the third element and so on.
+ Return the final result. If the input function is f and the elements are i0...iN then computes
+ f (... (f i0 i1) i2 ...) iN.
+
+ Raises System.ArgumentException if list is empty
+ The function to reduce two list elements to a single element.
+ The input list.
+ Thrown when the list is empty.
+ The final reduced value.
+
+
+ Returns a list with all elements permuted according to the
+ specified permutation.
+ The function to map input indices to output indices.
+ The input list.
+ The permutated list.
+
+
+ Applies the given function to successive elements, returning the first
+ result where function returns Some(x) for some x. If no such
+ element exists then raise System.Collections.Generic.KeyNotFoundException
+ The function to generate options from the elements.
+ The input list.
+ Thrown when the list is empty.
+ The first resulting value.
+
+
+ Splits the collection into two collections, containing the
+ elements for which the given predicate returns true and false
+ respectively. Element order is preserved in both of the created lists.
+ The function to test the input elements.
+ The input list.
+ A list containing the elements for which the predicate evaluated to false and a list
+ containing the elements for which the predicate evaluated to true.
+
+
+ Builds a new list from the given enumerable object.
+ The input sequence.
+ The list of elements from the sequence.
+
+
+ Builds a list from the given array.
+ The input array.
+ The list of elements from the array.
+
+
+ Indexes into the list. The first element has index 0.
+ The input list.
+ The index to retrieve.
+ The value at the given index.
+
+
+ Returns the lowest of all elements of the list, compared via Operators.min on the function result
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform list elements into the type to be compared.
+ The input list.
+ Thrown when the list is empty.
+ The minimum value.
+
+
+ Returns the lowest of all elements of the list, compared via Operators.min.
+
+ Raises System.ArgumentException if list is empty
+ The input list.
+ Thrown when the list is empty.
+ The minimum value.
+
+
+ Returns the greatest of all elements of the list, compared via Operators.max on the function result.
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform the list elements into the type to be compared.
+ The input list.
+ Thrown when the list is empty.
+ The maximum element.
+
+
+ Return the greatest of all elements of the list, compared via Operators.max.
+
+ Raises System.ArgumentException if list is empty
+ The input list.
+ Thrown when the list is empty.
+ The maximum element.
+
+
+ Like mapi, but mapping corresponding elements from two lists of equal length.
+ The function to transform pairs of elements from the two lists and their index.
+ The first input list.
+ The second input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The integer index passed to the
+ function indicates the index (from 0) of element being transformed.
+ The function to transform elements and their indices.
+ The input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the three collections simultaneously.
+ The function to transform triples of elements from the input lists.
+ The first input list.
+ The second input list.
+ The third input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding elements of the two collections pairwise.
+ The function to transform pairs of elements from the input lists.
+ The first input list.
+ The second input list.
+ The list of transformed elements.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection.
+ The function to transform elements from the input list.
+ The input list.
+ The list of transformed elements.
+
+
+ Returns the length of the list.
+ The input list.
+ The length of the list.
+
+
+ Applies the given function to two collections simultaneously. The
+ collections must have identical size. The integer passed to the
+ function indicates the index of element.
+ The function to apply to a pair of elements from the input lists along with their index.
+ The first input list.
+ The second input list.
+
+
+ Applies the given function to each element of the collection. The integer passed to the
+ function indicates the index of element.
+ The function to apply to the elements of the list along with their index.
+ The input list.
+
+
+ Applies the given function to two collections simultaneously. The
+ collections must have identical size.
+ The function to apply to pairs of elements from the input lists.
+ The first input list.
+ The second input list.
+
+
+ Applies the given function to each element of the collection.
+ The function to apply to elements from the input list.
+ The input list.
+
+
+ Returns true if the list contains no elements, false otherwise.
+ The input list.
+ True if the list is empty.
+
+
+ Creates a list by calling the given generator on each index.
+ The length of the list to generate.
+ The function to generate an element from an index.
+ The list of generated elements.
+
+
+ Returns the first element of the list.
+
+ The input list.
+ Thrown when the list is empty.
+ The first element of the list.
+
+
+ Tests if all corresponding elements of the collection satisfy the given predicate pairwise.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns false then the overall result is
+ false and no further elements are tested. Otherwise, if one collection is longer
+ than the other then the System.ArgumentException exception is raised.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The first input list.
+ The second input list.
+ Thrown when the input lists differ in length.
+ True if all of the pairs of elements satisfy the predicate.
+
+
+ Tests if all elements of the collection satisfy the given predicate.
+
+ The predicate is applied to the elements of the input list. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+ The function to test the input elements.
+ The input list.
+ True if all of the elements satisfy the predicate.
+
+
+ Applies a function to corresponding elements of two collections, threading an accumulator argument
+ through the computation. The collections must have identical sizes.
+ If the input function is f and the elements are i0...iN and j0...jN
+ then computes f i0 j0 (...(f iN jN s)).
+ The function to update the state given the input elements.
+ The first input list.
+ The second input list.
+ The initial state.
+ The final state value.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN then
+ computes f i0 (...(f iN s)).
+ The function to update the state given the input elements.
+ The input list.
+ The initial state.
+ The final state value.
+
+
+ Applies a function to corresponding elements of two collections, threading an accumulator argument
+ through the computation. The collections must have identical sizes.
+ If the input function is f and the elements are i0...iN and j0...jN
+ then computes f (... (f s i0 j0)...) iN jN.
+ The function to update the state given the input elements.
+ The initial state.
+ The first input list.
+ The second input list.
+ The final state value.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. Take the second argument, and apply the function to it
+ and the first element of the list. Then feed this result into the function along
+ with the second element and so on. Return the final result.
+ If the input function is f and the elements are i0...iN then
+ computes f (... (f s i0) i1 ...) iN.
+ The function to update the state given the input elements.
+ The initial state.
+ The input list.
+ The final state value.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true"
+ The function to test the input elements.
+ The input list.
+ A list containing only the elements that satisfy the predicate.
+
+
+ Returns the index of the first element in the list
+ that satisfies the given predicate.
+ Raises KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input list.
+ Thrown if the predicate evaluates to false for all the
+ elements of the list.
+ The index of the first element that satisfies the predicate.
+
+
+ Returns the first element for which the given function returns true.
+ Raises KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input list.
+ Thrown if the predicate evaluates to false for
+ all the elements of the list.
+ The first element that satisfies the predicate.
+
+
+ Tests if any pair of corresponding elements of the lists satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two collections up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, if one collections is longer
+ than the other then the System.ArgumentException exception is raised.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The first input list.
+ The second input list.
+ Thrown when the input lists differ in length.
+ True if any pair of elements satisfy the predicate.
+
+
+ Tests if any element of the list satisfies the given predicate.
+
+ The predicate is applied to the elements of the input list. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+ The function to test the input elements.
+ The input list.
+ True if any element satisfies the predicate.
+
+
+ Returns an empty list of the given type.
+
+
+ Returns a new list that contains the elements of each the lists in order.
+ The input sequence of lists.
+ The resulting concatenated list.
+
+
+ For each element of the list, applies the given function. Concatenates all the results and return the combined list.
+ The function to transform each input element into a sublist to be concatenated.
+ The input list.
+ The concatenation of the transformed sublists.
+
+
+ Applies the given function to each element of the list. Returns
+ the list comprised of the results x for each element where
+ the function returns Some(x)
+ The function to generate options from the elements.
+ The input list.
+ The list comprising the values selected from the chooser function.
+
+
+ Returns the average of the elements generated by applying the function to each element of the list.
+
+ Raises System.ArgumentException if list is empty.
+ The function to transform the list elements into the type to be averaged.
+ The input list.
+ Thrown when the list is empty.
+ The resulting average.
+
+
+ Returns the average of the elements in the list.
+
+ Raises System.ArgumentException if list is empty.
+ The input list.
+ Thrown when the list is empty.
+ The resulting average.
+
+
+ Returns a new list that contains the elements of the first list
+ followed by elements of the second.
+ The first input list.
+ The second input list.
+ The resulting list.
+
+
+ Basic operations on lists.
+
+
+ Returns the key of the first mapping in the collection that satisfies the given predicate.
+ Returns 'None' if no such element exists.
+ The function to test the input elements.
+ The input map.
+ The first key for which the predicate returns true or None if the predicate evaluates to false for each key/value pair.
+
+
+ Evaluates the function on each mapping in the collection. Returns the key for the first mapping
+ where the function returns 'true'. Raise KeyNotFoundException if no such element exists.
+ The function to test the input elements.
+ The input map.
+ Thrown if the key does not exist in the map.
+ The first key for which the predicate evaluates true.
+
+
+ Lookup an element in the map, returning a Some value if the element is in the domain
+ of the map and None if not.
+ The input key.
+ The input map.
+ The found Some value or None.
+
+
+ Removes an element from the domain of the map. No exception is raised if the element is not present.
+ The input key.
+ The input map.
+ The resulting map.
+
+
+ Builds two new maps, one containing the bindings for which the given predicate returns 'true',
+ and the other the remaining bindings.
+ The function to test the input elements.
+ The input map.
+ A pair of maps in which the first contains the elements for which the predicate returned true
+ and the second containing the elements for which the predicated returned false.
+
+
+ Tests if an element is in the domain of the map.
+ The input key.
+ The input map.
+ True if the map contains the key.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The key passed to the
+ function indicates the key of element being transformed.
+ The function to transform the key/value pairs.
+ The input map.
+ The resulting map of keys and transformed values.
+
+
+ Returns true if the given predicate returns true for all of the
+ bindings in the map.
+ The function to test the input elements.
+ The input map.
+ True if the predicate evaluates to true for all of the bindings in the map.
+
+
+ Builds a new map containing only the bindings for which the given predicate returns 'true'.
+ The function to test the key/value pairs.
+ The input map.
+ The filtered map.
+
+
+ Returns true if the given predicate returns true for one of the
+ bindings in the map.
+ The function to test the input elements.
+ The input map.
+ True if the predicate returns true for one of the key/value pairs.
+
+
+ Applies the given function to each binding in the dictionary
+ The function to apply to each key/value pair.
+ The input map.
+
+
+ Folds over the bindings in the map
+ The function to update the state given the input key/value pairs.
+ The initial state.
+ The input map.
+ The final state value.
+
+
+ Folds over the bindings in the map.
+ The function to update the state given the input key/value pairs.
+ The input map.
+ The initial state.
+ The final state value.
+
+
+ Searches the map looking for the first element where the given function returns a Some value
+ The function to generate options from the key/value pairs.
+ The input map.
+ The first result.
+
+
+ Searches the map looking for the first element where the given function returns a Some value.
+ The function to generate options from the key/value pairs.
+ The input map.
+ The first result.
+
+
+ Lookup an element in the map, raising KeyNotFoundException if no binding
+ exists in the map.
+ The input key.
+ The input map.
+ Thrown when the key does not exist in the map.
+ The value mapped to the given key.
+
+
+ The empty map.
+
+
+ Is the map empty?
+ The input map.
+ True if the map is empty.
+
+
+ Returns an array of all key-value pairs in the mapping.
+ The array will be ordered by the keys of the map.
+ The input map.
+ The array of key/value pairs.
+
+
+ Returns a list of all key-value pairs in the mapping.
+ The list will be ordered by the keys of the map.
+ The input map.
+ The list of key/value pairs.
+
+
+ Views the collection as an enumerable sequence of pairs.
+ The sequence will be ordered by the keys of the map.
+ The input map.
+ The sequence of key/value pairs.
+
+
+ Returns a new map made from the given bindings.
+ The input sequence of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map made from the given bindings.
+ The input array of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map made from the given bindings.
+ The input list of key/value pairs.
+ The resulting map.
+
+
+ Returns a new map with the binding added to the given map.
+ The input key.
+ The input value.
+ The input map.
+ The resulting map.
+
+
+ Functional programming operators related to the Map<_,_> type.
+
+
+ Combines the three sequences into a list of triples. The sequences need not have equal lengths:
+ when one sequence is exhausted any remaining elements in the other
+ sequences are ignored.
+
+ The first input sequence.
+ The second input sequence.
+ The third input sequence.
+
+ The result sequence.
+
+ Thrown when any of the input sequences is null.
+
+
+ Combines the two sequences into a list of pairs. The two sequences need not have equal lengths:
+ when one sequence is exhausted any remaining elements in the other
+ sequence are ignored.
+
+ The first input sequence.
+ The second input sequence.
+
+ The result sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Returns a sequence that yields sliding windows of containing elements drawn from the input
+ sequence. Each window is returned as a fresh array.
+
+ The number of elements in each window.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns a sequence that contains the elements generated by the given computation.
+ The given initial state argument is passed to the element generator.
+ For each IEnumerator elements in the stream are generated on-demand by applying the element
+ generator, until a None value is returned by the element generator. Each call to the element
+ generator returns a new residual state.
+
+ The stream will be recomputed each time an IEnumerator is requested and iterated for the Seq.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ A function that takes in the current state and returns an option tuple of the next
+ element of the sequence and the next state value.
+ The initial state value.
+
+ The result sequence.
+
+
+ Returns a sequence that when enumerated returns at most N elements.
+
+ The maximum number of items to enumerate.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to successive elements, returning the first
+ result where the function returns "Some(x)".
+
+ A function that transforms items from the input sequence into options.
+ The input sequence.
+
+ The chosen element or None.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the index of the first element in the sequence
+ that satisfies the given predicate. Return None if no such element exists.
+
+ A function that evaluates to a Boolean when given an item in the sequence.
+ The input sequence.
+
+ The found index or None.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the first element for which the given function returns true.
+ Return None if no such element exists.
+
+ A function that evaluates to a Boolean when given an item in the sequence.
+ The input sequence.
+
+ The found element or None.
+
+ Thrown when the input sequence is null.
+
+
+ Builds a list from the given collection.
+
+ The input sequence.
+
+ The result list.
+
+ Thrown when the input sequence is null.
+
+
+ Builds an array from the given collection.
+
+ The input sequence.
+
+ The result array.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that, when iterated, yields elements of the underlying sequence while the
+ given predicate returns true, and then returns no further elements.
+
+ A function that evaluates to false when no more items should be returned.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the first N elements of the sequence.
+ Throws InvalidOperationException
+ if the count exceeds the number of elements in the sequence. Seq.truncate
+ returns as many items as the sequence contains instead of throwing an exception.
+
+ The number of items to take.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+ Thrown when count exceeds the number of elements
+ in the sequence.
+
+
+ Returns the sum of the results generated by applying the function to each element of the sequence.
+ The generated elements are summed using the + operator and Zero property associated with the generated type.
+
+ A function to transform items from the input sequence into the type that will be summed.
+ The input sequence.
+
+ The computed sum.
+
+
+ Returns the sum of the elements in the sequence.
+
+ The elements are summed using the + operator and Zero property associated with the generated type.
+
+ The input sequence.
+
+ The computed sum.
+
+
+ Applies a key-generating function to each element of a sequence and yield a sequence ordered
+ by keys. The keys are compared using generic comparison as implemented by Operators.compare.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ This is a stable sort, that is the original order of equal elements is preserved.
+
+ A function to transform items of the input sequence into comparable keys.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Yields a sequence ordered by keys.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ This is a stable sort, that is the original order of equal elements is preserved.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that, when iterated, skips elements of the underlying sequence while the
+ given predicate returns true, and then yields the remaining elements of the sequence.
+
+ A function that evaluates an element of the sequence to a boolean value.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that skips N elements of the underlying sequence and then yields the
+ remaining elements of the sequence.
+
+ The number of items to skip.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when count exceeds the number of elements
+ in the sequence.
+
+
+ Returns a sequence that yields one item only.
+
+ The input item.
+
+ The result sequence of one item.
+
+
+ Like fold, but computes on-demand and returns the sequence of intermediary and final results.
+
+ A function that updates the state with each element from the sequence.
+ The initial state.
+ The input sequence.
+
+ The resulting sequence of computed states.
+
+ Thrown when the input sequence is null.
+
+
+ Applies a function to each element of the sequence, threading an accumulator argument
+ through the computation. Begin by applying the function to the first two elements.
+ Then feed this result into the function along with the third element and so on.
+ Return the final result.
+
+ A function that takes in the current accumulated result and the next
+ element of the sequence to produce the next accumulated result.
+ The input sequence.
+
+ The final result of the reduction function.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Builds a new sequence object that delegates to the given sequence object. This ensures
+ the original sequence cannot be rediscovered and mutated by a type cast. For example,
+ if given an array the returned sequence will return the elements of the array, but
+ you cannot cast the returned sequence object to an array.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to successive elements, returning the first
+ x where the function returns "Some(x)".
+
+ A function to transform each item of the input sequence into an option of the output type.
+ The input sequence.
+
+ The selected element.
+
+ Thrown when the input sequence is null.
+ Thrown when every item of the sequence
+ evaluates to None when the given function is applied.
+
+
+ Returns a sequence of each element in the input sequence and its predecessor, with the
+ exception of the first element which is only returned as the predecessor of the second element.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Views the given list as a sequence.
+
+ The input list.
+
+ The result sequence.
+
+
+ Views the given array as a sequence.
+
+ The input array.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Computes the nth element in the collection.
+
+ The index of element to retrieve.
+ The input sequence.
+
+ The nth element of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the lowest of all elements of the sequence, compared via Operators.min on the function result.
+
+ A function to transform items from the input sequence into comparable keys.
+ The input sequence.
+
+ The smallest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the lowest of all elements of the sequence, compared via Operators.min.
+
+ The input sequence.
+
+ The smallest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the greatest of all elements of the sequence, compared via Operators.max on the function result.
+
+ A function to transform items from the input sequence into comparable keys.
+ The input sequence.
+
+ The largest element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+
+ Returns the greatest of all elements of the sequence, compared via Operators.max
+
+ The input sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence is empty.
+
+ The largest element of the sequence.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The integer index passed to the
+ function indicates the index (from 0) of element being transformed.
+
+ A function to transform items from the input sequence that also supplies the current index.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to the corresponding pairs of elements from the two sequences. If one input sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to transform pairs of items from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ The result sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Builds a new collection whose elements are the results of applying the given function
+ to each of the elements of the collection. The given function will be applied
+ as elements are demanded using the MoveNext method on enumerators retrieved from the
+ object.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ A function to transform items from the input sequence.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the length of the sequence
+
+ The input sequence.
+
+ The length of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to two collections simultaneously. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to apply to each pair of elements from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ Thrown when either of the input sequences is null.
+
+
+ Applies the given function to each element of the collection. The integer passed to the
+ function indicates the index of element.
+
+ A function to apply to each element of the sequence that can also access the current index.
+ The input sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to each element of the collection.
+
+ A function to apply to each element of the sequence.
+ The input sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Generates a new sequence which, when iterated, will return successive
+ elements by calling the given function. The results of calling the function
+ will not be saved, that is the function will be reapplied as necessary to
+ regenerate the elements. The function is passed the index of the item being
+ generated.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+ Iteration can continue up to Int32.MaxValue.
+
+ A function that generates an item in the sequence from a given index.
+
+ The result sequence.
+
+
+ Generates a new sequence which, when iterated, will return successive
+ elements by calling the given function, up to the given count. Each element is saved after its
+ initialization. The function is passed the index of the item being
+ generated.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The maximum number of items to generate for the sequence.
+ A function that generates an item in the sequence from a given index.
+
+ The result sequence.
+
+ Thrown when count is negative.
+
+
+ Returns true if the sequence contains no elements, false otherwise.
+
+ The input sequence.
+
+ True if the sequence is empty; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the only element of the sequence.
+
+ The input sequence.
+
+ The last element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have precisely one element.
+
+
+ Returns the last element of the sequence.
+
+ The input sequence.
+
+ The last element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have any elements.
+
+
+ Returns the first element of the sequence.
+
+ The input sequence.
+
+ The first element of the sequence.
+
+ Thrown when the input sequence is null.
+ Thrown when the input does not have any elements.
+
+
+ Applies a key-generating function to each element of a sequence and yields a sequence of
+ unique keys. Each unique key contains a sequence of all elements that match
+ to this key.
+
+ This function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ A function that transforms an element of the sequence into a comparable key.
+ The input sequence.
+
+ The result sequence.
+
+
+ Tests the all pairs of elements drawn from the two sequences satisfy the
+ given predicate. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to test pairs of elements from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ True if all pairs satisfy the predicate; false otherwise.
+
+ Thrown when either of the input sequences is null.
+
+
+ Tests if all elements of the sequence satisfy the given predicate.
+
+ The predicate is applied to the elements of the input sequence. If any application
+ returns false then the overall result is false and no further elements are tested.
+ Otherwise, true is returned.
+
+ A function to test an element of the input sequence.
+ The input sequence.
+
+ True if every element of the sequence satisfies the predicate; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Applies a function to each element of the collection, threading an accumulator argument
+ through the computation. If the input function is f and the elements are i0...iN
+ then computes f (... (f s i0)...) iN
+
+ A function that updates the state with each element from the sequence.
+ The initial state.
+ The input sequence.
+
+ The state object after the folding function is applied to each element of the sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the index of the first element for which the given function returns true.
+
+ A function to test whether the index of a particular element should be returned.
+ The input sequence.
+
+ The index of the first element for which the predicate returns true.
+
+ Thrown if no element returns true when
+ evaluated by the predicate
+ Thrown when the input sequence is null
+
+
+ Returns the first element for which the given function returns true.
+
+ A function to test whether an item in the sequence should be returned.
+ The input sequence.
+
+ The first element for which the predicate returns true.
+
+ Thrown if no element returns true when
+ evaluated by the predicate
+ Thrown when the input sequence is null
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true".
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A synonym for Seq.filter.
+
+ A function to test whether each item in the input sequence should be included in the output.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns "true". This is a synonym for Seq.where.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A function to test whether each item in the input sequence should be included in the output.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Tests if any pair of corresponding elements of the input sequences satisfies the given predicate.
+
+ The predicate is applied to matching elements in the two sequences up to the lesser of the
+ two lengths of the collections. If any application returns true then the overall result is
+ true and no further elements are tested. Otherwise, false is returned. If one sequence is shorter than
+ the other then the remaining elements of the longer sequence are ignored.
+
+ A function to test each pair of items from the input sequences.
+ The first input sequence.
+ The second input sequence.
+
+ True if any result from the predicate is true; false otherwise.
+
+ Thrown when either of the two input sequences is null.
+
+
+ Tests if any element of the sequence satisfies the given predicate.
+
+ The predicate is applied to the elements of the input sequence. If any application
+ returns true then the overall result is true and no further elements are tested.
+ Otherwise, false is returned.
+
+ A function to test each item of the input sequence.
+ The input sequence.
+
+ True if any result from the predicate is true; false otherwise.
+
+ Thrown when the input sequence is null.
+
+
+ Creates an empty sequence.
+
+ An empty sequence.
+
+
+ Returns a sequence that contains no duplicate entries according to the
+ generic hash and equality comparisons on the keys returned by the given key-generating function.
+ If an element occurs multiple times in the sequence then the later occurrences are discarded.
+
+ A function transforming the sequence items into comparable keys.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that contains no duplicate entries according to generic hash and
+ equality comparisons on the entries.
+ If an element occurs multiple times in the sequence then the later occurrences are discarded.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that is built from the given delayed specification of a
+ sequence.
+
+ The input function is evaluated each time an IEnumerator for the sequence
+ is requested.
+
+ The generating function for the sequence.
+
+
+ Applies a key-generating function to each element of a sequence and return a sequence yielding unique
+ keys and their number of occurrences in the original sequence.
+
+ Note that this function returns a sequence that digests the whole initial sequence as soon as
+ that sequence is iterated. As a result this function should not be used with
+ large or infinite sequences. The function makes no assumption on the ordering of the original
+ sequence.
+
+ A function transforming each item of input sequence into a key to be
+ compared against the others.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Combines the given enumeration-of-enumerations as a single concatenated
+ enumeration.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The input enumeration-of-enumerations.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Compares two sequences using the given comparison function, element by element.
+ Returns the first non-zero result from the comparison function. If the end of a sequence
+ is reached it returns a -1 if the first sequence is shorter and a 1 if the second sequence
+ is shorter.
+
+ A function that takes an element from each sequence and returns an int.
+ If it evaluates to a non-zero value iteration is stopped and that value is returned.
+ The first input sequence.
+ The second input sequence.
+
+ The first non-zero value from the comparison function.
+
+ Thrown when either of the input sequences
+ is null.
+
+
+ Applies the given function to each element of the sequence and concatenates all the
+ results.
+
+ Remember sequence is lazy, effects are delayed until it is enumerated.
+
+ A function to transform elements of the input sequence into the sequences
+ that will then be concatenated.
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Applies the given function to each element of the list. Return
+ the list comprised of the results "x" for each element where
+ the function returns Some(x).
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not
+ be accessed concurrently.
+
+ A function to transform items of type T into options of type U.
+ The input sequence of type T.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Wraps a loosely-typed System.Collections sequence as a typed sequence.
+
+ The use of this function usually requires a type annotation.
+ An incorrect type annotation may result in runtime type
+ errors.
+ Individual IEnumerator values generated from the returned sequence should not be accessed concurrently.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns a sequence that corresponds to a cached version of the input sequence.
+ This result sequence will have the same elements as the input sequence. The result
+ can be enumerated multiple times. The input sequence will be enumerated at most
+ once and only as far as is necessary. Caching a sequence is typically useful when repeatedly
+ evaluating items in the original sequence is computationally expensive or if
+ iterating the sequence causes side-effects that the user does not want to be
+ repeated multiple times.
+
+ Enumeration of the result sequence is thread safe in the sense that multiple independent IEnumerator
+ values may be used simultaneously from different threads (accesses to
+ the internal lookaside table are thread safe). Each individual IEnumerator
+ is not typically thread safe and should not be accessed concurrently.
+
+ Once enumeration of the input sequence has started,
+ it's enumerator will be kept live by this object until the enumeration has completed.
+ At that point, the enumerator will be disposed.
+
+ The enumerator may be disposed and underlying cache storage released by
+ converting the returned sequence object to type IDisposable, and calling the Dispose method
+ on this object. The sequence object may then be re-enumerated and a fresh enumerator will
+ be used.
+
+ The input sequence.
+
+ The result sequence.
+
+ Thrown when the input sequence is null.
+
+
+ Returns the average of the results generated by applying the function to each element
+ of the sequence.
+
+ The elements are averaged using the + operator, DivideByInt method and Zero property
+ associated with the generated type.
+
+ A function applied to transform each element of the sequence.
+ The input sequence.
+
+ The average.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence has zero elements.
+
+
+ Returns the average of the elements in the sequence.
+
+ The elements are averaged using the + operator, DivideByInt method and Zero property
+ associated with the element type.
+
+ The input sequence.
+
+ The average.
+
+ Thrown when the input sequence is null.
+ Thrown when the input sequence has zero elements.
+
+
+ Wraps the two given enumerations as a single concatenated
+ enumeration.
+
+ The returned sequence may be passed between threads safely. However,
+ individual IEnumerator values generated from the returned sequence should not be accessed
+ concurrently.
+
+ The first sequence.
+ The second sequence.
+
+ The result sequence.
+
+ Thrown when either of the two provided sequences is
+ null.
+
+
+ Basic operations on IEnumerables.
+
+
+ Returns a new set with the elements of the second set removed from the first.
+ The first input set.
+ The set whose elements will be removed from set1.
+ The set with the elements of set2 removed from set1.
+
+
+ Builds a new collection from the given enumerable object.
+ The input sequence.
+ The set containing elements.
+
+
+ Returns an ordered view of the collection as an enumerable object.
+ The input set.
+ An ordered sequence of the elements of set.
+
+
+ Builds an array that contains the elements of the set in order.
+ The input set.
+ An ordered array of the elements of set.
+
+
+ Builds a set that contains the same elements as the given array.
+ The input array.
+ A set containing the elements of array.
+
+
+ Builds a list that contains the elements of the set in order.
+ The input set.
+ An ordered list of the elements of set.
+
+
+ Builds a set that contains the same elements as the given list.
+ The input list.
+ A set containing the elements form the input list.
+
+
+ Returns the highest element in the set according to the ordering being used for the set.
+ The input set.
+ The max value from the set.
+
+
+ Returns the lowest element in the set according to the ordering being used for the set.
+ The input set.
+ The min value from the set.
+
+
+ Returns a new set with the given element removed. No exception is raised if
+ the set doesn't contain the given element.
+ The element to remove.
+ The input set.
+ The input set with value removed.
+
+
+ Splits the set into two sets containing the elements for which the given predicate
+ returns true and false respectively.
+ The function to test set elements.
+ The input set.
+ A pair of sets with the first containing the elements for which predicate returns
+ true and the second containing the elements for which predicate returns false.
+
+
+ Applies the given function to each element of the set, in order according
+ to the comparison function.
+ The function to apply to each element.
+ The input set.
+
+
+ Returns "true" if the set is empty.
+ The input set.
+ True if set is empty.
+
+
+ Computes the union of a sequence of sets.
+ The sequence of sets to untion.
+ The union of the input sets.
+
+
+ Computes the union of the two sets.
+ The first input set.
+ The second input set.
+ The union of set1 and set2.
+
+
+ Computes the intersection of a sequence of sets. The sequence must be non-empty.
+ The sequence of sets to intersect.
+ The intersection of the input sets.
+
+
+ Computes the intersection of the two sets.
+ The first input set.
+ The second input set.
+ The intersection of set1 and set2.
+
+
+ Tests if all elements of the collection satisfy the given predicate.
+ If the input function is f and the elements are i0...iN and "j0...jN"
+ then computes p i0 && ... && p iN.
+ The function to test set elements.
+ The input set.
+ True if all elements of set satisfy predicate.
+
+
+ Applies the given accumulating function to all the elements of the set.
+ The accumulating function.
+ The input set.
+ The initial state.
+ The final state.
+
+
+ Applies the given accumulating function to all the elements of the set
+ The accumulating function.
+ The initial state.
+ The input set.
+ The final state.
+
+
+ Returns a new collection containing the results of applying the
+ given function to each element of the input set.
+ The function to transform elements of the input set.
+ The input set.
+ A set containing the transformed elements.
+
+
+ Returns a new collection containing only the elements of the collection
+ for which the given predicate returns true.
+ The function to test set elements.
+ The input set.
+ The set containing only the elements for which predicate returns true.
+
+
+ Tests if any element of the collection satisfies the given predicate.
+ If the input function is predicate and the elements are i0...iN
+ then computes p i0 or ... or p iN.
+ The function to test set elements.
+ The input set.
+ True if any element of set satisfies predicate.
+
+
+ Returns the number of elements in the set. Same as size.
+ The input set.
+ The number of elements in the set.
+
+
+ Evaluates to "true" if all elements of the second set are in the first, and at least
+ one element of the first is not in the second.
+ The potential superset.
+ The set to test against.
+ True if set1 is a proper superset of set2.
+
+
+ Evaluates to "true" if all elements of the second set are in the first.
+ The potential superset.
+ The set to test against.
+ True if set1 is a superset of set2.
+
+
+ Evaluates to "true" if all elements of the first set are in the second, and at least
+ one element of the second is not in the first.
+ The potential subset.
+ The set to test against.
+ True if set1 is a proper subset of set2.
+
+
+ Evaluates to "true" if all elements of the first set are in the second
+ The potential subset.
+ The set to test against.
+ True if set1 is a subset of set2.
+
+
+ Evaluates to "true" if the given element is in the given set.
+ The element to test.
+ The input set.
+ True if element is in set.
+
+
+ Returns a new set with an element added to the set. No exception is raised if
+ the set already contains the given element.
+ The value to add.
+ The input set.
+ A new set containing value.
+
+
+ The set containing the given element.
+ The value for the set to contain.
+ The set containing value.
+
+
+ The empty set for the type 'T.
+
+
+ Functional programming operators related to the Set<_> type.
+
+
+ Gets the default cancellation token for executing asynchronous computations.
+ The default CancellationToken.
+
+
+ Creates an asynchronous computation that returns the CancellationToken governing the execution
+ of the computation.
+ In async { let! token = Async.CancellationToken ...} token can be used to initiate other
+ asynchronous operations that will cancel cooperatively with this workflow.
+ An asynchronous computation capable of retrieving the CancellationToken from a computation
+ expression.
+
+
+ Creates an asynchronous computation that executes computation.
+ If this computation is cancelled before it completes then the computation generated by
+ running compensation is executed.
+ The input asynchronous computation.
+ The function to be run if the computation is cancelled.
+ An asynchronous computation that runs the compensation if the input computation
+ is cancelled.
+
+
+ Creates an asynchronous computation that queues a work item that runs
+ its continuation.
+ A computation that generates a new work item in the thread pool.
+
+
+ Creates an asynchronous computation that creates a new thread and runs
+ its continuation in that thread.
+ A computation that will execute on a new thread.
+
+
+ Creates an asynchronous computation that runs
+ its continuation using syncContext.Post. If syncContext is null
+ then the asynchronous computation is equivalent to SwitchToThreadPool().
+ The synchronization context to accept the posted computation.
+ An asynchronous computation that uses the syncContext context to execute.
+
+
+ Runs an asynchronous computation, starting immediately on the current operating system
+ thread. Call one of the three continuations when the operation completes.
+ If no cancellation token is provided then the default cancellation token
+ is used.
+ The asynchronous computation to execute.
+ The function called on success.
+ The function called on exception.
+ The function called on cancellation.
+ The CancellationToken to associate with the computation.
+ The default is used if this parameter is not provided.
+
+
+ Runs an asynchronous computation, starting immediately on the current operating system
+ thread.
+ If no cancellation token is provided then the default cancellation token is used.
+ The asynchronous computation to execute.
+ The CancellationToken to associate with the computation.
+ The default is used if this parameter is not provided.
+
+
+ Creates an asynchronous computation which starts the given computation as a System.Threading.Tasks.Task
+
+
+ Starts a child computation within an asynchronous workflow.
+ This allows multiple asynchronous computations to be executed simultaneously.
+
+ This method should normally be used as the immediate
+ right-hand-side of a let! binding in an F# asynchronous workflow, that is,
+
+ async { ...
+ let! completor1 = childComputation1 |> Async.StartChild
+ let! completor2 = childComputation2 |> Async.StartChild
+ ...
+ let! result1 = completor1
+ let! result2 = completor2
+ ... }
+
+ When used in this way, each use of StartChild starts an instance of childComputation
+ and returns a completor object representing a computation to wait for the completion of the operation.
+ When executed, the completor awaits the completion of childComputation.
+ The child computation.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ A new computation that waits for the input computation to finish.
+
+
+ Executes a computation in the thread pool.
+ If no cancellation token is provided then the default cancellation token is used.
+ A System.Threading.Tasks.Task that will be completed
+ in the corresponding state once the computation terminates (produces the result, throws exception or gets canceled)
+
+
+
+ Starts the asynchronous computation in the thread pool. Do not await its result.
+
+ If no cancellation token is provided then the default cancellation token is used.
+ The computation to run asynchronously.
+ The cancellation token to be associated with the computation.
+ If one is not supplied, the default cancellation token is used.
+
+
+ Creates an asynchronous computation that will sleep for the given time. This is scheduled
+ using a System.Threading.Timer object. The operation will not block operating system threads
+ for the duration of the wait.
+ The number of milliseconds to sleep.
+ An asynchronous computation that will sleep for the given time.
+ Thrown when the due time is negative
+ and not infinite.
+
+
+ Runs the asynchronous computation and await its result.
+
+ If an exception occurs in the asynchronous computation then an exception is re-raised by this
+ function.
+
+ If no cancellation token is provided then the default cancellation token is used.
+
+ The timeout parameter is given in milliseconds. A value of -1 is equivalent to
+ System.Threading.Timeout.Infinite.
+ The computation to run.
+ The amount of time in milliseconds to wait for the result of the
+ computation before raising a System.TimeoutException. If no value is provided
+ for timeout then a default of -1 is used to correspond to System.Threading.Timeout.Infinite.
+ The cancellation token to be associated with the computation.
+ If one is not supplied, the default cancellation token is used.
+ The result of the computation.
+
+
+ Creates an asynchronous computation that executes all the given asynchronous computations,
+ initially queueing each as work items and using a fork/join pattern.
+
+ If all child computations succeed, an array of results is passed to the success continuation.
+
+ If any child computation raises an exception, then the overall computation will trigger an
+ exception, and cancel the others.
+
+ The overall computation will respond to cancellation while executing the child computations.
+ If cancelled, the computation will cancel any remaining child computations but will still wait
+ for the other child computations to complete.
+ A sequence of distinct computations to be parallelized.
+ A computation that returns an array of values from the sequence of input computations.
+
+
+ Generates a scoped, cooperative cancellation handler for use within an asynchronous workflow.
+
+ For example,
+ async { use! holder = Async.OnCancel interruption ... }
+ generates an asynchronous computation where, if a cancellation happens any time during
+ the execution of the asynchronous computation in the scope of holder, then action
+ interruption is executed on the thread that is performing the cancellation. This can
+ be used to arrange for a computation to be asynchronously notified that a cancellation
+ has occurred, e.g. by setting a flag, or deregistering a pending I/O action.
+ The function that is executed on the thread performing the
+ cancellation.
+ An asynchronous computation that triggers the interruption if it is cancelled
+ before being disposed.
+
+
+ Creates an asynchronous computation that runs the given computation and ignores
+ its result.
+ The input computation.
+ A computation that is equivalent to the input computation, but disregards the result.
+
+
+ Creates an asynchronous computation that captures the current
+ success, exception and cancellation continuations. The callback must
+ eventually call exactly one of the given continuations.
+ The function that accepts the current success, exception, and cancellation
+ continuations.
+ An asynchronous computation that provides the callback with the current continuations.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by three arguments. For example,
+ Async.FromBeginEnd(arg1,arg2,arg3,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The first argument for the operation.
+ The second argument for the operation.
+ The third argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by two arguments. For example,
+ Async.FromBeginEnd(arg1,arg2,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The first argument for the operation.
+ The second argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. This overlaod should be used if the operation is
+ qualified by one argument. For example,
+ Async.FromBeginEnd(place,ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The argument for the operation.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation in terms of a Begin/End pair of actions in
+ the style used in CLI APIs. For example,
+ Async.FromBeginEnd(ws.BeginGetWeather,ws.EndGetWeather)
+ When the computation is run, beginFunc is executed, with
+ a callback which represents the continuation of the computation.
+ When the callback is invoked, the overall result is fetched using endFunc.
+
+ The computation will respond to cancellation while waiting for the completion
+ of the operation. If a cancellation occurs, and cancelAction is specified, then it is
+ executed, and the computation continues to wait for the completion of the operation.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to stop immediately, and subsequent invocations of the callback are ignored.
+ The function initiating a traditional CLI asynchronous operation.
+ The function completing a traditional CLI asynchronous operation.
+ An optional function to be executed when a cancellation is requested.
+ An asynchronous computation wrapping the given Begin/End functions.
+
+
+ Creates an asynchronous computation that executes computation.
+ If this computation completes successfully then return Choice1Of2 with the returned
+ value. If this computation raises an exception before it completes then return Choice2Of2
+ with the raised exception.
+ The input computation that returns the type T.
+ A computation that returns a choice of type T or exception.
+
+
+ Raises the cancellation condition for the most recent set of asynchronous computations started
+ without any specific CancellationToken. Replaces the global CancellationTokenSource with a new
+ global token source for any asynchronous computations created after this point without any
+ specific CancellationToken.
+
+
+ Creates an asynchronous computation that will wait on the given WaitHandle.
+
+ The computation returns true if the handle indicated a result within the given timeout.
+ The WaitHandle that can be signalled.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ An asynchronous computation that waits on the given WaitHandle.
+
+
+
+ Return an asynchronous computation that will wait for the given task to complete and return
+ its result.
+
+
+
+ Creates an asynchronous computation that will wait on the IAsyncResult.
+
+ The computation returns true if the handle indicated a result within the given timeout.
+ The IAsyncResult to wait on.
+ The timeout value in milliseconds. If one is not provided
+ then the default value of -1 corresponding to System.Threading.Timeout.Infinite.
+ An asynchronous computation that waits on the given IAsyncResult.
+
+
+ Creates an asynchronous computation that waits for a single invocation of a CLI
+ event by adding a handler to the event. Once the computation completes or is
+ cancelled, the handler is removed from the event.
+
+ The computation will respond to cancellation while waiting for the event. If a
+ cancellation occurs, and cancelAction is specified, then it is executed, and
+ the computation continues to wait for the event.
+
+ If cancelAction is not specified, then cancellation causes the computation
+ to cancel immediately.
+ The event to handle once.
+ An optional function to execute instead of cancelling when a
+ cancellation is issued.
+ An asynchronous computation that waits for the event to be invoked.
+
+
+ Creates three functions that can be used to implement the .NET Asynchronous
+ Programming Model (APM) for a given asynchronous computation.
+
+ The functions should normally be published as members with prefix Begin,
+ End and Cancel, and can be used within a type definition as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg -> computation)
+ member x.BeginSomeOperation(arg,callback,state:obj) = beginAction(arg,callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+ If the asynchronous computation takes no arguments, then AsBeginEnd is used as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun () -> computation)
+ member x.BeginSomeOperation(callback,state:obj) = beginAction((),callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+
+ If the asynchronous computation takes two arguments, then AsBeginEnd is used as follows:
+
+ let beginAction,endAction,cancelAction = Async.AsBeginEnd (fun arg1 arg2 -> computation)
+ member x.BeginSomeOperation(arg1,arg2,callback,state:obj) = beginAction((),callback,state)
+ member x.EndSomeOperation(iar) = endAction(iar)
+ member x.CancelSomeOperation(iar) = cancelAction(iar)
+
+
+ In each case, the resulting API will be familiar to programmers in other CLI languages and
+ is a useful way to publish asynchronous computations in CLI components.
+ A function generating the asynchronous computation to split into the traditional
+ .NET Asynchronous Programming Model.
+ A tuple of the begin, end, and cancel members.
+
+
+ This static class holds members for creating and manipulating asynchronous computations.
+
+
+ Creates an asynchronous computation that just returns ().
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of empty else branches in the
+ async { ... } computation expression syntax.
+ An asynchronous computation that returns ().
+
+
+ Creates an asynchronous computation that runs computation repeatedly
+ until guard() becomes false.
+
+ A cancellation check is performed whenever the computation is executed.
+
+ The existence of this method permits the use of while in the
+ async { ... } computation expression syntax.
+ The function to determine when to stop executing computation.
+ The function to be executed. Equivalent to the body
+ of a while expression.
+ An asynchronous computation that behaves similarly to a while loop when run.
+
+
+ Creates an asynchronous computation that runs binder(resource).
+ The action resource.Dispose() is executed as this computation yields its result
+ or if the asynchronous computation exits by an exception or by cancellation.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of use and use! in the
+ async { ... } computation expression syntax.
+ The resource to be used and disposed.
+ The function that takes the resource and returns an asynchronous
+ computation.
+ An asynchronous computation that binds and eventually disposes resource.
+
+
+ Creates an asynchronous computation that runs computation and returns its result.
+ If an exception happens then catchHandler(exn) is called and the resulting computation executed instead.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of try/with in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The function to run when computation throws an exception.
+ An asynchronous computation that executes computation and calls catchHandler if an
+ exception is thrown.
+
+
+ Creates an asynchronous computation that runs computation. The action compensation is executed
+ after computation completes, whether computation exits normally or by an exception. If compensation raises an exception itself
+ the original exception is discarded and the new exception becomes the overall result of the computation.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of try/finally in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The action to be run after computation completes or raises an
+ exception (including cancellation).
+ An asynchronous computation that executes computation and compensation aftewards or
+ when an exception is raised.
+
+
+ Delegates to the input computation.
+
+ The existence of this method permits the use of return! in the
+ async { ... } computation expression syntax.
+ The input computation.
+ The input computation.
+
+
+ Creates an asynchronous computation that returns the result v.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of return in the
+ async { ... } computation expression syntax.
+ The value to return from the computation.
+ An asynchronous computation that returns value when executed.
+
+
+ Creates an asynchronous computation that enumerates the sequence seq
+ on demand and runs body for each element.
+
+ A cancellation check is performed on each iteration of the loop.
+
+ The existence of this method permits the use of for in the
+ async { ... } computation expression syntax.
+ The sequence to enumerate.
+ A function to take an item from the sequence and create
+ an asynchronous computation. Can be seen as the body of the for expression.
+ An asynchronous computation that will enumerate the sequence and run body
+ for each element.
+
+
+ Creates an asynchronous computation that runs generator.
+
+ A cancellation check is performed when the computation is executed.
+ The function to run.
+ An asynchronous computation that runs generator.
+
+
+ Creates an asynchronous computation that first runs computation1
+ and then runs computation2, returning the result of computation2.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of expression sequencing in the
+ async { ... } computation expression syntax.
+ The first part of the sequenced computation.
+ The second part of the sequenced computation.
+ An asynchronous computation that runs both of the computations sequentially.
+
+
+ Creates an asynchronous computation that runs computation, and when
+ computation generates a result T, runs binder res.
+
+ A cancellation check is performed when the computation is executed.
+
+ The existence of this method permits the use of let! in the
+ async { ... } computation expression syntax.
+ The computation to provide an unbound result.
+ The function to bind the result of computation.
+ An asynchronous computation that performs a monadic bind on the result
+ of computation.
+
+
+
+ Generate an object used to build asynchronous computations using F# computation expressions. The value
+ 'async' is a pre-defined instance of this type.
+
+ A cancellation check is performed when the computation is executed.
+
+
+
+ The type of the async operator, used to build workflows for asynchronous computations.
+
+
+ Sends a reply to a PostAndReply message.
+ The value to send.
+
+
+ A handle to a capability to reply to a PostAndReply message.
+
+
+ A compositional asynchronous computation, which, when run, will eventually produce a value
+ of type T, or else raises an exception.
+
+ Asynchronous computations are normally specified using an F# computation expression.
+
+ When run, asynchronous computations have two modes: as a work item (executing synchronous
+ code), or as a wait item (waiting for an event or I/O completion).
+
+ When run, asynchronous computations can be governed by CancellationToken. This can usually
+ be specified when the async computation is started. The associated CancellationTokenSource
+ may be used to cancel the asynchronous computation. Asynchronous computations built using
+ computation expressions can check the cancellation condition regularly. Synchronous
+ computations within an asynchronous computation do not automatically check this condition.
+
+
+ Publishes the event as a first class event value.
+
+
+ Triggers the event using the given parameters.
+ The parameters for the event.
+
+
+ Creates an event object suitable for implementing an arbitrary type of delegate.
+ The event object.
+
+
+ Event implementations for an arbitrary type of delegate.
+
+
+ Publishes an observation as a first class value.
+
+
+ Triggers an observation using the given parameters.
+ The event parameters.
+
+
+ Creates an observable object.
+ The created event.
+
+
+ Event implementations for the IEvent<_> type.
+
+
+ Publishes the event as a first class event value.
+
+
+ Triggers the event using the given sender object and parameters. The sender object may be null.
+ The object triggering the event.
+ The parameters for the event.
+
+
+ Creates an event object suitable for delegate types following the standard .NET Framework convention of a first 'sender' argument.
+ The created event.
+
+
+ Event implementations for a delegate types following the standard .NET Framework convention of a first 'sender' argument.
+
+
+
+
+
+ A delegate type associated with the F# event type IEvent<_>
+ The object that fired the event.
+ The event arguments.
+
+
+ Remove a listener delegate from an event listener store.
+ The delegate to be removed from the event listener store.
+
+
+ Connect a handler delegate object to the event. A handler can
+ be later removed using RemoveHandler. The listener will
+ be invoked when the event is fired.
+ A delegate to be invoked when the event is fired.
+
+
+ First class event values for arbitrary delegate types.
+
+ F# gives special status to member properties compatible with type IDelegateEvent and
+ tagged with the CLIEventAttribute. In this case the F# compiler generates approriate
+ CLI metadata to make the member appear to other CLI languages as a CLI event.
+
+
+ First-class listening points (i.e. objects that permit you to register a callback
+ activated when the event is triggered).
+
+
+ First class event values for CLI events conforming to CLI Framework standards.
+
+
+ The type of delayed computations.
+
+ Use the values in the Lazy module to manipulate
+ values of this type, and the notation lazy expr to create values
+ of type .
+
+
+ Raises a timeout exception if a message not received in this amount of time. By default
+ no timeout is used.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Raises a timeout exception if a message not received in this amount of time. By default
+ no timeout is used.
+
+
+ Returns the number of unprocessed messages in the message queue of the agent.
+
+
+ Occurs when the execution of the agent results in an exception.
+
+
+ Scans for a message by looking through messages in arrival order until scanner
+ returns a Some value. Other messages remain in the queue.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ The function to return None if the message is to be skipped
+ or Some if the message is to be processed and removed from the queue.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that scanner built off the read message.
+
+
+ Waits for a message. This will consume the first message in arrival order.
+
+ This method is for use within the body of the agent.
+
+ Returns None if a timeout is given and the timeout is exceeded.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ An optional timeout in milliseconds. Defaults to -1 which
+ corresponds to System.Threading.Timeout.Infinite.
+ An asynchronous computation that returns the received message or
+ None if the timeout is exceeded.
+
+
+ Like PostAndReply, but returns None if no reply within the timeout period.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ The reply from the agent or None if the timeout expires.
+
+
+ Starts the agent.
+
+
+ Creates and starts an agent. The body function is used to generate the asynchronous
+ computation executed by the agent.
+ The function to produce an asynchronous computation that will be executed
+ as the read loop for the MailboxProcessor when Start is called.
+ An optional cancellation token for the body.
+ Defaults to Async.DefaultCancellationToken.
+ The created MailboxProcessor.
+
+
+ Scans for a message by looking through messages in arrival order until scanner
+ returns a Some value. Other messages remain in the queue.
+
+ Returns None if a timeout is given and the timeout is exceeded.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ The function to return None if the message is to be skipped
+ or Some if the message is to be processed and removed from the queue.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that scanner built off the read message.
+ Thrown when the timeout is exceeded.
+
+
+ Waits for a message. This will consume the first message in arrival order.
+
+ This method is for use within the body of the agent.
+
+ This method is for use within the body of the agent. For each agent, at most
+ one concurrent reader may be active, so no more than one concurrent call to
+ Receive, TryReceive, Scan and/or TryScan may be active.
+ An optional timeout in milliseconds. Defaults to -1 which corresponds
+ to System.Threading.Timeout.Infinite.
+ An asynchronous computation that returns the received message.
+ Thrown when the timeout is exceeded.
+
+
+ Like AsyncPostAndReply, but returns None if no reply within the timeout period.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ An asynchronous computation that will return the reply or None if the timeout expires.
+
+
+ Posts a message to an agent and await a reply on the channel, synchronously.
+
+ The message is generated by applying buildMessage to a new reply channel
+ to be incorporated into the message. The receiving agent must process this
+ message and invoke the Reply method on this reply channel precisely once.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ The reply from the agent.
+
+
+ Posts a message to an agent and await a reply on the channel, asynchronously.
+
+ The message is generated by applying buildMessage to a new reply channel
+ to be incorporated into the message. The receiving agent must process this
+ message and invoke the Reply method on this reply channel precisely once.
+ The function to incorporate the AsyncReplyChannel into
+ the message to be sent.
+ An optional timeout parameter (in milliseconds) to wait for a reply message.
+ Defaults to -1 which corresponds to System.Threading.Timeout.Infinite.
+ An asychronous computation that will wait for the reply from the agent.
+
+
+ Posts a message to the message queue of the MailboxProcessor, asynchronously.
+ The message to post.
+
+
+ Creates an agent. The body function is used to generate the asynchronous
+ computation executed by the agent. This function is not executed until
+ Start is called.
+ The function to produce an asynchronous computation that will be executed
+ as the read loop for the MailboxProcessor when Start is called.
+ An optional cancellation token for the body.
+ Defaults to Async.DefaultCancellationToken.
+ The created MailboxProcessor.
+
+
+ A message-processing agent which executes an asynchronous computation.
+
+ The agent encapsulates a message queue that supports multiple-writers and
+ a single reader agent. Writers send messages to the agent by using the Post
+ method and its variations.
+
+ The agent may wait for messages using the Receive or TryReceive methods or
+ scan through all available messages using the Scan or TryScan method.
+
+
+
+
+
+ Connects a listener function to the observable. The listener will
+ be invoked for each observation. The listener can be removed by
+ calling Dispose on the returned IDisposable object.
+ The function to be called for each observation.
+ An object that will remove the listener if disposed.
+
+
+ Permanently connects a listener function to the observable. The listener will
+ be invoked for each observation.
+ The function to be called for each observation.
+
+
+ Returns an asynchronous computation that will write the given bytes to the stream.
+ The buffer to write from.
+ An optional offset as a number of bytes in the stream.
+ An optional number of bytes to write to the stream.
+ An asynchronous computation that will write the given bytes to the stream.
+ Thrown when the sum of offset and count is longer than
+ the buffer length.
+ Thrown when offset or count is negative.
+
+
+ Returns an asynchronous computation that will read the given number of bytes from the stream.
+ The number of bytes to read.
+ An asynchronous computation that returns the read byte[] when run.
+
+
+ Returns an asynchronous computation that will read from the stream into the given buffer.
+ The buffer to read into.
+ An optional offset as a number of bytes in the stream.
+ An optional number of bytes to read from the stream.
+ An asynchronous computation that will read from the stream into the given buffer.
+ Thrown when the sum of offset and count is longer than
+ the buffer length.
+ Thrown when offset or count is negative.
+
+
+ A module of extension members providing asynchronous operations for some basic CLI types related to concurrency and I/O.
+
+
+ Returns a new event that triggers on the second and subsequent triggerings of the input event.
+ The Nth triggering of the input event passes the arguments from the N-1th and Nth triggering as
+ a pair. The argument passed to the N-1th triggering is held in hidden internal state until the
+ Nth triggering occurs.
+ The input event.
+ An event that triggers on pairs of consecutive values passed from the source event.
+
+
+ Runs the given function each time the given event is triggered.
+ The function to call when the event is triggered.
+ The input event.
+
+
+ Returns a new event consisting of the results of applying the given accumulating function
+ to successive values triggered on the input event. An item of internal state
+ records the current value of the state parameter. The internal state is not locked during the
+ execution of the accumulation function, so care should be taken that the
+ input IEvent not triggered by multiple threads simultaneously.
+ The function to update the state with each event value.
+ The initial state.
+ The input event.
+ An event that fires on the updated state values.
+
+
+ Returns a new event which fires on a selection of messages from the original event.
+ The selection function takes an original message to an optional new message.
+ The function to select and transform event values to pass on.
+ The input event.
+ An event that fires only when the chooser returns Some.
+
+
+ Returns a new event that listens to the original event and triggers the
+ first resulting event if the application of the function to the event arguments
+ returned a Choice1Of2, and the second event if it returns a Choice2Of2.
+ The function to transform event values into one of two types.
+ The input event.
+ A tuple of events. The first fires whenever splitter evaluates to Choice1of1 and
+ the second fires whenever splitter evaluates to Choice2of2.
+
+
+ Returns a new event that listens to the original event and triggers the
+ first resulting event if the application of the predicate to the event arguments
+ returned true, and the second event if it returned false.
+ The function to determine which output event to trigger.
+ The input event.
+ A tuple of events. The first is triggered when the predicate evaluates to true
+ and the second when the predicate evaluates to false.
+
+
+ Returns a new event that listens to the original event and triggers the resulting
+ event only when the argument to the event passes the given function.
+ The function to determine which triggers from the event to propagate.
+ The input event.
+ An event that only passes values that pass the predicate.
+
+
+ Returns a new event that passes values transformed by the given function.
+ The function to transform event values.
+ The input event.
+ An event that passes the transformed values.
+
+
+ Fires the output event when either of the input events fire.
+ The first input event.
+ The second input event.
+ An event that fires when either of the input events fire.
+
+
+
+
+
+ Forces the execution of this value and return its result. Same as Value. Mutual exclusion is used to
+ prevent other threads also computing the value.
+ The value of the Lazy object.
+
+
+ Creates a lazy computation that evaluates to the given value when forced.
+ The input value.
+ The created Lazy object.
+
+
+ Creates a lazy computation that evaluates to the result of the given function when forced.
+ The function to provide the value when needed.
+ The created Lazy object.
+
+
+ Extensions related to Lazy values.
+
+
+ Returns a new observable that triggers on the second and subsequent triggerings of the input observable.
+ The Nth triggering of the input observable passes the arguments from the N-1th and Nth triggering as
+ a pair. The argument passed to the N-1th triggering is held in hidden internal state until the
+ Nth triggering occurs.
+
+ For each observer, the registered intermediate observing object is not thread safe.
+ That is, observations arising from the source must not be triggered concurrently
+ on different threads.
+ The input Observable.
+ An Observable that triggers on successive pairs of observations from the input Observable.
+
+
+ Creates an observer which subscribes to the given observable and which calls
+ the given function for each observation.
+ The function to be called on each observation.
+ The input Observable.
+ An object that will remove the callback if disposed.
+
+
+ Creates an observer which permanently subscribes to the given observable and which calls
+ the given function for each observation.
+ The function to be called on each observation.
+ The input Observable.
+
+
+ Returns an observable which, for each observer, allocates an item of state
+ and applies the given accumulating function to successive values arising from
+ the input. The returned object will trigger observations for each computed
+ state value, excluding the initial value. The returned object propagates
+ all errors arising from the source and completes when the source completes.
+
+ For each observer, the registered intermediate observing object is not thread safe.
+ That is, observations arising from the source must not be triggered concurrently
+ on different threads.
+ The function to update the state with each observation.
+ The initial state.
+ The input Observable.
+ An Observable that triggers on the updated state values.
+
+
+ Returns an observable which chooses a projection of observations from the source
+ using the given function. The returned object will trigger observations x
+ for which the splitter returns Some x. The returned object also propagates
+ all errors arising from the source and completes when the source completes.
+ The function that returns Some for observations to be propagated
+ and None for observations to ignore.
+ The input Observable.
+ An Observable that only propagates some of the observations from the source.
+
+
+ Returns two observables which split the observations of the source by the
+ given function. The first will trigger observations x for which the
+ splitter returns Choice1Of2 x. The second will trigger observations
+ y for which the splitter returns Choice2Of2 y The splitter is
+ executed once for each subscribed observer. Both also propagate error
+ observations arising from the source and each completes when the source
+ completes.
+ The function that takes an observation an transforms
+ it into one of the two output Choice types.
+ The input Observable.
+ A tuple of Observables. The first triggers when splitter returns Choice1of2
+ and the second triggers when splitter returns Choice2of2.
+
+
+ Returns two observables which partition the observations of the source by
+ the given function. The first will trigger observations for those values
+ for which the predicate returns true. The second will trigger observations
+ for those values where the predicate returns false. The predicate is
+ executed once for each subscribed observer. Both also propagate all error
+ observations arising from the source and each completes when the source
+ completes.
+ The function to determine which output Observable will trigger
+ a particular observation.
+ The input Observable.
+ A tuple of Observables. The first triggers when the predicate returns true, and
+ the second triggers when the predicate returns false.
+
+
+ Returns an observable which filters the observations of the source
+ by the given function. The observable will see only those observations
+ for which the predicate returns true. The predicate is executed once for
+ each subscribed observer. The returned object also propagates error
+ observations arising from the source and completes when the source completes.
+ The function to apply to observations to determine if it should
+ be kept.
+ The input Observable.
+ An Observable that filters observations based on filter.
+
+
+ Returns an observable which transforms the observations of the source by the
+ given function. The transformation function is executed once for each
+ subscribed observer. The returned object also propagates error observations
+ arising from the source and completes when the source completes.
+ The function applied to observations from the source.
+ The input Observable.
+ An Observable of the type specified by mapping.
+
+
+ Returns an observable for the merged observations from the sources.
+ The returned object propagates success and error values arising
+ from either source and completes when both the sources have completed.
+
+ For each observer, the registered intermediate observing object is not
+ thread safe. That is, observations arising from the sources must not
+ be triggered concurrently on different threads.
+ The first Observable.
+ The second Observable.
+ An Observable that propagates information from both sources.
+
+
+ Basic operations on first class event and other observable objects.
+
+
+ Returns an asynchronous computation that, when run, will wait for a response to the given WebRequest.
+ An asynchronous computation that waits for response to the WebRequest.
+
+
+ A module of extension members providing asynchronous operations for some basic Web operations.
+
+
+ Creates an instance of the attribute
+ AbstractClassAttribute
+
+
+ Adding this attribute to class definition makes it abstract, which means it need not
+ implement all its methods. Instances of abstract classes may not be constructed directly.
+
+
+ Creates an instance of the attribute
+ AllowNullLiteralAttribute
+
+
+ Adding this attribute to a type lets the 'null' literal be used for the type
+ within F# code. This attribute may only be added to F#-defined class or
+ interface types.
+
+
+ Indicates the namespace or module to be automatically opened when an assembly is referenced
+ or an enclosing module opened.
+
+
+ Creates an attribute used to mark a namespace or module path to be 'automatically opened' when an assembly is referenced
+ The namespace or module to be automatically opened when an assembly is referenced
+ or an enclosing module opened.
+ AutoOpenAttribute
+
+
+ Creates an attribute used to mark a module as 'automatically opened' when the enclosing namespace is opened
+ AutoOpenAttribute
+
+
+ This attribute is used for two purposes. When applied to an assembly, it must be given a string
+ argument, and this argument must indicate a valid module or namespace in that assembly. Source
+ code files compiled with a reference to this assembly are processed in an environment
+ where the given path is automatically oepned.
+
+ When applied to a module within an assembly, then the attribute must not be given any arguments.
+ When the enclosing namespace is opened in user source code, the module is also implicitly opened.
+
+
+ The value of the attribute, indicating whether the type is automatically marked serializable or not
+
+
+ Creates an instance of the attribute
+ Indicates whether the type should be serializable by default.
+ AutoSerializableAttribute
+
+
+ Adding this attribute to a type with value 'false' disables the behaviour where F# makes the
+ type Serializable by default.
+
+
+ Creates an instance of the attribute
+ CLIEventAttribute
+
+
+ Adding this attribute to a property with event type causes it to be compiled with as a CLI
+ metadata event, through a syntactic translation to a pair of 'add_EventName' and
+ 'remove_EventName' methods.
+
+
+ Creates an instance of the attribute
+ CLIMutableAttribute
+
+
+ Adding this attribute to a record type causes it to be compiled to a CLI representation
+ with a default constructor with property getters and setters.
+
+
+ Choice 2 of 2 choices
+
+
+ Choice 1 of 2 choices
+
+
+ Helper types for active patterns with 2 choices.
+
+
+ Choice 3 of 3 choices
+
+
+ Choice 2 of 3 choices
+
+
+ Choice 1 of 3 choices
+
+
+ Helper types for active patterns with 3 choices.
+
+
+ Choice 4 of 4 choices
+
+
+ Choice 3 of 4 choices
+
+
+ Choice 2 of 4 choices
+
+
+ Choice 1 of 4 choices
+
+
+ Helper types for active patterns with 4 choices.
+
+
+ Choice 5 of 5 choices
+
+
+ Choice 4 of 5 choices
+
+
+ Choice 3 of 5 choices
+
+
+ Choice 2 of 5 choices
+
+
+ Choice 1 of 5 choices
+
+
+ Helper types for active patterns with 5 choices.
+
+
+ Choice 6 of 6 choices
+
+
+ Choice 5 of 6 choices
+
+
+ Choice 4 of 6 choices
+
+
+ Choice 3 of 6 choices
+
+
+ Choice 2 of 6 choices
+
+
+ Choice 1 of 6 choices
+
+
+ Helper types for active patterns with 6 choices.
+
+
+ Choice 7 of 7 choices
+
+
+ Choice 6 of 7 choices
+
+
+ Choice 5 of 7 choices
+
+
+ Choice 4 of 7 choices
+
+
+ Choice 3 of 7 choices
+
+
+ Choice 2 of 7 choices
+
+
+ Choice 1 of 7 choices
+
+
+ Helper types for active patterns with 7 choices.
+
+
+ Creates an instance of the attribute
+ ClassAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI class.
+
+
+ Creates an instance of the attribute
+ ComparisonConditionalOnAttribute
+
+
+ This attribute is used to indicate a generic container type satisfies the F# 'comparison'
+ constraint only if a generic argument also satisfies this constraint. For example, adding
+ this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports
+ comparison if the type X also supports comparison and all other conditions for C<X> to support
+ comparison are also met. The type C<'T> can still be used with other type arguments, but a type such
+ as C<(int -> int)> will not support comparison because the type (int -> int) is an F# function type
+ and does not support comparison.
+
+ This attribute will be ignored if it is used on the generic parameters of functions or methods.
+
+
+ Indicates the number of arguments in each argument group
+
+
+ Creates an instance of the attribute
+ Indicates the number of arguments in each argument group.
+ CompilationArgumentCountsAttribute
+
+
+ This attribute is generated automatically by the F# compiler to tag functions and members
+ that accept a partial application of some of their arguments and return a residual function
+
+
+ Indicates the variant number of the entity, if any, in a linear sequence of elements with F# source code
+
+
+ Indicates the relationship between the compiled entity and F# source code
+
+
+ Indicates the sequence number of the entity, if any, in a linear sequence of elements with F# source code
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ Creates an instance of the attribute
+ Indicates the type of source construct.
+ CompilationMappingAttribute
+
+
+ This attribute is inserted automatically by the F# compiler to tag types
+ and methods in the generated CLI code with flags indicating the correspondence
+ with original source constructs. It is used by the functions in the
+ Microsoft.FSharp.Reflection namespace to reverse-map compiled constructs to
+ their original forms. It is not intended for use from user code.
+
+
+ Indicates one or more adjustments to the compiled representation of an F# type or member
+
+
+ Creates an instance of the attribute
+ Indicates adjustments to the compiled representation of the type or member.
+ CompilationRepresentationAttribute
+
+
+ This attribute is used to adjust the runtime representation for a type.
+ For example, it may be used to note that the null representation
+ may be used for a type. This affects how some constructs are compiled.
+
+
+ Compile a property as a CLI event.
+
+
+ Permit the use of null as a representation for nullary discriminators in a discriminated union.
+
+
+ append 'Module' to the end of a module whose name clashes with a type name in the same namespace.
+
+
+ Compile a member as 'instance' even if null is used as a representation for this type.
+
+
+ Compile an instance member as 'static' .
+
+
+ No special compilation representation.
+
+
+
+
+
+ Indicates one or more adjustments to the compiled representation of an F# type or member.
+
+
+ Indicates the name of the entity in F# source code
+
+
+ Creates an instance of the attribute
+ The name of the method in source.
+ CompilationSourceNameAttribute
+
+
+ This attribute is inserted automatically by the F# compiler to tag
+ methods which are given the 'CompiledName' attribute. It is not intended
+ for use from user code.
+
+
+ The name of the value as it appears in compiled code
+
+
+ Creates an instance of the attribute
+ The name to use in compiled code.
+ CompiledNameAttribute
+
+
+ Adding this attribute to a value or function definition in an F# module changes the name used
+ for the value in compiled CLI code.
+
+
+ Indicates if the construct should always be hidden in an editing environment.
+
+
+ Indicates if the message should indicate a compiler error. Error numbers less than
+ 10000 are considered reserved for use by the F# compiler and libraries.
+
+
+ Indicates the number associated with the message.
+
+
+ Indicates the warning message to be emitted when F# source code uses this construct
+
+
+ Indicates if the construct should always be hidden in an editing environment.
+
+
+ Indicates if the message should indicate a compiler error. Error numbers less than
+ 10000 are considered reserved for use by the F# compiler and libraries.
+
+
+ Creates an instance of the attribute.
+
+
+ Indicates that a message should be emitted when F# source code uses this construct.
+
+
+ Creates an instance of the attribute
+ CustomComparisonAttribute
+
+
+ Adding this attribute to a type indicates it is a type with a user-defined implementation of comparison.
+
+
+ Creates an instance of the attribute
+ CustomEqualityAttribute
+
+
+ Adding this attribute to a type indicates it is a type with a user-defined implementation of equality.
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression
+
+
+ Indicates the name used for the 'on' part of the custom query operator for join-like operators
+
+
+ Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs
+
+
+ Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint
+
+
+ Indicates if the custom operation is an operation similar to a group join in a sequence computation, supporting two inputs and a correlation constraint, and generating a group
+
+
+ Indicates if the custom operation supports the use of 'into' immediately after the use of the operation in a query or other computation expression to consume the results of the operation
+
+
+ Get the name of the custom operation when used in a query or other computation expression
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation
+
+
+ Indicates if the custom operation maintains the variable space of the query of computation expression
+
+
+ Indicates the name used for the 'on' part of the custom query operator for join-like operators
+
+
+ Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs
+
+
+ Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint
+
+
+ Indicates if the custom operation is an operation similar to a group join in a sequence computation, supporting two inputs and a correlation constraint, and generating a group
+
+
+ Indicates if the custom operation supports the use of 'into' immediately after the use of the operation in a query or other computation expression to consume the results of the operation
+
+
+ Creates an instance of the attribute
+ CustomOperationAttribute
+
+
+
+ Indicates that a member on a computation builder type is a custom query operator,
+ and indicates the name of that operator.
+
+
+
+ The value of the attribute, indicating whether the type has a default augmentation or not
+
+
+ Creates an instance of the attribute
+ Indicates whether to generate helper members on the CLI class representing a discriminated
+ union.
+ DefaultAugmentationAttribute
+
+
+ Adding this attribute to a discriminated union with value false
+ turns off the generation of standard helper member tester, constructor
+ and accessor members for the generated CLI class for that type.
+
+
+ Indicates if a constraint is asserted that the field type supports 'null'
+
+
+ Creates an instance of the attribute
+ Indicates whether to assert that the field type supports null.
+ DefaultValueAttribute
+
+
+ Creates an instance of the attribute
+ DefaultValueAttribute
+
+
+ Adding this attribute to a field declaration means that the field is
+ not initialized. During type checking a constraint is asserted that the field type supports 'null'.
+ If the 'check' value is false then the constraint is not asserted.
+
+
+ Creates an instance of the attribute
+ EntryPointAttribute
+
+
+ Adding this attribute to a function indicates it is the entrypoint for an application.
+ If this attribute is not specified for an EXE then the initialization implicit in the
+ module bindings in the last file in the compilation sequence are used as the entrypoint.
+
+
+ Creates an instance of the attribute
+ EqualityConditionalOnAttribute
+
+
+ This attribute is used to indicate a generic container type satisfies the F# 'equality'
+ constraint only if a generic argument also satisfies this constraint. For example, adding
+ this attribute to parameter 'T on a type definition C<'T> means that a type C<X> only supports
+ equality if the type X also supports equality and all other conditions for C<X> to support
+ equality are also met. The type C<'T> can still be used with other type arguments, but a type such
+ as C<(int -> int)> will not support equality because the type (int -> int) is an F# function type
+ and does not support equality.
+
+ This attribute will be ignored if it is used on the generic parameters of functions or methods.
+
+
+ Indicates the warning message to be emitted when F# source code uses this construct
+
+
+ Creates an instance of the attribute
+ The warning message to be emitted when code uses this construct.
+ ExperimentalAttribute
+
+
+ This attribute is used to tag values that are part of an experimental library
+ feature.
+
+
+ Invoke an F# first class function value with two curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The function result.
+
+
+ Invoke an F# first class function value with three curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The function result.
+
+
+ Invoke an F# first class function value with four curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The function result.
+
+
+ Invoke an F# first class function value with five curried arguments. In some cases this
+ will result in a more efficient application than applying the arguments successively.
+ The input function.
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The fifth arg.
+ The function result.
+
+
+ Invoke an F# first class function value with one argument
+
+ 'U
+
+
+ Construct an instance of an F# first class function value
+ The created F# function.
+
+
+ The CLI type used to represent F# function values. This type is not
+ typically used directly, though may be used from other CLI languages.
+
+
+ The release number of the F# version associated with the attribute
+
+
+ The minor version number of the F# version associated with the attribute
+
+
+ The major version number of the F# version associated with the attribute
+
+
+ Creates an instance of the attribute
+ The major version number.
+ The minor version number.
+ The release number.
+ FSharpInterfaceDataVersionAttribute
+
+
+ This attribute is added to generated assemblies to indicate the
+ version of the data schema used to encode additional F#
+ specific information in the resource attached to compiled F# libraries.
+
+
+ Specialize the type function at a given type
+ The specialized type.
+
+
+ Construct an instance of an F# first class type function value
+ FSharpTypeFunc
+
+
+ The CLI type used to represent F# first-class type function values. This type is for use
+ by compiled F# code.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+ Tuple of values generated by scan or match.
+
+
+ Convert the given Action delegate object to an F# function value
+ The input action.
+ The F# function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ A utility function to convert function values from tupled to curried form
+ The input tupled function.
+ The output curried function.
+
+
+ Helper functions for converting F# first class function values to and from CLI representaions
+ of functions using delegates.
+
+
+ Creates an instance of the attribute
+ GeneralizableValueAttribute
+
+
+ Adding this attribute to a non-function value with generic parameters indicates that
+ uses of the construct can give rise to generic code through type inference.
+
+
+ Creates an instance of the attribute
+ InterfaceAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI interface.
+
+
+ Creates an instance of the attribute
+ LiteralAttribute
+
+
+ Adding this attribute to a value causes it to be compiled as a CLI constant literal.
+
+
+ Creates an instance of the attribute
+ MeasureAnnotatedAbbreviationAttribute
+
+
+ Adding this attribute to a type causes it to be interpreted as a refined type, currently limited to measure-parameterized types.
+ This may only be used under very limited conditions.
+
+
+ Creates an instance of the attribute
+ MeasureAttribute
+
+
+ Adding this attribute to a type causes it to be interpreted as a unit of measure.
+ This may only be used under very limited conditions.
+
+
+ Creates an instance of the attribute
+ NoComparisonAttribute
+
+
+ Adding this attribute to a type indicates it is a type where comparison is an abnormal operation.
+ This means that the type does not satisfy the F# 'comparison' constraint. Within the bounds of the
+ F# type system, this helps ensure that the F# generic comparison function is not instantiated directly
+ at this type. The attribute and checking does not constrain the use of comparison with base or child
+ types of this type.
+
+
+ Creates an instance of the attribute
+ NoDynamicInvocationAttribute
+
+
+ This attribute is used to tag values that may not be dynamically invoked at runtime. This is
+ typically added to inlined functions whose implementations include unverifiable code. It
+ causes the method body emitted for the inlined function to raise an exception if
+ dynamically invoked, rather than including the unverifiable code in the generated
+ assembly.
+
+
+ Creates an instance of the attribute
+ NoEqualityAttribute
+
+
+ Adding this attribute to a type indicates it is a type where equality is an abnormal operation.
+ This means that the type does not satisfy the F# 'equality' constraint. Within the bounds of the
+ F# type system, this helps ensure that the F# generic equality function is not instantiated directly
+ at this type. The attribute and checking does not constrain the use of comparison with base or child
+ types of this type.
+
+
+ The representation of "Value of type 'T"
+ The input value.
+ An option representing the value.
+
+
+ The representation of "No value"
+
+
+ Get the value of a 'Some' option. A NullReferenceException is raised if the option is 'None'.
+
+
+ Create an option value that is a 'None' value.
+
+
+ Return 'true' if the option is a 'Some' value.
+
+
+ Return 'true' if the option is a 'None' value.
+
+
+ Create an option value that is a 'Some' value.
+ The input value
+ An option representing the value.
+
+
+ The type of optional values. When used from other CLI languages the
+ empty option is the null value.
+
+ Use the constructors Some and None to create values of this type.
+ Use the values in the Option module to manipulate values of this type,
+ or pattern match against the values directly.
+
+ None values will appear as the value null to other CLI languages.
+ Instance methods on this type will appear as static methods to other CLI languages
+ due to the use of null as a value representation.
+
+
+ Creates an instance of the attribute
+ OptionalArgumentAttribute
+
+
+ This attribute is added automatically for all optional arguments.
+
+
+ The raw text of the format string.
+
+
+ Construct a format string
+ The input string.
+ The PrintfFormat containing the formatted result.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+
+
+ Construct a format string
+ The input string.
+ The created format string.
+
+
+ Type of a formatting expression.
+ Function type generated by printf.
+ Type argument passed to %a formatters
+ Value generated by the overall printf action (e.g. sprint generates a string)
+ Value generated after post processing (e.g. failwithf generates a string internally then raises an exception)
+ Tuple of values generated by scan or match.
+
+
+ Creates an instance of the attribute
+ ProjectionParameterAttribute
+
+
+ Indicates that, when a custom operator is used in a computation expression,
+ a parameter is automatically parameterized by the variable space of the computation expression
+
+
+
+ The current value of the reference cell
+
+
+
+ The current value of the reference cell
+
+
+ The current value of the reference cell
+
+
+ The type of mutable references. Use the functions [:=] and [!] to get and
+ set values of this type.
+
+
+ Creates an instance of the attribute
+ ReferenceEqualityAttribute
+
+
+ Adding this attribute to a record or union type disables the automatic generation
+ of overrides for 'System.Object.Equals(obj)', 'System.Object.GetHashCode()'
+ and 'System.IComparable' for the type. The type will by default use reference equality.
+
+
+ Creates an instance of the attribute
+ ReflectedDefinitionAttribute
+
+
+ Adding this attribute to the let-binding for the definition of a top-level
+ value makes the quotation expression that implements the value available
+ for use at runtime.
+
+
+ Creates an instance of the attribute
+ RequireQualifiedAccessAttribute
+
+
+ This attribute is used to indicate that references to the elements of a module, record or union
+ type require explicit qualified access.
+
+
+ Creates an instance of the attribute
+ RequiresExplicitTypeArgumentsAttribute
+
+
+ Adding this attribute to a type, value or member requires that
+ uses of the construct must explicitly instantiate any generic type parameters.
+
+
+ The value of the attribute, indicating whether the type is sealed or not.
+
+
+ Creates an instance of the attribute
+ Indicates whether the class is sealed.
+ SealedAttribute
+
+
+ Creates an instance of the attribute.
+ The created attribute.
+
+
+ Adding this attribute to class definition makes it sealed, which means it may not
+ be extended or implemented.
+
+
+ Indicates that the compiled entity had private or internal representation in F# source code.
+
+
+ The mask of values related to the kind of the compiled entity.
+
+
+ Indicates that the compiled entity is part of the representation of an F# value declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# union case declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# module declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# closure.
+
+
+ Indicates that the compiled entity is part of the representation of an F# exception declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# record or union case field declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# class or other object type declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# record type declaration.
+
+
+ Indicates that the compiled entity is part of the representation of an F# union type declaration.
+
+
+ Indicates that the compiled entity has no relationship to an element in F# source code.
+
+
+
+
+
+ Indicates the relationship between a compiled entity in a CLI binary and an element in F# source code.
+
+
+ Creates an instance of the attribute
+ StructAttribute
+
+
+ Adding this attribute to a type causes it to be represented using a CLI struct.
+
+
+ Creates an instance of the attribute
+ StructuralComparisonAttribute
+
+
+ Adding this attribute to a record, union, exception, or struct type confirms the
+ automatic generation of implementations for 'System.IComparable' for the type.
+
+
+ Creates an instance of the attribute
+ StructuralEqualityAttribute
+
+
+ Adding this attribute to a record, union or struct type confirms the automatic
+ generation of overrides for 'System.Object.Equals(obj)' and
+ 'System.Object.GetHashCode()' for the type.
+
+
+ Indicates the text to display by default when objects of this type are displayed
+ using '%A' printf formatting patterns and other two-dimensional text-based display
+ layouts.
+
+
+ Creates an instance of the attribute
+ Indicates the text to display when using the '%A' printf formatting.
+ StructuredFormatDisplayAttribute
+
+
+ This attribute is used to mark how a type is displayed by default when using
+ '%A' printf formatting patterns and other two-dimensional text-based display layouts.
+ In this version of F# the only valid values are of the form PreText {PropertyName} PostText.
+ The property name indicates a property to evaluate and to display instead of the object itself.
+
+
+ The type 'unit', which has only one value "()". This value is special and
+ always uses the representation 'null'.
+
+
+ Creates an instance of the attribute
+ UnverifiableAttribute
+
+
+ This attribute is used to tag values whose use will result in the generation
+ of unverifiable code. These values are inevitably marked 'inline' to ensure that
+ the unverifiable constructs are not present in the actual code for the F# library,
+ but are rather copied to the source code of the caller.
+
+
+ Creates an instance of the attribute
+ VolatileFieldAttribute
+
+
+ Adding this attribute to an F# mutable binding causes the "volatile"
+ prefix to be used for all accesses to the field.
+
+
+ Four dimensional arrays, typically zero-based. Non-zero-based arrays
+ can be created using methods on the System.Array type.
+
+ Use the values in the Array4D module
+ to manipulate values of this type, or the notation arr.[x1,x2,x3,x4] to get and set array
+ values.
+
+
+ Three dimensional arrays, typically zero-based. Non-zero-based arrays
+ can be created using methods on the System.Array type.
+
+ Use the values in the Array3D module
+ to manipulate values of this type, or the notation arr.[x1,x2,x3] to get and set array
+ values.
+
+
+ Two dimensional arrays, typically zero-based.
+
+ Use the values in the Array2D module
+ to manipulate values of this type, or the notation arr.[x,y] to get/set array
+ values.
+
+ Non-zero-based arrays can also be created using methods on the System.Array type.
+
+
+ Single dimensional, zero-based arrays, written int[], string[] etc.
+ Use the values in the Array module to manipulate values
+ of this type, or the notation arr.[x] to get/set array
+ values.
+
+
+ Single dimensional, zero-based arrays, written int[], string[] etc.
+
+ Use the values in the Array module to manipulate values
+ of this type, or the notation arr.[x] to get/set array
+ values.
+
+
+
+
+
+ An abbreviation for the CLI type System.Boolean.
+
+
+ Represents a managed pointer in F# code.
+
+
+ An abbreviation for the CLI type System.Byte.
+
+
+ An abbreviation for the CLI type System.Char.
+
+
+ An abbreviation for the CLI type System.Decimal.
+
+
+ The type of decimal numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Decimal.
+
+
+ An abbreviation for the CLI type System.Double.
+
+
+ An abbreviation for the CLI type System.Exception.
+
+
+ An abbreviation for the CLI type System.Double.
+
+
+ An abbreviation for the CLI type System.Single.
+
+
+ The type of floating point numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Single.
+
+
+ The type of floating point numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Double.
+
+
+ This type is for internal use by the F# code generator.
+
+
+ An abbreviation for the CLI type System.Int32.
+
+
+ An abbreviation for the CLI type System.Int16.
+
+
+ The type of 16-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int16.
+
+
+ An abbreviation for the CLI type System.Int32.
+
+
+ An abbreviation for the CLI type System.Int64.
+
+
+ The type of 64-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int64.
+
+
+ An abbreviation for the CLI type System.SByte.
+
+
+ The type of 32-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.Int32.
+
+
+ An abbreviation for the CLI type System.IntPtr.
+
+
+ Represents an unmanaged pointer in F# code.
+
+ This type should only be used when writing F# code that interoperates
+ with native code. Use of this type in F# code may result in
+ unverifiable code being generated. Conversions to and from the
+ nativeint type may be required. Values of this type can be generated
+ by the functions in the NativeInterop.NativePtr module.
+
+
+ An abbreviation for the CLI type System.Object.
+
+
+ The type of optional values. When used from other CLI languages the
+ empty option is the null value.
+
+ Use the constructors Some and None to create values of this type.
+ Use the values in the Option module to manipulate values of this type,
+ or pattern match against the values directly.
+
+ 'None' values will appear as the value null to other CLI languages.
+ Instance methods on this type will appear as static methods to other CLI languages
+ due to the use of null as a value representation.
+
+
+ The type of mutable references. Use the functions [:=] and [!] to get and
+ set values of this type.
+
+
+ An abbreviation for the CLI type System.SByte.
+
+
+ The type of 8-bit signed integer numbers, annotated with a unit of measure. The unit
+ of measure is erased in compiled code and when values of this type
+ are analyzed using reflection. The type is representationally equivalent to
+ System.SByte.
+
+
+ An abbreviation for the CLI type System.Single.
+
+
+ An abbreviation for the CLI type System.String.
+
+
+ An abbreviation for the CLI type System.UInt16.
+
+
+ An abbreviation for the CLI type System.UInt32.
+
+
+ An abbreviation for the CLI type System.UInt64.
+
+
+ An abbreviation for the CLI type System.Byte.
+
+
+ An abbreviation for the CLI type System.UIntPtr.
+
+
+ The type 'unit', which has only one value "()". This value is special and
+ always uses the representation 'null'.
+
+
+
+
+
+
+
+
+
+
+
+ Non-exhaustive match failures will raise the MatchFailureException exception
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A new enumerator for the sequence.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A reference to the sequence.
+
+ A 0, 1, and 2 respectively indicate Stop, Yield, and Goto conditions for the sequence generator.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+ A new sequence generator for the expression.
+
+
+ The F# compiler emits implementations of this type for compiled sequence expressions.
+
+
+
+ Namespace name the provider injects types into.
+
+
+
+
+ Compilers call this method to query a type provider for a type name.
+
+ Resolver should return a type called name in namespace NamespaceName or null if the type is unknown.
+
+
+
+
+
+ The top-level types
+
+
+
+
+
+ The sub-namespaces in this namespace. An optional member to prevent generation of namespaces until an outer namespace is explored.
+
+
+
+
+
+
+
+ Triggered when an assumption changes that invalidates the resolutions so far reported by the provider
+
+
+
+
+ Triggered when an assumption changes that invalidates the resolutions so far reported by the provider
+
+
+
+
+ Triggered when an assumption changes that invalidates the resolutions so far reported by the provider
+
+
+
+
+ Get the static parameters for a provided type.
+
+ A type returned by GetTypes or ResolveTypeName
+
+
+
+
+ Namespace name the this TypeProvider injects types into.
+
+
+
+
+ Called by the compiler to ask for an Expression tree to replace the given MethodBase with.
+
+ MethodBase that was given to the compiler by a type returned by a GetType(s) call.
+ Expressions that represent the parameters to this call.
+ An expression that the compiler will use in place of the given method base.
+
+
+
+ Get the physical contents of the given logical provided assembly.
+
+
+
+
+ Apply static arguments to a provided type that accepts static arguments.
+
+ The provider must return a type with the given mangled name.
+ the provided type definition which has static parameters
+ the full path of the type, including encoded representations of static parameters
+ the static parameters, indexed by name
+
+
+
+
+
+
+ Represents the inverse of a measure expressions when returned as a generic argument of a provided type.
+
+
+ Represents the '1' measure expression when returned as a generic argument of a provided type.
+
+
+ Represents the product of two measure expressions when returned as a generic argument of a provided type.
+
+
+
+
+
+ Creates an instance of the attribute
+ TypeProviderAssemblyAttribute
+ The name of the design-time assembly for this type provider.
+
+
+ Creates an instance of the attribute
+ TypeProviderAssemblyAttribute
+
+
+ Place attribute on runtime assembly to indicate that there is a corresponding design-time
+ assembly that contains a type provider. Runtime and designer assembly may be the same.
+
+
+ Creates an instance of the attribute
+ TypeProviderAttribute
+
+
+ Place on a class that implements ITypeProvider to extend the compiler
+
+
+
+ Get the full path to use for temporary files for the type provider instance.
+
+
+
+
+ version of referenced system runtime assembly
+
+
+
+
+ Get the full path to referenced assembly that caused this type provider instance to be created.
+
+
+
+
+ Get the full path to use to resolve relative paths in any file name arguments given to the type provider instance.
+
+
+
+
+ Get the referenced assemblies for the type provider instance.
+
+
+
+
+ Indicates if the type provider host responds to invalidation events for type provider instances.
+
+
+
+
+ Indicates if the type provider instance is used in an environment which executes provided code such as F# Interactive.
+
+
+
+
+ Get the full path to use for temporary files for the type provider instance.
+
+
+
+
+ version of referenced system runtime assembly
+
+
+
+
+ Get the full path to referenced assembly that caused this type provider instance to be created.
+
+
+
+
+ Get the full path to use to resolve relative paths in any file name arguments given to the type provider instance.
+
+
+
+
+ Get the referenced assemblies for the type provider instance.
+
+
+
+
+ Indicates if the type provider host responds to invalidation events for type provider instances.
+
+
+
+
+ Indicates if the type provider instance is used in an environment which executes provided code such as F# Interactive.
+
+
+
+
+ Checks if given type exists in target system runtime library
+
+
+
+
+
+
+
+ If the class that implements ITypeProvider has a constructor that accepts TypeProviderConfig
+ then it will be constructed with an instance of TypeProviderConfig.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates an instance of the attribute
+ TypeProviderEditorHideMethodsAttribute
+
+
+ Indicates that a code editor should hide all System.Object methods from the intellisense menus for instances of a provided type
+
+
+
+
+
+
+
+
+
+
+
+ Additional type attribute flags related to provided types
+
+
+
+
+
+ Creates an instance of the attribute
+ TypeProviderXmlDocAttribute
+
+
+
+ The TypeProviderXmlDocAttribute attribute can be added to types and members.
+ The language service will display the CommentText property from the attribute
+ in the appropriate place when the user hovers over a type or member.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates an anonymous event with the given handlers.
+
+ A function to handle adding a delegate for the event to trigger.
+ A function to handle removing a delegate that the event triggers.
+ A function to produce the delegate type the event can trigger.
+
+ The initialized event.
+
+
+ The F# compiler emits calls to this function to implement the use operator for F# sequence
+ expressions.
+
+ The resource to be used and disposed.
+ The input sequence.
+
+ The result sequence.
+
+
+ The F# compiler emits calls to this function to implement the compiler-intrinsic
+ conversions from untyped System.Collections.IEnumerable sequences to typed sequences.
+
+ An initializer function.
+ A function to iterate and test if end of sequence is reached.
+ A function to retrieve the current element.
+
+ The resulting typed sequence.
+
+
+ The F# compiler emits calls to this function to
+ implement the try/finally operator for F# sequence expressions.
+
+ The input sequence.
+ A computation to be included in an enumerator's Dispose method.
+
+ The result sequence.
+
+
+ The F# compiler emits calls to this function to
+ implement the while operator for F# sequence expressions.
+
+ A function that indicates whether iteration should continue.
+ The input sequence.
+
+ The result sequence.
+
+
+ A group of functions used as part of the compiled representation of F# sequence expressions.
+
+
+ Builds a query using query syntax and operators.
+
+
+ An active pattern to force the execution of values of type Lazy<_>.
+
+
+ Special prefix operator for splicing untyped expressions into quotation holes.
+
+
+ Special prefix operator for splicing typed expressions into quotation holes.
+
+
+ Builds a 2D array from a sequence of sequences of elements.
+
+
+ Builds a read-only lookup table from a sequence of key/value pairs. The key objects are indexed using generic hashing and equality.
+
+
+ Converts the argument to signed byte.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using SByte.Parse() with InvariantCulture settings.
+ Otherwise the operation requires and invokes a ToSByte method on the input type.
+
+
+ Converts the argument to byte.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Byte.Parse() on strings and otherwise requires a ToByte method on the input type.
+
+
+ Converts the argument to 64-bit float.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Double.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToDouble method on the input type.
+
+
+ Converts the argument to 32-bit float.
+ This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Single.Parse() with InvariantCulture settings. Otherwise the operation requires and invokes a ToSingle method on the input type.
+
+
+ Builds an aysnchronous workflow using computation expression syntax.
+
+
+ Builds a set from a sequence of objects. The objects are indexed using generic comparison.
+ The input sequence of elements.
+ The created set.
+
+
+ Print to a file using the given format, and add a newline.
+ The file TextWriter.
+ The formatter.
+ The formatted result.
+
+
+ Print to a file using the given format.
+ The file TextWriter.
+ The formatter.
+ The formatted result.
+
+
+ Print to a string buffer and raise an exception with the given
+ result. Helper printers must return strings.
+ The formatter.
+ The formatted result.
+
+
+ Print to a string using the given format.
+ The formatter.
+ The formatted result.
+
+
+
+
+
+
+
+
+
+
+
+ Divides a value by an integer.
+ The input value.
+ The input int.
+ The division result.
+
+
+
+
+
+ Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One'
+
+
+ Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'
+
+
+ A compiler intrinsic that implements dynamic invocations for the DivideByInt primitive.
+
+
+ A compiler intrinsic that implements dynamic invocations to the checked '*' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the '*' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the checked '+' operator.
+
+
+ A compiler intrinsic that implements dynamic invocations to the '+' operator.
+
+
+ Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One'.
+
+
+ Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'.
+
+
+ Parse an uint64 according to the rules used by the overloaded 'uint64' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an int64 according to the rules used by the overloaded 'int64' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an uint32 according to the rules used by the overloaded 'uint32' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Parse an int32 according to the rules used by the overloaded 'int32' conversion operator when applied to strings
+ The input string.
+ The parsed value.
+
+
+ Creates an sbyte value with units-of-measure
+ The input sbyte.
+ The sbyte with units-of-measure.
+
+
+ Creates an int16 value with units-of-measure
+ The input int16.
+ The int16 with units-of-measure.
+
+
+ Creates an int64 value with units-of-measure
+ The input int64.
+ The int64 with units of measure.
+
+
+ Creates an int32 value with units-of-measure
+ The input int.
+ The int with units of measure.
+
+
+ Creates a decimal value with units-of-measure
+ The input decimal.
+ The decimal with units of measure.
+
+
+ Creates a float32 value with units-of-measure
+ The input float.
+ The float with units-of-measure.
+
+
+ Creates a float value with units-of-measure
+ The input float.
+ The float with units-of-measure.
+
+
+ Get the underlying value for an enum value
+ The input enum.
+ The enumeration as a value.
+
+
+ Build an enum value from an underlying value
+ The input value.
+ The value as an enumeration.
+
+
+ Recursively hash a part of a value according to its structure.
+ The comparison function.
+ The input object.
+ The hashed value.
+
+
+ Hash a value according to its structure. Use the given limit to restrict the hash when hashing F#
+ records, lists and union types.
+ The limit on the number of nodes.
+ The input object.
+ The hashed value.
+
+
+ Hash a value according to its structure. This hash is not limited by an overall node count when hashing F#
+ records, lists and union types.
+ The input object.
+ The hashed value.
+
+
+ Make an F# hash/equality object for the given type using node-limited hashing when hashing F#
+ records, lists and union types.
+ The input limit on the number of nodes.
+ System.Collections.Generic.IEqualityComparer<'T>
+
+
+ Make an F# hash/equality object for the given type
+
+
+ Make an F# comparer object for the given type, where it can be null if System.Collections.Generic.Comparer<'T>.Default
+
+
+ Make an F# comparer object for the given type
+
+
+ A static F# comparer object
+
+
+ Return an F# comparer object suitable for hashing and equality. This hashing behaviour
+ of the returned comparer is not limited by an overall node count when hashing F#
+ records, lists and union types. This equality comparer has equivalence
+ relation semantics ([nan] = [nan]).
+
+
+ Return an F# comparer object suitable for hashing and equality. This hashing behaviour
+ of the returned comparer is not limited by an overall node count when hashing F#
+ records, lists and union types.
+
+
+ The physical hash. Hashes on the object identity, except for value types,
+ where we hash on the contents.
+ The input object.
+ The hashed value.
+
+
+ Reference/physical equality.
+ True if the inputs are reference-equal, false otherwise.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Take the maximum of two values structurally according to the order given by GenericComparison
+ The first value.
+ The second value.
+ The maximum value.
+
+
+ Take the minimum of two values structurally according to the order given by GenericComparison
+ The first value.
+ The second value.
+ The minimum value.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values. May be called as a recursive case from an implementation of System.IComparable to
+ ensure consistent NaN comparison semantics.
+ The function to compare the values.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality
+
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality using equivalence relation semantics ([nan] = [nan])
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Compare two values for equality using partial equivalence relation semantics ([nan] <> [nan])
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ A primitive entry point used by the F# compiler for optimization purposes.
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+
+ The standard overloaded associative (4-indexed) mutation operator
+
+
+
+ The standard overloaded associative (3-indexed) mutation operator
+
+
+ The standard overloaded associative (2-indexed) mutation operator
+
+
+ The standard overloaded associative (indexed) mutation operator
+
+
+ The standard overloaded associative (4-indexed) lookup operator
+
+
+ The standard overloaded associative (3-indexed) lookup operator
+
+
+ The standard overloaded associative (2-indexed) lookup operator
+
+
+ The standard overloaded associative (indexed) lookup operator
+
+
+ A compiler intrinsic for checking initialization soundness of recursive bindings
+
+
+ A compiler intrinsic for checking initialization soundness of recursive static bindings
+
+
+ A compiler intrinsic for checking initialization soundness of recursive bindings
+
+
+ A compiler intrinsic for the efficient compilation of sequence expressions
+
+
+ This function implements parsing of decimal constants
+
+
+ This function implements calls to default constructors
+ acccessed by 'new' constraints.
+
+
+ Primitive used by pattern match compilation
+
+
+ A compiler intrinsic that implements the ':?' operator
+
+
+ A compiler intrinsic that implements the ':?' operator
+
+
+ A compiler intrinsic that implements the ':?>' operator
+
+
+ A compiler intrinsic that implements the ':?>' operator
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+ Address-of. Uses of this value may result in the generation of unverifiable code.
+ The input object.
+ The unmanaged pointer.
+
+
+ Address-of. Uses of this value may result in the generation of unverifiable code.
+ The input object.
+ The managed pointer.
+
+
+ Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand
+ The first value.
+ The second value.
+ The result of the operation.
+
+
+ Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand.
+
+
+ Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand
+ The first value.
+ The second value.
+ The result of the operation.
+
+
+ Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand.
+
+
+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ For internal use only
+
+
+ Language primitives associated with the F# language
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+
+ Provides a default implementations of F# numeric literal syntax for literals fo the form 'dddI'
+
+
+
+ An active pattern to match values of type System.Collections.Generic.KeyValuePair
+ The input key/value pair.
+ A tuple containing the key and value.
+
+
+ Converts the argument to character. Numeric inputs are converted according to the UTF-16
+ encoding for characters. String inputs must be exactly one character long. For other
+ input types the operation requires an appropriate static conversion method on the input type.
+ The input value.
+ The converted char.
+
+
+ Converts the argument to System.Decimal using a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted decimal.
+
+
+ Converts the argument to a string using ToString.
+
+ For standard integer and floating point values the ToString conversion
+ uses CultureInfo.InvariantCulture.
+ The input value.
+ The converted string.
+
+
+ Converts the argument to unsigned native integer using a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to signed native integer. This is a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to 64-bit float. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Double.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float
+
+
+ Converts the argument to 32-bit float. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Single.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float32
+
+
+ Converts the argument to unsigned 64-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to signed 64-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to unsigned 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to a particular enum type.
+ The input value.
+ The converted enum type.
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to unsigned 16-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using UInt16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to signed 16-bit integer. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Int16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to signed byte. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using SByte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct conversion for all
+ primitive numeric types. For strings, the input is converted using Byte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+ Overloaded power operator. If n > 0 then equivalent to x*...*x for n occurrences of x.
+ The input base.
+ The input exponent.
+ The base raised to the exponent.
+
+
+ Overloaded power operator.
+ The input base.
+ The input exponent.
+ The base raised to the exponent.
+
+
+ Hyperbolic tangent of the given number
+ The input value.
+ The hyperbolic tangent of the input.
+
+
+ Tangent of the given number
+ The input value.
+ The tangent of the input.
+
+
+ Hyperbolic sine of the given number
+ The input value.
+ The hyperbolic sine of the input.
+
+
+ Sine of the given number
+ The input value.
+ The sine of the input.
+
+
+ Hyperbolic cosine of the given number
+ The input value.
+ The hyperbolic cosine of the input.
+
+
+ Cosine of the given number
+ The input value.
+ The cosine of the input.
+
+
+ Square root of the given number
+ The input value.
+ The square root of the input.
+
+
+ Logarithm to base 10 of the given number
+ The input value.
+ The logarithm to base 10 of the input.
+
+
+ Natural logarithm of the given number
+ The input value.
+ The natural logarithm of the input.
+
+
+ Round the given number
+ The input value.
+ The nearest integer to the input value.
+
+
+ Sign of the given number
+ The input value.
+ -1, 0, or 1 depending on the sign of the input.
+
+
+ Floor of the given number
+ The input value.
+ The floor of the input.
+
+
+ Exponential of the given number
+ The input value.
+ The exponential of the input.
+
+
+ Ceiling of the given number
+ The input value.
+ The ceiling of the input.
+
+
+ Inverse tangent of x/y where x and y are specified separately
+ The y input value.
+ The x input value.
+ The inverse tangent of the input ratio.
+
+
+ Inverse tangent of the given number
+ The input value.
+ The inverse tangent of the input.
+
+
+ Inverse sine of the given number
+ The input value.
+ The inverse sine of the input.
+
+
+ Inverse cosine of the given number
+ The input value.
+ The inverse cosine of the input.
+
+
+ Absolute value of the given number.
+ The input value.
+ The absolute value of the input.
+
+
+ A generic hash function. This function has the same behaviour as 'hash',
+ however the default structural hashing for F# union, record and tuple
+ types stops when the given limit of nodes is reached. The exact behaviour of
+ the function can be adjusted on a type-by-type basis by implementing
+ GetHashCode for each type.
+ The limit of nodes.
+ The input object.
+ The computed hash.
+
+
+ A generic hash function, designed to return equal hash values for items that are
+ equal according to the "=" operator. By default it will use structural hashing
+ for F# union, record and tuple types, hashing the complete contents of the
+ type. The exact behaviour of the function can be adjusted on a
+ type-by-type basis by implementing GetHashCode for each type.
+ The input object.
+ The computed hash.
+
+
+ Returns the internal size of a type in bytes. For example, sizeof<int> returns 4.
+
+
+ Generate a System.Type representation for a type definition. If the
+ input type is a generic type instantiation then return the
+ generic type definition associated with all such instantiations.
+
+
+ An internal, library-only compiler intrinsic for compile-time
+ generation of a RuntimeMethodHandle.
+
+
+ Generate a System.Type runtime representation of a static type.
+ The static type is still maintained on the value returned.
+
+
+ Clean up resources associated with the input object after the completion of the given function.
+ Cleanup occurs even when an exception is raised by the protected
+ code.
+ The resource to be disposed after action is called.
+ The action that accepts the resource.
+ The resulting value.
+
+
+ Execute the function as a mutual-exclusion region using the input value as a lock.
+ The object to be locked.
+ The action to perform during the lock.
+ The resulting value.
+
+
+ The standard overloaded skip range operator, e.g. [n..skip..m] for lists, seq {n..skip..m} for sequences
+ The start value of the range.
+ The step value of the range.
+ The end value of the range.
+ The sequence spanning the range using the specified step size.
+
+
+ The standard overloaded range operator, e.g. [n..m] for lists, seq {n..m} for sequences
+ The start value of the range.
+ The end value of the range.
+ The sequence spanning the range.
+
+
+ Equivalent to System.Single.NaN
+
+
+ Equivalent to System.Single.PositiveInfinity
+
+
+ Equivalent to System.Double.NaN
+
+
+ Equivalent to System.Double.PositiveInfinity
+
+
+ Builds a sequence using sequence expression syntax
+ The input sequence.
+ The result sequence.
+
+
+ Negate a logical value. not true equals false and not false equals true
+ The value to negate.
+ The result of the negation.
+
+
+ Concatenate two lists.
+ The first list.
+ The second list.
+ The concatenation of the lists.
+
+
+ Increment a mutable reference cell containing an integer
+ The reference cell.
+
+
+ Decrement a mutable reference cell containing an integer
+ The reference cell.
+
+
+ Dereference a mutable reference cell
+ The cell to dereference.
+ The value contained in the cell.
+
+
+ Assign to a mutable reference cell
+ The cell to mutate.
+ The value to set inside the cell.
+
+
+ Create a mutable reference cell
+ The value to contain in the cell.
+ The created reference cell.
+
+
+ The identity function
+ The input value.
+ The same value.
+
+
+ Throw a System.InvalidOperationException exception
+ The exception message.
+ The result value.
+
+
+ Throw a System.ArgumentNullException exception
+ The argument name.
+ The result value.
+
+
+ Throw a System.ArgumentException exception with
+ the given argument name and message.
+ The argument name.
+ The exception message.
+ The result value.
+
+
+ Throw a System.Exception exception.
+ The exception message.
+ The result value.
+
+
+ Boxes a strongly typed value.
+ The value to box.
+ The boxed object.
+
+
+ Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a.
+ The boxed value.
+ The unboxed result.
+
+
+ Ignore the passed value. This is often used to throw away results of a computation.
+ The value to ignore.
+
+
+ Minimum based on generic comparison
+ The first value.
+ The second value.
+ The minimum value.
+
+
+ Maximum based on generic comparison
+ The first value.
+ The second value.
+ The maximum value.
+
+
+ Generic comparison.
+ The first value.
+ The second value.
+ The result of the comparison.
+
+
+ Return the second element of a tuple, snd (a,b) = b.
+ The input tuple.
+ The second value.
+
+
+ Return the first element of a tuple, fst (a,b) = a.
+ The input tuple.
+ The first value.
+
+
+ Matches System.Exception objects whose runtime type is precisely System.Exception
+ The input exception.
+ A string option.
+
+
+ Builds a System.Exception object.
+ The message for the Exception.
+ A System.Exception.
+
+
+ Rethrows an exception. This should only be used when handling an exception
+ The result value.
+
+
+ Rethrows an exception. This should only be used when handling an exception
+ The result value.
+
+
+ Raises an exception
+ The exception to raise.
+ The result value.
+
+
+ Concatenate two strings. The operator '+' may also be used.
+
+
+ Used to specify a default value for an optional argument in the implementation of a function
+ An option representing the argument.
+ The default value of the argument.
+ The argument value. If it is None, the defaultValue is returned.
+
+
+ Apply a function to three values, the values being a triple on the right, the function on the left
+ The function.
+ The first argument.
+ The second argument.
+ The third argument.
+ The function result.
+
+
+ Apply a function to two values, the values being a pair on the right, the function on the left
+ The function.
+ The first argument.
+ The second argument.
+ The function result.
+
+
+ Apply a function to a value, the value being on the right, the function on the left
+ The function.
+ The argument.
+ The function result.
+
+
+ Apply a function to three values, the values being a triple on the left, the function on the right
+ The first argument.
+ The second argument.
+ The third argument.
+ The function.
+ The function result.
+
+
+ Apply a function to two values, the values being a pair on the left, the function on the right
+ The first argument.
+ The second argument.
+ The function.
+ The function result.
+
+
+ Apply a function to a value, the value being on the left, the function on the right
+ The argument.
+ The function.
+ The function result.
+
+
+ Compose two functions, the function on the right being applied first
+ The second function to apply.
+ The first function to apply.
+ The composition of the input functions.
+
+
+ Compose two functions, the function on the left being applied first
+ The first function to apply.
+ The second function to apply.
+ The composition of the input functions.
+
+
+ Structural inequality
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural equality
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural less-than-or-equal comparison
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural greater-than-or-equal
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural greater-than
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Structural less-than comparison
+ The first parameter.
+ The second parameter.
+ The result of the comparison.
+
+
+ Overloaded prefix=plus operator
+ The input value.
+ The result of the operation.
+
+
+ Overloaded logical-NOT operator
+ The input value.
+ The result of the operation.
+
+
+ Overloaded byte-shift right operator by a specified number of bits
+ The input value.
+ The amount to shift.
+ The result of the operation.
+
+
+ Overloaded byte-shift left operator by a specified number of bits
+ The input value.
+ The amount to shift.
+ The result of the operation.
+
+
+ Overloaded logical-XOR operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded logical-OR operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded logical-AND operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded modulo operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded division operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded multiplication operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded subtraction operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded addition operator
+ The first parameter.
+ The second parameter.
+ The result of the operation.
+
+
+ Overloaded unary negation.
+ The value to negate.
+ The result of the operation.
+
+
+ Converts the argument to char. Numeric inputs are converted using a checked
+ conversion according to the UTF-16 encoding for characters. String inputs must
+ be exactly one character long. For other input types the operation requires an
+ appropriate static conversion method on the input type.
+ The input value.
+ The converted char
+
+
+ Converts the argument to unativeint. This is a direct, checked conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to nativeint. This is a direct, checked conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to uint64. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to int64. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int64.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to uint32. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to int32. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to int. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int32.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to uint16. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.UInt16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to int16. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Int16.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to sbyte. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.SByte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct, checked conversion for all
+ primitive numeric types. For strings, the input is converted using System.Byte.Parse()
+ with InvariantCulture settings. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+ Overloaded multiplication operator (checks for overflow)
+ The first value.
+ The second value.
+ The product of the two input values.
+
+
+ Overloaded addition operator (checks for overflow)
+ The first value.
+ The second value.
+ The sum of the two input values.
+
+
+ Overloaded subtraction operator (checks for overflow)
+ The first value.
+ The second value.
+ The first value minus the second value.
+
+
+ Overloaded unary negation (checks for overflow)
+ The input value.
+ The negated value.
+
+
+ This module contains the basic arithmetic operations with overflow checks.
+
+
+ Perform generic hashing on a value where the type of the value is not
+ statically required to satisfy the 'equality' constraint.
+ The computed hash value.
+
+
+ Perform generic equality on two values where the type of the values is not
+ statically required to satisfy the 'equality' constraint.
+ The result of the comparison.
+
+
+ Perform generic comparison on two values where the type of the values is not
+ statically required to have the 'comparison' constraint.
+ The result of the comparison.
+
+
+ Generate a default value for any type. This is null for reference types,
+ For structs, this is struct value where all fields have the default value.
+ This function is unsafe in the sense that some F# values do not have proper null values.
+
+
+ Unboxes a strongly typed value. This is the inverse of box, unbox<t>(box<t> a) equals a.
+ The boxed value.
+ The unboxed result.
+
+
+ This module contains basic operations which do not apply runtime and/or static checks
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'decimal'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'unativeint'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'nativeint'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint64'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int64'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int32'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint16'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int16'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'sbyte'
+
+
+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'byte'
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations.
+
+
+ Generate a range of values using the given zero, add, start, step and stop values
+
+
+ Generate a range of values using the given zero, add, start, step and stop values
+
+
+ Generate a range of char values
+
+
+ Generate a range of byte values
+
+
+ Generate a range of sbyte values
+
+
+ Generate a range of uint16 values
+
+
+ Generate a range of int16 values
+
+
+ Generate a range of unativeint values
+
+
+ Generate a range of nativeint values
+
+
+ Generate a range of uint32 values
+
+
+ Generate a range of uint64 values
+
+
+ Generate a range of int64 values
+
+
+ Generate a range of float32 values
+
+
+ Generate a range of float values
+
+
+ Generate a range of integers
+
+
+ Gets a slice from a string
+ The source string.
+ The index of the first character of the slice.
+ The index of the last character of the slice.
+ The substring from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The start index of the fourth dimension.
+ The end index of the fourth dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The start index of the fourth dimension.
+ The end index of the fourth dimension.
+ The four dimensional sub array from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The start index of the third dimension.
+ The end index of the third dimension.
+ The three dimensional sub array from the given indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The source array.
+
+
+ Gets a slice of an array
+ The source array.
+ The start index of the first dimension.
+ The end index of the first dimension.
+ The start index of the second dimension.
+ The end index of the second dimension.
+ The two dimensional sub array from the input indices.
+
+
+ Sets a slice of an array
+ The target array.
+ The start index.
+ The end index.
+ The source array.
+
+
+ Gets a slice of an array
+ The input array.
+ The start index.
+ The end index.
+ The sub array from the input indices.
+
+
+ A module of compiler intrinsic functions for efficient implementations of F# integer ranges
+ and dynamic invocations of other F# operators
+
+
+ Basic F# Operators. This module is automatically opened in all F# code.
+
+
+ Invoke an F# first class function value that accepts five curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The fifth arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept five curried arguments without intervening execution.
+ The input function.
+ The optimized function.
+
+
+ Construct an optimized function value that can accept five curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept five curried arguments
+ without intervening execution. This type should not typically used directly from
+ either F# code or from other CLI languages.
+
+
+ Invoke an F# first class function value that accepts four curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The fourth arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept four curried arguments without intervening execution.
+ The input function.
+ The optimized function.
+
+
+ Construct an optimized function value that can accept four curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept four curried arguments
+ without intervening execution. This type should not typically used directly from
+ either F# code or from other CLI languages.
+
+
+ Invoke an F# first class function value that accepts three curried arguments
+ without intervening execution
+ The first arg.
+ The second arg.
+ The third arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept three curried arguments without intervening execution.
+ The input function.
+ The adapted function.
+
+
+ Construct an optimized function value that can accept three curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept
+ three iterated (curried) arguments without intervening execution. This type should not
+ typically used directly from either F# code or from other CLI languages.
+
+
+ Invoke the optimized function value with two curried arguments
+ The first arg.
+ The second arg.
+ The function result.
+
+
+ Adapt an F# first class function value to be an optimized function value that can
+ accept two curried arguments without intervening execution.
+ The input function.
+ The adapted function.
+
+
+ Construct an optimized function value that can accept two curried
+ arguments without intervening execution.
+ The optimized function.
+
+
+ The CLI type used to represent F# function values that accept
+ two iterated (curried) arguments without intervening execution. This type should not
+ typically used directly from either F# code or from other CLI languages.
+
+
+ An implementation module used to hold some private implementations of function
+ value invocation.
+
+
+ Convert the option to a list of length 0 or 1.
+ The input option.
+ The result list.
+
+
+ Convert the option to an array of length 0 or 1.
+ The input option.
+ The result array.
+
+
+ bind f inp evaluates to match inp with None -> None | Some x -> f x
+ A function that takes the value of type T from an option and transforms it into
+ an option containing a value of type U.
+ The input option.
+ An option of the output type of the binder.
+
+
+ map f inp evaluates to match inp with None -> None | Some x -> Some (f x).
+ A function to apply to the option value.
+ The input option.
+ An option of the input value after applying the mapping function, or None if the input is None.
+
+
+ iter f inp executes match inp with None -> () | Some x -> f x.
+ A function to apply to the option value.
+ The input option.
+ Unit if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ forall p inp evaluates to match inp with None -> true | Some x -> p x.
+ A function that evaluates to a boolean when given a value from the option type.
+ The input option.
+ True if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ exists p inp evaluates to match inp with None -> false | Some x -> p x.
+ A function that evaluates to a boolean when given a value from the option type.
+ The input option.
+ False if the option is None, otherwise it returns the result of applying the predicate
+ to the option value.
+
+
+ fold f inp s evaluates to match inp with None -> s | Some x -> f x s.
+ A function to update the state data when given a value from an option.
+ The input option.
+ The initial state.
+ The original state if the option is None, otherwise it returns the updated state with the folder
+ and the option value.
+
+
+ fold f s inp evaluates to match inp with None -> s | Some x -> f s x.
+ A function to update the state data when given a value from an option.
+ The initial state.
+ The input option.
+ The original state if the option is None, otherwise it returns the updated state with the folder
+ and the option value.
+
+
+ count inp evaluates to match inp with None -> 0 | Some _ -> 1.
+ The input option.
+ A zero if the option is None, a one otherwise.
+
+
+ Gets the value associated with the option.
+ The input option.
+ The value within the option.
+ Thrown when the option is None.
+
+
+ Returns true if the option is None.
+ The input option.
+ True if the option is None.
+
+
+ Returns true if the option is not None.
+ The input option.
+ True if the option is not None.
+
+
+ Basic operations on options.
+
+
+ Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format when formatting builds a string. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+ Represents a statically-analyzed format associated with writing to a System.IO.TextWriter. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Represents a statically-analyzed format when formatting builds a string. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Represents a statically-analyzed format associated with writing to a System.Text.StringBuilder. The first type parameter indicates the
+ arguments of the format operation and the last the overall return type.
+
+
+ Print to a string buffer and raise an exception with the given
+ result. Helper printers must return strings.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ sprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called to generate a result from the formatted string.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ printf, but call the given 'final' function to generate the result.
+ For example, these let the printing force a flush after all output has
+ been entered onto the channel, but not before.
+ The function called after formatting to generate the format result.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ fprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called after formatting to generate the format result.
+ The input TextWriter.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ bprintf, but call the given 'final' function to generate the result.
+ See kprintf.
+ The function called after formatting to generate the format result.
+ The input StringBuilder.
+ The input formatter.
+ The arguments of the formatter.
+
+
+ Print to a string via an internal string buffer and return
+ the result as a string. Helper printers must return strings.
+ The input formatter.
+ The formatted string.
+
+
+ Print to a text writer, adding a newline
+ The TextWriter to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a text writer.
+ The TextWriter to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Print to a System.Text.StringBuilder
+ The StringBuilder to print to.
+ The input formatter.
+ The return type and arguments of the formatter.
+
+
+ Extensible printf-style formatting for numbers and other datatypes
+
+ Format specifications are strings with "%" markers indicating format
+ placeholders. Format placeholders consist of:
+
+ %[flags][width][.precision][type]
+
+ where the type is interpreted as follows:
+
+ %b: bool, formatted as "true" or "false"
+ %s: string, formatted as its unescaped contents
+ %c: character literal
+ %d, %i: any basic integer type formatted as a decimal integer, signed if the basic integer type is signed.
+ %u: any basic integer type formatted as an unsigned decimal integer
+ %x, %X, %o: any basic integer type formatted as an unsigned hexadecimal
+ (a-f)/Hexadecimal (A-F)/Octal integer
+
+ %e, %E, %f, %F, %g, %G:
+ any basic floating point type (float,float32) formatted
+ using a C-style floating point format specifications, i.e
+
+ %e, %E: Signed value having the form [-]d.dddde[sign]ddd where
+ d is a single decimal digit, dddd is one or more decimal
+ digits, ddd is exactly three decimal digits, and sign
+ is + or -
+
+ %f: Signed value having the form [-]dddd.dddd, where dddd is one
+ or more decimal digits. The number of digits before the
+ decimal point depends on the magnitude of the number, and
+ the number of digits after the decimal point depends on
+ the requested precision.
+
+ %g, %G: Signed value printed in f or e format, whichever is
+ more compact for the given value and precision.
+
+
+ %M: System.Decimal value
+
+ %O: Any value, printed by boxing the object and using it's ToString method(s)
+
+ %A: Any value, printed with the default layout settings
+
+ %a: A general format specifier, requires two arguments:
+ (1) a function which accepts two arguments:
+ (a) a context parameter of the appropriate type for the
+ given formatting function (e.g. an #System.IO.TextWriter)
+ (b) a value to print
+ and which either outputs or returns appropriate text.
+
+ (2) the particular value to print
+
+
+ %t: A general format specifier, requires one argument:
+ (1) a function which accepts a context parameter of the
+ appropriate type for the given formatting function (e.g.
+ an System.IO.TextWriter)and which either outputs or returns
+ appropriate text.
+
+ Basic integer types are:
+ byte,sbyte,int16,uint16,int32,uint32,int64,uint64,nativeint,unativeint
+ Basic floating point types are:
+ float, float32
+
+ The optional width is an integer indicating the minimal width of the
+ result. For instance, %6d prints an integer, prefixing it with spaces
+ to fill at least 6 characters. If width is '*', then an extra integer
+ argument is taken to specify the corresponding width.
+
+ any number
+ '*':
+
+ Valid flags are:
+
+ 0: add zeros instead of spaces to make up the required width
+ '-': left justify the result within the width specified
+ '+': add a '+' character if the number is positive (to match a '-' sign
+ for negatives)
+ ' ': add an extra space if the number is positive (to match a '-'
+ sign for negatives)
+
+ The printf '#' flag is invalid and a compile-time error will be reported if it is used.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the length of the string.
+ The input string.
+ The number of characters in the string.
+ Thrown when the input string is null.
+
+
+ Returns a string by concatenating count instances of str.
+ The number of copies of the input string will be copied.
+ The input string.
+ The concatenated string.
+ Thrown when the input string is null.
+
+
+ Tests if any character of the string satisfies the given predicate.
+ The function to test each character of the string.
+ The input string.
+ True if any character returns true for the predicate and false otherwise.
+ Thrown when the input string is null.
+
+
+ Tests if all characters in the string satisfy the given predicate.
+ The function to test each character of the string.
+ The input string.
+ True if all characters return true for the predicate and false otherwise.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each index from 0 to count-1 and concatenating the resulting
+ strings.
+ The number of strings to initialize.
+ The function to take an index and produce a string to
+ be concatenated with the others.
+ The constructed string.
+ Thrown when count is negative.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each of the characters of the input string and concatenating the resulting
+ strings.
+ The function to produce a string from each character of the input string.
+ The input string.
+ The concatenated string.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each character and index of the input string.
+ The function to apply to each character and index of the string.
+ The input string.
+ The resulting string.
+ Thrown when the input string is null.
+
+
+ Builds a new string whose characters are the results of applying the function mapping
+ to each of the characters of the input string.
+ The function to apply to the characters of the string.
+ The input string.
+ The resulting string.
+ Thrown when the input string is null.
+
+
+ Applies the function action to the index of each character in the string and the
+ character itself.
+ The function to apply to each character and index of the string.
+ The input string.
+ Thrown when the input string is null.
+
+
+ Applies the function action to each character in the string.
+ The function to be applied to each character of the string.
+ The input string.
+ Thrown when the input string is null.
+
+
+ Returns a new string made by concatenating the given strings
+ with separator sep, that is a1 + sep + ... + sep + aN.
+ The separator string to be inserted between the strings
+ of the input sequence.
+ The sequence of strings to be concatenated.
+ A new string consisting of the concatenated strings separated by
+ the separation string.
+ Thrown when strings is null.
+
+
+ Functional programming operators for string processing. Further string operations
+ are available via the member functions on strings and other functionality in
+ System.String
+ and System.Text.RegularExpressions types.
+
+
+
+ The SI unit of catalytic activity
+
+
+
+
+ The SI unit of does equivalent
+
+
+
+
+ The SI unit of absorbed dose
+
+
+
+
+ The SI unit of activity referred to a radionuclide
+
+
+
+
+ The SI unit of illuminance
+
+
+
+
+ The SI unit of luminous flux
+
+
+
+
+ The SI unit of inductance
+
+
+
+
+ The SI unit of magnetic flux density
+
+
+
+
+ The SI unit of magnetic flux
+
+
+
+
+ The SI unit of electric conductance
+
+
+
+
+ The SI unit of electric resistance
+
+
+
+
+ The SI unit of capacitance
+
+
+
+
+ The SI unit of electric potential difference, electromotive force
+
+
+
+
+ The SI unit of electric charge, amount of electricity
+
+
+
+
+ The SI unit of power, radiant flux
+
+
+
+
+ The SI unit of energy, work, amount of heat
+
+
+
+
+ The SI unit of pressure, stress
+
+
+
+
+ The SI unit of force
+
+
+
+
+ The SI unit of frequency
+
+
+
+
+ The SI unit of luminous intensity
+
+
+
+
+ The SI unit of amount of substance
+
+
+
+
+ The SI unit of thermodynamic temperature
+
+
+
+
+ The SI unit of electric current
+
+
+
+
+ The SI unit of time
+
+
+
+
+ The SI unit of mass
+
+
+
+
+ The SI unit of length
+
+
+
+
+ The SI unit of length
+
+
+
+
+ A synonym for henry, the SI unit of inductance
+
+
+
+
+ A synonym for katal, the SI unit of catalytic activity
+
+
+
+
+ A synonym for sievert, the SI unit of does equivalent
+
+
+
+
+ A synonym for gray, the SI unit of absorbed dose
+
+
+
+
+ A synonym for becquerel, the SI unit of activity referred to a radionuclide
+
+
+
+
+ A synonym for lux, the SI unit of illuminance
+
+
+
+
+ A synonym for lumen, the SI unit of luminous flux
+
+
+
+
+ A synonym for tesla, the SI unit of magnetic flux density
+
+
+
+
+ A synonym for weber, the SI unit of magnetic flux
+
+
+
+
+ A synonym for UnitNames.ohm, the SI unit of electric resistance.
+
+
+
+
+ A synonym for siemens, the SI unit of electric conductance
+
+
+
+
+ A synonym for farad, the SI unit of capacitance
+
+
+
+
+ A synonym for volt, the SI unit of electric potential difference, electromotive force
+
+
+
+
+ A synonym for coulomb, the SI unit of electric charge, amount of electricity
+
+
+
+
+ A synonym for watt, the SI unit of power, radiant flux
+
+
+
+
+ A synonym for joule, the SI unit of energy, work, amount of heat
+
+
+
+
+ A synonym for pascal, the SI unit of pressure, stress
+
+
+
+
+ A synonym for newton, the SI unit of force
+
+
+
+
+ A synonym for hertz, the SI unit of frequency
+
+
+
+
+ A synonym for candela, the SI unit of luminous intensity
+
+
+
+
+ A synonym for mole, the SI unit of amount of substance
+
+
+
+
+ A synonym for kelvin, the SI unit of thermodynamic temperature
+
+
+
+
+ A synonym for ampere, the SI unit of electric current
+
+
+
+
+ A synonym for second, the SI unit of time
+
+
+
+
+ A synonym for kilogram, the SI unit of mass
+
+
+
+
+ A synonym for Metre, the SI unit of length
+
+
+
+
+ A method used to support the F# query syntax. Returns an empty sequence that has the specified type argument.
+
+
+
+
+ A method used to support the F# query syntax. Returns a sequence that contains the specified values.
+
+
+
+
+ A method used to support the F# query syntax. Returns a sequence of length one that contains the specified value.
+
+
+
+ A query operator that selects those elements based on a specified predicate.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in descending order by the given nullable sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in ascending order by the given nullable sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in descending order by the given sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that performs a subsequent ordering of the elements selected so far in ascending order by the given sorting key.
+ This operator may only be used immediately after a 'sortBy', 'sortByDescending', 'thenBy' or 'thenByDescending', or their nullable variants.
+
+
+
+ A query operator that selects elements from a sequence as long as a specified condition is true, and then skips the remaining elements.
+
+
+
+ A query operator that selects a specified number of contiguous elements from those selected so far.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the sum of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the sum of these values.
+
+
+
+
+ A method used to support the F# query syntax. Inputs to queries are implicitly wrapped by a call to one of the overloads of this method.
+
+
+
+
+ A method used to support the F# query syntax. Inputs to queries are implicitly wrapped by a call to one of the overloads of this method.
+
+
+
+ A query operator that sorts the elements selected so far in descending order by the given nullable sorting key.
+
+
+
+ A query operator that sorts the elements selected so far in ascending order by the given nullable sorting key.
+
+
+
+ A query operator that sorts the elements selected so far in descending order by the given sorting key.
+
+
+
+ A query operator that sorts the elements selected so far in ascending order by the given sorting key.
+
+
+
+ A query operator that bypasses elements in a sequence as long as a specified condition is true and then selects the remaining elements.
+
+
+
+ A query operator that bypasses a specified number of the elements selected so far and selects the remaining elements.
+
+
+
+ A query operator that projects each of the elements selected so far.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IQueryable rules.
+
+
+
+
+ A method used to support the F# query syntax. Indicates that the query should be passed as a quotation to the Run method.
+
+
+
+ A query operator that selects the element at a specified index amongst those selected so far.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the minimum of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the minimum resulting value.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the maximum of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the maximum resulting value.
+
+
+
+ A query operator that correlates two sets of selected values based on matching keys and groups the results.
+ If any group is empty, a group with a single default value is used instead.
+ Normal usage is 'leftOuterJoin y in elements2 on (key1 = key2) into group'.
+
+
+
+ A query operator that selects the last element of those selected so far, or a default value if no element is found.
+
+
+
+ A query operator that selects the last element of those selected so far.
+
+
+
+ A query operator that correlates two sets of selected values based on matching keys.
+ Normal usage is 'join y in elements2 on (key1 = key2)'.
+
+
+
+ A query operator that selects the first element of those selected so far, or a default value if the sequence contains no elements.
+
+
+
+ A query operator that selects the first element from those selected so far.
+
+
+
+ A query operator that selects a value for each element selected so far and groups the elements by the given key.
+
+
+
+ A query operator that correlates two sets of selected values based on matching keys and groups the results.
+ Normal usage is 'groupJoin y in elements2 on (key1 = key2) into group'.
+
+
+
+ A query operator that groups the elements selected so far according to a specified key selector.
+
+
+
+
+ A method used to support the F# query syntax. Projects each element of a sequence to another sequence and combines the resulting sequences into one sequence.
+
+
+
+ A query operator that selects the first element selected so far that satisfies a specified condition.
+
+
+
+ A query operator that determines whether any element selected so far satisfies a condition.
+
+
+
+ A query operator that selects the single, specific element of those selected so far, or a default value if that element is not found.
+
+
+
+ A query operator that selects the single, specific element selected so far
+
+
+
+ A query operator that selects distinct elements from the elements selected so far.
+
+
+
+ A query operator that returns the number of selected elements.
+
+
+
+ A query operator that determines whether the selected elements contains a specified element.
+
+
+
+ A query operator that selects a nullable value for each element selected so far and returns the average of these values.
+ If any nullable does not have a value, it is ignored.
+
+
+
+ A query operator that selects a value for each element selected so far and returns the average of these values.
+
+
+
+ A query operator that determines whether all elements selected so far satisfies a condition.
+
+
+
+ Create an instance of this builder. Use 'query { ... }' to use the query syntax.
+
+
+
+ The type used to support the F# query syntax. Use 'query { ... }' to use the query syntax.
+
+
+
+
+ A property used to support the F# query syntax.
+
+
+
+
+ A method used to support the F# query syntax.
+
+
+
+
+ A partial input or result in an F# query. This type is used to support the F# query syntax.
+
+
+
+ Converts the argument to character. Numeric inputs are converted according to the UTF-16
+ encoding for characters. The operation requires an appropriate static conversion method on the input type.
+ The input value.
+ The converted char.
+
+
+ Converts the argument to System.Decimal using a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted decimal.
+
+
+ Converts the argument to unsigned native integer using a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted unativeint
+
+
+ Converts the argument to signed native integer. This is a direct conversion for all
+ primitive numeric types. Otherwise the operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted nativeint
+
+
+ Converts the argument to 64-bit float. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float
+
+
+ Converts the argument to 32-bit float. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted float32
+
+
+ Converts the argument to unsigned 64-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint64
+
+
+ Converts the argument to signed 64-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int64
+
+
+ Converts the argument to unsigned 32-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint32
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int32
+
+
+ Converts the argument to a particular enum type.
+ The input value.
+ The converted enum type.
+
+
+ Converts the argument to signed 32-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int
+
+
+ Converts the argument to unsigned 16-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted uint16
+
+
+ Converts the argument to signed 16-bit integer. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted int16
+
+
+ Converts the argument to signed byte. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted sbyte
+
+
+ Converts the argument to byte. This is a direct conversion for all
+ primitive numeric types. The operation requires an appropriate
+ static conversion method on the input type.
+ The input value.
+ The converted byte
+
+
+
+ Functions for converting nullable values
+
+
+
+
+ The division operator where a nullable value appears on both left and right sides
+
+
+
+
+ The division operator where a nullable value appears on the right
+
+
+
+
+ The division operator where a nullable value appears on the left
+
+
+
+
+ The modulus operator where a nullable value appears on both left and right sides
+
+
+
+
+ The modulus operator where a nullable value appears on the right
+
+
+
+
+ The modulus operator where a nullable value appears on the left
+
+
+
+
+ The multiplication operator where a nullable value appears on both left and right sides
+
+
+
+
+ The multiplication operator where a nullable value appears on the right
+
+
+
+
+ The multiplication operator where a nullable value appears on the left
+
+
+
+
+ The subtraction operator where a nullable value appears on both left and right sides
+
+
+
+
+ The subtraction operator where a nullable value appears on the right
+
+
+
+
+ The subtraction operator where a nullable value appears on the left
+
+
+
+
+ The addition operator where a nullable value appears on both left and right sides
+
+
+
+
+ The addition operator where a nullable value appears on the right
+
+
+
+
+ The addition operator where a nullable value appears on the left
+
+
+
+
+ The '<>' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '=' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '<' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '<=' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '>' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '>=' operator where a nullable value appears on both left and right sides
+
+
+
+
+ The '<>' operator where a nullable value appears on the right
+
+
+
+
+ The '=' operator where a nullable value appears on the right
+
+
+
+
+ The '<' operator where a nullable value appears on the right
+
+
+
+
+ The '<=' operator where a nullable value appears on the right
+
+
+
+
+ The '>' operator where a nullable value appears on the right
+
+
+
+
+ The '>=' operator where a nullable value appears on the right
+
+
+
+
+ The '<>' operator where a nullable value appears on the left
+
+
+
+
+ The '=' operator where a nullable value appears on the left
+
+
+
+
+ The '<' operator where a nullable value appears on the left
+
+
+
+
+ The '<=' operator where a nullable value appears on the left
+
+
+
+
+ The '>' operator where a nullable value appears on the left
+
+
+
+
+ The '>=' operator where a nullable value appears on the left
+
+
+
+
+ Operators for working with nullable values
+
+
+
+
+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IEnumerable rules.
+
+
+
+
+
+
+
+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ rules.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type shouldn't be used directly from user code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A type used to reconstruct a grouping after applying a mutable->immutable mapping transformation
+ on a result of a query.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The generic MethodInfo for Select function
+ Describes how we got from productions of immutable objects to productions of anonymous objects, with enough information
+ that we can invert the process in final query results.
+
+
+
+
+
+
+
+ Given the expression part of a "yield" or "select" which produces a result in terms of immutable tuples or immutable records,
+ generate an equivalent expression yielding anonymous objects. Also return the conversion for the immutable-to-mutable correspondence
+ so we can reverse this later.
+
+
+
+
+ Simplify gets of tuples and gets of record fields.
+
+
+
+
+ Cleanup the use of property-set object constructions in leaf expressions that form parts of F# queries.
+
+
+
+
+
+
+
+ Given an type involving immutable tuples and records, logically corresponding to the type produced at a
+ "yield" or "select", convert it to a type involving anonymous objects according to the conversion data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recognize anonymous type construction written using 'new AnonymousObject(<e1>, <e2>, ...)'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recognize object construction written using 'new O(Prop1 = <e>, Prop2 = <e>, ...)'
+
+
+
+
+ Tests whether a list consists only of assignments of properties of the
+ given variable, null values (ignored) and ends by returning the given variable
+ (pattern returns only property assignments)
+
+
+
+
+ Recognize sequential series written as (... ((<e>; <e>); <e>); ...)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A runtime helper used to evaluate nested quotation literals.
+
+
+
+
+ Evaluates a subset of F# quotations by first converting to a LINQ expression, for the subset of LINQ expressions represented by the
+ expression syntax in the C# language.
+
+
+
+
+ Converts a subset of F# quotations to a LINQ expression, for the subset of LINQ expressions represented by the
+ expression syntax in the C# language.
+
+
+
+
+ Converts a subset of F# quotations to a LINQ expression, for the subset of LINQ expressions represented by the
+ expression syntax in the C# language.
+
+
+
+
+ When used in a quotation, this function indicates a specific conversion
+ should be performed when converting the quotation to a LINQ expression.
+
+ This function should not be called directly.
+
+
+
+
+ When used in a quotation, this function indicates a specific conversion
+ should be performed when converting the quotation to a LINQ expression.
+
+ This function should not be called directly.
+
+
+
+
+ When used in a quotation, this function indicates a specific conversion
+ should be performed when converting the quotation to a LINQ expression.
+
+ This function should not be called directly.
+
+
+
+
+
+
+ Allocates a region of memory on the stack.
+ The number of objects of type T to allocate.
+ A typed pointer to the allocated memory.
+
+
+ Assigns the value into the memory location referenced by the typed native
+ pointer computed by adding index * sizeof<'T> to the given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ The value to assign.
+
+
+ Assigns the value into the memory location referenced by the given typed native pointer.
+ The input pointer.
+ The value to assign.
+
+
+ Dereferences the given typed native pointer.
+ The input pointer.
+ The value at the pointer address.
+
+
+ Dereferences the typed native pointer computed by adding index * sizeof<'T> to the
+ given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ The value at the pointer address.
+
+
+ Returns a typed native pointer by adding index * sizeof<'T> to the
+ given input pointer.
+ The input pointer.
+ The index by which to offset the pointer.
+ A typed pointer.
+
+
+ Returns a machine address for a given typed native pointer.
+ The input pointer.
+ The machine address.
+
+
+ Returns a typed native pointer for a given machine address.
+ The pointer address.
+ A typed pointer.
+
+
+ Contains operations on native pointers. Use of these operators may
+ result in the generation of unverifiable code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the raw expression associated with this type-carrying expression
+
+
+ Type-carrying quoted expressions. Expressions are generated either
+ by quotations in source text or programatically
+
+
+ Returns type of an expression.
+
+
+ Returns the custom attributes of an expression.
+
+
+ Builds an expression that represents a while loop
+ The predicate to control the loop iteration.
+ The body of the while loop.
+ The resulting expression.
+
+
+ Builds an expression that represents setting a mutable variable
+ The input variable.
+ The value to set.
+ The resulting expression.
+
+
+ Builds an expression that represents a variable
+ The input variable.
+ The resulting expression.
+
+
+ Builds an expression that represents a constant value
+ The typed value.
+ The resulting expression.
+
+
+ Builds an expression that represents a constant value of a particular type
+ The untyped object.
+ The type of the object.
+ The resulting expression.
+
+
+ Builds an expression that represents a test of a value is of a particular union case
+ The expression to test.
+ The description of the union case.
+ The resulting expression.
+
+
+ Builds an expression that represents a type test.
+ The expression to test.
+ The target type.
+ The resulting expression.
+
+
+ Builds an expression that represents getting a field of a tuple
+ The input tuple.
+ The index of the tuple element to get.
+ The resulting expression.
+
+
+ Builds an expression that represents a try/with construct for exception filtering and catching.
+ The body of the try expression.
+
+
+ The variable to bind to a caught exception.
+ The expression evaluated when an exception is caught.
+ The resulting expression.
+
+
+ Try and find a stored reflection definition for the given method. Stored reflection
+ definitions are added to an F# assembly through the use of the [<ReflectedDefinition>] attribute.
+ The description of the method to find.
+ The reflection definition or None if a match could not be found.
+
+
+ Builds an expression that represents a try/finally construct
+ The body of the try expression.
+ The final part of the expression to be evaluated.
+ The resulting expression.
+
+
+ Format the expression as a string
+ Indicates if method, property, constructor and type objects should be printed in detail. If false, these are abbreviated to their name.
+ The formatted string.
+
+
+ Substitutes through the given expression using the given functions
+ to map variables to new values. The functions must give consistent results
+ at each application. Variable renaming may occur on the target expression
+ if variable capture occurs.
+ The function to map variables into expressions.
+ The expression with the given substitutions.
+
+
+ Builds an expression that represents the sequential execution of one expression followed by another
+ The first expression.
+ The second expression.
+ The resulting expression.
+
+
+ Permits interactive environments such as F# Interactive
+ to explicitly register new pickled resources that represent persisted
+ top level definitions. The string indicates a unique name for the resources
+ being added. The format for the bytes is the encoding generated by the F# compiler.
+ The assembly associated with the resource.
+ The unique name for the resources being added.
+ The serialized resource to register with the environment.
+
+
+ Builds an expression that represents a nested quotation literal
+ The expression being quoted.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a static property
+ The description of the property.
+ The value to set.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a property of an object
+ The input object.
+ The description of the property.
+ The value to set.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents reading a static property
+ The description of the property.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents reading a property of an object
+ The input object.
+ The description of the property.
+ List of indices for the property if it is an indexed property.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of a union case value
+ The description of the union case.
+ The list of arguments for the case.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of an F# tuple value
+ The list of elements of the tuple.
+ The resulting expression.
+
+
+ Builds record-construction expressions
+ The type of record.
+ The list of elements of the record.
+ The resulting expression.
+
+
+ Builds an expression that represents the invocation of an object constructor
+ The description of the constructor.
+ The list of arguments to the constructor.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of a delegate value for the given type
+ The type of delegate.
+ The parameters for the delegate.
+ The body of the function.
+ The resulting expression.
+
+
+ Builds an expression that represents the creation of an array value initialized with the given elements
+ The type for the elements of the array.
+ The list of elements of the array.
+ The resulting expression.
+
+
+ Builds recursives expressions associated with 'let rec' constructs
+ The list of bindings for the let expression.
+ The sub-expression where the bindings are in scope.
+ The resulting expression.
+
+
+ Builds expressions associated with 'let' constructs
+ The variable in the let expression.
+ The expression bound to the variable.
+ The sub-expression where the binding is in scope.
+ The resulting expression.
+
+
+ Builds an expression that represents the constrution of an F# function value
+ The parameter to the function.
+ The body of the function.
+ The resulting expression.
+
+
+ Builds 'if ... then ... else' expressions.
+ The condition expression.
+ The then sub-expression.
+ The else sub-expression.
+ The resulting expression.
+
+
+ Fetches or creates a new variable with the given name and type from a global pool of shared variables
+ indexed by name and type. The type is given by the expicit or inferred type parameter
+ The variable name.
+ The created of fetched typed global variable.
+
+
+ Gets the free expression variables of an expression as a list.
+ A sequence of the free variables in the expression.
+
+
+ Builds a 'for i = ... to ... do ...' expression that represent loops over integer ranges
+ The sub-expression declaring the loop variable.
+ The sub-expression setting the initial value of the loop variable.
+ The sub-expression declaring the final value of the loop variable.
+ The sub-expression representing the body of the loop.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a field of an object
+ The input object.
+ The description of the field to write to.
+ The value to set to the field.
+ The resulting expression.
+
+
+ Builds an expression that represents writing to a static field
+ The description of the field to write to.
+ The value to the set to the field.
+ The resulting expression.
+
+
+ Builds an expression that represents the access of a field of an object
+ The input object.
+ The description of the field to access.
+ The resulting expression.
+
+
+ Builds an expression that represents the access of a static field
+ The description of the field to access.
+ The resulting expression.
+
+
+
+
+
+ This function is called automatically when quotation syntax (<@ @>) and related typed-expression
+ quotations are used. The bytes are a pickled binary representation of an unlinked form of the quoted expression,
+ and the System.Type argument is any type in the assembly where the quoted
+ expression occurs, i.e. it helps scope the interpretation of the cross-assembly
+ references in the bytes.
+ A type in the assembly where the quotation occurs.
+ The list of spliced types.
+ The list of spliced expressions.
+ The serialized form of the quoted expression.
+ The resulting expression.
+
+
+ Builds an expression that represents the invocation of a default object constructor
+ The type on which the constructor is invoked.
+ The resulting expression.
+
+
+ Builds an expression that represents the coercion of an expression to a type
+ The expression to coerce.
+ The target type.
+ The resulting expression.
+
+
+ Returns a new typed expression given an underlying runtime-typed expression.
+ A type annotation is usually required to use this function, and
+ using an incorrect type annotation may result in a later runtime exception.
+ The expression to cast.
+ The resulting typed expression.
+
+
+ Builds an expression that represents a call to an instance method associated with an object
+ The input object.
+ The description of the method to call.
+ The list of arguments to the method.
+ The resulting expression.
+
+
+ Builds an expression that represents a call to an static method or module-bound function
+ The MethodInfo describing the method to call.
+ The list of arguments to the method.
+ The resulting expression.
+
+
+ Builds an expression that represents the application of a first class function value to multiple arguments
+ The function to apply.
+ The list of lists of arguments to the function.
+ The resulting expression.
+
+
+ Builds an expression that represents the application of a first class function value to a single argument.
+ The function to apply.
+ The argument to the function.
+ The resulting expression.
+
+
+ Builds an expression that represents setting the value held at a particular address.
+ The target expression.
+ The value to set at the address.
+ The resulting expression.
+
+
+ Builds an expression that represents getting the address of a value.
+ The target expression.
+ The resulting expression.
+
+
+ Quoted expressions annotated with System.Type values.
+
+
+ The type associated with the variable
+
+
+ The declared name of the variable
+
+
+ Indicates if the variable represents a mutable storage location
+
+
+ Fetches or create a new variable with the given name and type from a global pool of shared variables
+ indexed by name and type
+ The name of the variable.
+ The type associated with the variable.
+ The retrieved or created variable.
+
+
+ Creates a new variable with the given name, type and mutability
+ The declared name of the variable.
+ The type associated with the variable.
+ Indicates if the variable represents a mutable storage location. Default is false.
+ The created variable.
+
+
+ Information at the binding site of a variable
+
+
+ Re-build combination expressions. The first parameter should be an object
+ returned by the ShapeCombination case of the active pattern in this module.
+ The input shape.
+ The list of arguments.
+ The rebuilt expression.
+
+
+ An active pattern that performs a complete decomposition viewing the expression tree as a binding structure
+ The input expression.
+ The decomposed Var, Lambda, or ConstApp.
+
+
+ Active patterns for traversing, visiting, rebuilding and tranforming expressions in a generic way
+
+
+ An active pattern to recognize property setters that have an associated ReflectedDefinition
+ The description of the property.
+ The expression of the method definition if found, or None.
+
+
+ An active pattern to recognize property getters or values in modules that have an associated ReflectedDefinition
+ The description of the property.
+ The expression of the method definition if found, or None.
+
+
+ An active pattern to recognize methods that have an associated ReflectedDefinition
+ The description of the method.
+ The expression of the method definition if found, or None.
+
+
+ A parameterized active pattern to recognize calls to a specified function or method.
+ The returned elements are the optional target object (present if the target is an
+ instance method), the generic type instantation (non-empty if the target is a generic
+ instantiation), and the arguments to the function or method.
+ The input template expression to specify the method to call.
+ The optional target object (present if the target is an
+ instance method), the generic type instantation (non-empty if the target is a generic
+ instantiation), and the arguments to the function or method.
+
+
+ An active pattern to recognize constant unsigned int64 expressions
+ The input expression to match against.
+ uint64 option
+
+
+ An active pattern to recognize constant int64 expressions
+ The input expression to match against.
+ int64 option
+
+
+ An active pattern to recognize constant unsigned int32 expressions
+ The input expression to match against.
+ uint32 option
+
+
+ An active pattern to recognize constant int32 expressions
+ The input expression to match against.
+ int32 option
+
+
+ An active pattern to recognize constant unsigned int16 expressions
+ The input expression to match against.
+ uint16 option
+
+
+ An active pattern to recognize constant int16 expressions
+ The input expression to match against.
+ int16 option
+
+
+ An active pattern to recognize constant byte expressions
+ The input expression to match against.
+ byte option
+
+
+ An active pattern to recognize constant signed byte expressions
+ The input expression to match against.
+ sbyte option
+
+
+ An active pattern to recognize constant unicode character expressions
+ The input expression to match against.
+ char option
+
+
+ An active pattern to recognize constant 64-bit floating point number expressions
+ The input expression to match against.
+ float option
+
+
+ An active pattern to recognize constant 32-bit floating point number expressions
+ The input expression to match against.
+ float32 option
+
+
+ An active pattern to recognize constant string expressions
+ The input expression to match against.
+ string option
+
+
+ An active pattern to recognize constant boolean expressions
+ The input expression to match against.
+ bool option
+
+
+ An active pattern to recognize () constant expressions
+ The input expression to match against.
+ unit option
+
+
+ An active pattern to recognize expressions of the form a || b
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions of the form a && b
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent the application of a (possibly curried or tupled) first class function value
+ The input expression to match against.
+ (Expr * Expr list list) option
+
+
+ An active pattern to recognize expressions that represent a (possibly curried or tupled) first class function value
+ The input expression to match against.
+ (Var list list * Expr) option
+
+
+ Contains a set of derived F# active patterns to analyze F# expression objects
+
+
+ An active pattern to recognize expressions that represent setting a mutable variable
+ The input expression to match against.
+ (Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent a variable
+ The input expression to match against.
+ Var option
+
+
+ An active pattern to recognize expressions that represent a constant value
+ The input expression to match against.
+ (obj * Type) option
+
+
+ An active pattern to recognize expressions that represent a test if a value is of a particular union case
+ The input expression to match against.
+ (Expr * UnionCaseInfo) option
+
+
+ An active pattern to recognize expressions that represent a dynamic type test
+ The input expression to match against.
+ (Expr * Type) option
+
+
+ An active pattern to recognize expressions that represent getting a tuple field
+ The input expression to match against.
+ (Expr * int) option
+
+
+ An active pattern to recognize expressions that represent a try/finally construct
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent a try/with construct for exception filtering and catching
+ The input expression to match against.
+ (Expr * Var * Expr * Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent sequential exeuction of one expression followed by another
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent a nested quotation literal
+ The input expression to match against.
+ Expr option
+
+
+ An active pattern to recognize expressions that represent setting a static or instance property, or a non-function value declared in a module
+ The input expression to match against.
+ (Expr option * PropertyInfo * Expr list * Expr) option
+
+
+ An active pattern to recognize expressions that represent the read of a static or instance property, or a non-function value declared in a module
+ The input expression to match against.
+ (Expr option * PropertyInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of tuple values
+ The input expression to match against.
+ (Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of particular union case values
+ The input expression to match against.
+ (UnionCaseInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of record values
+ The input expression to match against.
+ (Type * Expr list) option
+
+
+ An active pattern to recognize expressions that represent invocation of object constructors
+ The input expression to match against.
+ (ConstructorInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent construction of delegate values
+ The input expression to match against.
+ (Type * Var list * Expr) option
+
+
+ An active pattern to recognize expressions that represent invocations of a default constructor of a struct
+ The input expression to match against.
+ Type option
+
+
+ An active pattern to recognize expressions that represent the construction of arrays
+ The input expression to match against.
+ (Type * Expr list) option
+
+
+ An active pattern to recognize expressions that represent recursive let bindings of one or more variables
+ The input expression to match against.
+ ((Var * Expr) list * Expr) option
+
+
+ An active pattern to recognize expressions that represent let bindings
+ The input expression to match against.
+ (Var * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent first class function values
+ The input expression to match against.
+ (Var * Expr) option
+
+
+ An active pattern to recognize expressions that represent conditionals
+ The input expression to match against.
+ (Expr * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent while loops
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent loops over integer ranges
+ The input expression to match against.
+ (Var * Expr * Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent setting a static or instance field
+ The input expression to match against.
+ (Expr option * FieldInfo * Expr) option
+
+
+ An active pattern to recognize expressions that represent getting a static or instance field
+ The input expression to match against.
+ (Expr option * FieldInfo) option
+
+
+ An active pattern to recognize expressions that represent coercions from one type to another
+ The input expression to match against.
+ (Expr * Type) option
+
+
+ An active pattern to recognize expressions that represent calls to static and instance methods, and functions defined in modules
+ The input expression to match against.
+ (Expr option * MethodInfo * Expr list) option
+
+
+ An active pattern to recognize expressions that represent applications of first class function values
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent setting the value held at an address
+ The input expression to match against.
+ (Expr * Expr) option
+
+
+ An active pattern to recognize expressions that represent getting the address of a value
+ The input expression to match against.
+ Expr option
+
+
+ Contains a set of primitive F# active patterns to analyze F# expression objects
+
+
+ Returns a System.Type representing an F# tuple type with the given element types
+ An array of types for the tuple elements.
+ The type representing the tuple containing the input elements.
+
+
+ Returns a System.Type representing the F# function type with the given domain and range
+ The input type of the function.
+ The output type of the function.
+ The function type with the given domain and range.
+
+
+ Returns true if the typ is a representation of an F# union type or the runtime type of a value of that type
+ The type to check.
+ Optional binding flags.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# tuple type
+ The type to check.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# record type
+ The type to check.
+ Optional binding flags.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a System.Type value corresponding to the compiled form of an F# module
+ The type to check.
+ True if the type check succeeds.
+
+
+ Return true if the typ is a representation of an F# function type or the runtime type of a closure implementing an F# function type
+ The type to check.
+ True if the type check succeeds.
+
+
+ Returns true if the typ is a representation of an F# exception declaration
+ The type to check.
+ Optional binding flags.
+ True if the type check is an F# exception.
+
+
+ Gets the cases of a union type.
+
+ Assumes the given type is a union type. If not, ArgumentException is raised during pre-computation.
+ The input union type.
+ Optional binding flags.
+ Thrown when the input type is not a union type.
+ An array of descriptions of the cases of the given union type.
+
+
+ Gets the tuple elements from the representation of an F# tuple type.
+ The input tuple type.
+ An array of the types contained in the given tuple type.
+
+
+ Reads all the fields from a record value, in declaration order
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The input record type.
+ Optional binding flags.
+ An array of descriptions of the properties of the record type.
+
+
+ Gets the domain and range types from an F# function type or from the runtime type of a closure implementing an F# type
+ The input function type.
+ A tuple of the domain and range types of the input function.
+
+
+ Reads all the fields from an F# exception declaration, in declaration order
+
+ Assumes exceptionType is an exception representation type. If not, ArgumentException is raised.
+ The exception type to read.
+ Optional binding flags.
+ Thrown if the given type is not an exception.
+ An array containing the PropertyInfo of each field in the exception.
+
+
+ Contains operations associated with constructing and analyzing F# types such as records, unions and tuples
+
+
+ Assumes the given type is a union type.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function is more efficient than calling GetUnionCase
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The type of union to optimize reading.
+ Optional binding flags.
+ An optimized function to read the tags of the given union type.
+
+
+ Precompute a property or static method for reading an integer representing the case tag of a union type.
+ The type of union to read.
+ Optional binding flags.
+ The description of the union case reader.
+
+
+ Precomputes a function for reading all the fields for a particular discriminator case of a union type
+
+ Using the computed function will typically be faster than executing a corresponding call to GetFields
+ The description of the union case to read.
+ Optional binding flags.
+ A function to for reading the fields of the given union case.
+
+
+ A method that constructs objects of the given case
+ The description of the union case.
+ Optional binding flags.
+ The description of the constructor of the given union case.
+
+
+ Precomputes a function for constructing a discriminated union value for a particular union case.
+ The description of the union case.
+ Optional binding flags.
+ A function for constructing values of the given union case.
+
+
+ Precomputes a function for reading the values of a particular tuple type
+
+ Assumes the given type is a TupleType.
+ If not, ArgumentException is raised during pre-computation.
+ The tuple type to read.
+ Thrown when the given type is not a tuple type.
+ A function to read values of the given tuple type.
+
+
+ Gets information that indicates how to read a field of a tuple
+ The input tuple type.
+ The index of the tuple element to describe.
+ The description of the tuple element and an optional type and index if the tuple is big.
+
+
+ Gets a method that constructs objects of the given tuple type.
+ For small tuples, no additional type will be returned.
+
+ For large tuples, an additional type is returned indicating that
+ a nested encoding has been used for the tuple type. In this case
+ the suffix portion of the tuple type has the given type and an
+ object of this type must be created and passed as the last argument
+ to the ConstructorInfo. A recursive call to PreComputeTupleConstructorInfo
+ can be used to determine the constructor for that the suffix type.
+ The input tuple type.
+ The description of the tuple type constructor and an optional extra type
+ for large tuples.
+
+
+ Precomputes a function for reading the values of a particular tuple type
+
+ Assumes the given type is a TupleType.
+ If not, ArgumentException is raised during pre-computation.
+ The type of tuple to read.
+ Thrown when the given type is not a tuple type.
+ A function to read a particular tuple type.
+
+
+ Precompute a function for reading all the fields from a record. The fields are returned in the
+ same order as the fields reported by a call to Microsoft.FSharp.Reflection.Type.GetInfo for
+ this type.
+
+ Assumes the given type is a RecordType.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The type of record to read.
+ Optional binding flags.
+ Thrown when the input type is not a record type.
+ An optimized reader for the given record type.
+
+
+ Precompute a function for reading a particular field from a record.
+ Assumes the given type is a RecordType with a field of the given name.
+ If not, ArgumentException is raised during pre-computation.
+
+ Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo
+ because the path executed by the computed function is optimized given the knowledge that it will be
+ used to read values of the given type.
+ The PropertyInfo of the field to read.
+ Thrown when the input type is not a record type.
+ A function to read the specified field from the record.
+
+
+ Get a ConstructorInfo for a record type
+ The record type.
+ Optional binding flags.
+ A ConstructorInfo for the given record type.
+
+
+ Precompute a function for constructing a record value.
+
+ Assumes the given type is a RecordType.
+ If not, ArgumentException is raised during pre-computation.
+ The type of record to construct.
+ Optional binding flags.
+ Thrown when the input type is not a record type.
+ A function to construct records of the given type.
+
+
+ Create a union case value.
+ The description of the union case to create.
+ The array of arguments to construct the given case.
+ Optional binding flags.
+ The constructed union case.
+
+
+ Creates an instance of a tuple type
+
+ Assumes at least one element is given. If not, ArgumentException is raised.
+ The array of tuple fields.
+ The tuple type to create.
+ Thrown if no elements are given.
+ An instance of the tuple type with the given elements.
+
+
+ Creates an instance of a record type.
+
+ Assumes the given input is a record type.
+ The type of record to make.
+ The array of values to initialize the record.
+ Optional binding flags for the record.
+ Thrown when the input type is not a record type.
+ The created record.
+
+
+ Builds a typed function from object from a dynamic function implementation
+ The function type of the implementation.
+ The untyped lambda of the function implementation.
+ A typed function from the given dynamic implementation.
+
+
+ Identify the union case and its fields for an object
+
+ Assumes the given input is a union case value. If not, ArgumentException is raised.
+
+ If the type is not given, then the runtime type of the input object is used to identify the
+ relevant union type. The type should always be given if the input object may be null. For example,
+ option values may be represented using the 'null'.
+ The input union case.
+ The union type containing the value.
+ Optional binding flags.
+ Thrown when the input type is not a union case value.
+ The description of the union case and its fields.
+
+
+ Reads all fields from a tuple.
+
+ Assumes the given input is a tuple value. If not, ArgumentException is raised.
+ The input tuple.
+ Thrown when the input is not a tuple value.
+ An array of the fields from the given tuple.
+
+
+ Reads a field from a tuple value.
+
+ Assumes the given input is a tuple value. If not, ArgumentException is raised.
+ The input tuple.
+ The index of the field to read.
+ The value of the field.
+
+
+ Reads all the fields from a record value.
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The record object.
+ Optional binding flags for the record.
+ Thrown when the input type is not a record type.
+ The array of fields from the record.
+
+
+ Reads a field from a record value.
+
+ Assumes the given input is a record value. If not, ArgumentException is raised.
+ The record object.
+ The PropertyInfo describing the field to read.
+ Thrown when the input type is not a record type.
+ The field from the record.
+
+
+ Reads all the fields from a value built using an instance of an F# exception declaration
+
+ Assumes the given input is an F# exception value. If not, ArgumentException is raised.
+ The exception instance.
+ Optional binding flags.
+ Thrown when the input type is not an F# exception.
+ The fields from the given exception.
+
+
+ Contains operations associated with constructing and analyzing values associated with F# types
+ such as records, unions and tuples.
+
+
+ The integer tag for the case.
+
+
+ The name of the case.
+
+
+ The type in which the case occurs.
+
+
+ The fields associated with the case, represented by a PropertyInfo.
+ The fields associated with the case.
+
+
+ Returns the custom attributes associated with the case matching the given attribute type.
+ The type of attributes to return.
+ An array of custom attributes.
+
+
+ Returns the custom attributes associated with the case.
+ An array of custom attributes.
+
+
+ Represents a case of a discriminated union type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A record of options to control structural formatting.
+ For F# Interactive properties matching those of this value can be accessed via the 'fsi'
+ value.
+
+ Floating Point format given in the same format accepted by System.Double.ToString,
+ e.g. f6 or g15.
+
+ If ShowProperties is set the printing process will evaluate properties of the values being
+ displayed. This may cause additional computation.
+
+ The ShowIEnumerable is set the printing process will force the evalution of IEnumerable objects
+ to a small, finite depth, as determined by the printing parameters.
+ This may lead to additional computation being performed during printing.
+
+ <example>
+ From F# Interactive the default settings can be adjusted using, for example,
+ <pre>
+ open Microsoft.FSharp.Compiler.Interactive.Settings;;
+ setPrintWidth 120;;
+ </pre>
+ </example>
+
+
+
+
+ Data representing structured layouts of terms.
+
+
+
+
+ Convert any value to a layout using the given formatting options. The
+ layout can then be processed using formatting display engines such as
+ those in the LayoutOps module. any_to_string and output_any are
+ built using any_to_layout with default format options.
+
+
+
+
+
+
+
+ Ouput any value to a channel using the same set of formatting rules
+ as any_to_string
+
+
+
+
+ Convert any value to a string using a standard formatter
+ Data is typically formatted in a structured format, e.g.
+ lists are formatted using the "[1;2]" notation.
+ The details of the format are not specified and may change
+ from version to version and according to the flags given
+ to the F# compiler. The format is intended to be human-readable,
+ not machine readable. If alternative generic formats are required
+ you should develop your own formatter, using the code in the
+ implementation of this file as a starting point.
+
+ Data from other .NET languages is formatted using a virtual
+ call to Object.ToString() on the boxed version of the input.
+
+
+
+
+
+
+
+ For limitting layout of list-like sequences (lists,arrays,etc).
+ unfold a list of items using (project and z) making layout list via itemL.
+ If reach maxLength (before exhausting) then truncate.
+
+
+
+
+ See tagL
+
+
+
+
+ Layout like an F# list.
+
+
+
+
+ Layout like an F# option.
+
+
+
+
+ Layout list vertically.
+
+
+
+
+ Layout two vertically.
+
+
+
+
+ Form tuple of layouts.
+
+
+
+
+ Wrap braces around layout.
+
+
+
+
+ Wrap square brackets around layout.
+
+
+
+
+ Wrap round brackets around Layout.
+
+
+
+
+ Join layouts into a list separated using the given Layout.
+
+
+
+
+ Join layouts into a semi-colon separated list.
+
+
+
+
+ Join layouts into a space separated list.
+
+
+
+
+ Join layouts into a comma separated list.
+
+
+
+
+ Join broken with ident=2
+
+
+
+
+ Join broken with ident=1
+
+
+
+
+ Join broken with ident=0
+
+
+
+
+ Join, possible break with indent=2
+
+
+
+
+ Join, possible break with indent=1
+
+
+
+
+ Join, possible break with indent=0
+
+
+
+
+ Join, unbreakable.
+
+
+
+
+ An string which is left parenthesis (no space on the right).
+
+
+
+
+ An string which is right parenthesis (no space on the left).
+
+
+
+
+ An string which requires no spaces either side.
+
+
+
+
+ An string leaf
+
+
+
+
+ An uninterpreted leaf, to be interpreted into a string
+ by the layout engine. This allows leaf layouts for numbers, strings and
+ other atoms to be customized according to culture.
+
+
+
+
+ Is it the empty layout?
+
+
+
+
+ The empty layout
+
+
+
+
+ A layout is a sequence of strings which have been joined together.
+ The strings are classified as words, separators and left and right parenthesis.
+ This classification determines where spaces are inserted.
+ A joint is either unbreakable, breakable or broken.
+ If a joint is broken the RHS layout occurs on the next line with optional indentation.
+ A layout can be squashed to for given width which forces breaks as required.
+
+
+
+ Subscribe an observer to the source of results
+ The observer to be added to those that are notified.
+ An IDisposable to allow for unsubscription.
+
+
+ A source of observable results
+
+
+ Notify an observer of a new result
+ The value to notify observers.
+
+
+ Notify an observer of an error
+ The exception to notify observers.
+
+
+ Notify an observer that no more results will be produced.
+
+
+ A client that may be subscribed to observe the results from an IObservable.
+
+
+
diff --git a/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/package/services/metadata/core-properties/bae9ab6b2d214ee5a3270e048961a28f.psmdcp b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/package/services/metadata/core-properties/bae9ab6b2d214ee5a3270e048961a28f.psmdcp
new file mode 100644
index 00000000..4495698c
--- /dev/null
+++ b/packages/FSharp.Core.4.3.0.0.Microsoft.Signed/package/services/metadata/core-properties/bae9ab6b2d214ee5a3270e048961a28f.psmdcp
@@ -0,0 +1,5 @@
+F# Software Foundation, Dave ThomasMicrosoft-signed versions of FSharp.Core for F# 3.0 and above, for
+.Net 2.0
+.Net 4.0
+.Net 4.5
+profile47FSharp.Core.4.3.0.0.Microsoft.Signed3.0.0.1F#, FSharp, FSharp.CoreFSharp.Core for F# 3.0+
\ No newline at end of file
diff --git a/paket.dependencies b/paket.dependencies
index 91a7c321..604ff287 100644
--- a/paket.dependencies
+++ b/paket.dependencies
@@ -1,6 +1,7 @@
source http://nuget.org/api/v2
nuget FSharp.Core.Microsoft.Signed ~> 3.1.1
+nuget FSharp.Core.4.3.0.0.Microsoft.Signed ~> 3.0.0
nuget TaskParallelLibrary 1.0.2856.0
nuget FAKE ~> 3.5
diff --git a/paket.lock b/paket.lock
index 99d21c5a..f5d8c117 100644
--- a/paket.lock
+++ b/paket.lock
@@ -3,13 +3,14 @@ NUGET
specs:
BenchShark (1.0.0)
ConsoleDump (0.6.0.1)
- FAKE (3.5.2)
+ FAKE (3.5.5)
FSharp.Compiler.Service (0.0.59)
+ FSharp.Core.4.3.0.0.Microsoft.Signed (3.0.0.1)
FSharp.Core.Microsoft.Signed (3.1.1.1)
- FSharp.Formatting (2.4.24)
+ FSharp.Formatting (2.4.25)
Microsoft.AspNet.Razor (2.0.30506.0)
RazorEngine (3.3.0)
- FSharp.Compiler.Service (0.0.59)
+ FSharp.Compiler.Service (>= 0.0.59)
FsUnit (1.3.0.1)
NUnit (>= 2.6.3)
MathNet.Numerics (3.0.0)
diff --git a/src/FSharp/FSharp-Net35.fsproj b/src/FSharp/FSharp-Net35.fsproj
index a8196988..5a029089 100644
--- a/src/FSharp/FSharp-Net35.fsproj
+++ b/src/FSharp/FSharp-Net35.fsproj
@@ -89,66 +89,48 @@
-
-
-
- ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net40\FSharp.Core.dll
- True
- True
-
-
-
-
-
-
- ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net45\FSharp.Core.dll
- True
- True
-
-
-
-
+
- ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net45\FSharp.Core.dll
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\net35\FSharp.Core.dll
True
True
-
-
-
+
- ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\net40\FSharp.Core.dll
True
True
-
+
- ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\net45\FSharp.Core.dll
True
True
-
+
- ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\net45\FSharp.Core.dll
True
True
+
+
- ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
True
True
@@ -157,7 +139,7 @@
- ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
True
True
diff --git a/src/FSharp/FSharp-Net35.fsproj.paket.references b/src/FSharp/FSharp-Net35.fsproj.paket.references
new file mode 100644
index 00000000..b55f0ca9
--- /dev/null
+++ b/src/FSharp/FSharp-Net35.fsproj.paket.references
@@ -0,0 +1 @@
+FSharp.Core.4.3.0.0.Microsoft.Signed
diff --git a/src/FSharpUnitTests/FSharpUnitTests-Net35.fsproj b/src/FSharpUnitTests/FSharpUnitTests-Net35.fsproj
index a55ed336..d4177aea 100644
--- a/src/FSharpUnitTests/FSharpUnitTests-Net35.fsproj
+++ b/src/FSharpUnitTests/FSharpUnitTests-Net35.fsproj
@@ -50,9 +50,6 @@
$(DefineConstants);NOFSSLICESET1D
-
- False
-
@@ -93,6 +90,64 @@
$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
+
+
+
+
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\net35\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\net40\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\net45\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\net45\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.4.3.0.0.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
diff --git a/src/FSharpUnitTests/FSharpUnitTests-Net35.fsproj.paket.references b/src/FSharpUnitTests/FSharpUnitTests-Net35.fsproj.paket.references
new file mode 100644
index 00000000..c7d6b012
--- /dev/null
+++ b/src/FSharpUnitTests/FSharpUnitTests-Net35.fsproj.paket.references
@@ -0,0 +1,2 @@
+FSharp.Core.4.3.0.0.Microsoft.Signed
+FsUnit
diff --git a/src/FSharpUnitTests/FSharpUnitTests-Portable328.fsproj b/src/FSharpUnitTests/FSharpUnitTests-Portable328.fsproj
index fd64babb..33feed75 100644
--- a/src/FSharpUnitTests/FSharpUnitTests-Portable328.fsproj
+++ b/src/FSharpUnitTests/FSharpUnitTests-Portable328.fsproj
@@ -48,7 +48,6 @@
-
@@ -84,6 +83,82 @@
$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net40\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net45\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net45\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
diff --git a/src/FSharpUnitTests/FSharpUnitTests-Portable47.fsproj b/src/FSharpUnitTests/FSharpUnitTests-Portable47.fsproj
index b37f1804..a75fd23e 100644
--- a/src/FSharpUnitTests/FSharpUnitTests-Portable47.fsproj
+++ b/src/FSharpUnitTests/FSharpUnitTests-Portable47.fsproj
@@ -56,7 +56,6 @@
Numerics-Portable47
{49205185-621E-FFB9-2104-887C9F1BBD13}
-
@@ -82,6 +81,82 @@
$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net40\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net45\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net45\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
diff --git a/src/FSharpUnitTests/FSharpUnitTests.fsproj b/src/FSharpUnitTests/FSharpUnitTests.fsproj
index ba0597c2..1b19b1d6 100644
--- a/src/FSharpUnitTests/FSharpUnitTests.fsproj
+++ b/src/FSharpUnitTests/FSharpUnitTests.fsproj
@@ -61,7 +61,6 @@
Numerics
{B7CAE5F4-A23F-4438-B5BE-41226618B695}
-
@@ -87,6 +86,82 @@
$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net40\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net45\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\net45\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
+
+
+ ..\..\packages\FSharp.Core.Microsoft.Signed\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll
+ True
+ True
+
+
+
+
diff --git a/src/FSharpUnitTests/paket.references b/src/FSharpUnitTests/paket.references
index 121e2abc..0ca33b3b 100644
--- a/src/FSharpUnitTests/paket.references
+++ b/src/FSharpUnitTests/paket.references
@@ -1,2 +1,2 @@
-FsUnit
-NUnit
+FSharp.Core.Microsoft.Signed
+FsUnit
\ No newline at end of file
diff --git a/src/Numerics/Numerics-Net35.csproj b/src/Numerics/Numerics-Net35.csproj
index 357fff15..4f18b775 100644
--- a/src/Numerics/Numerics-Net35.csproj
+++ b/src/Numerics/Numerics-Net35.csproj
@@ -104,6 +104,16 @@
..\..\packages\TaskParallelLibrary\lib\Net35\System.Threading.dll
True
+ True
+
+
+
+
+
+
+ ..\..\packages\TaskParallelLibrary\lib\Net35\System.Threading.dll
+ True
+ True
diff --git a/src/Numerics/Numerics-Net35.csproj.paket.references b/src/Numerics/Numerics-Net35.csproj.paket.references
new file mode 100644
index 00000000..f74f916a
--- /dev/null
+++ b/src/Numerics/Numerics-Net35.csproj.paket.references
@@ -0,0 +1 @@
+TaskParallelLibrary
diff --git a/src/Numerics/Numerics-Portable328.csproj b/src/Numerics/Numerics-Portable328.csproj
index 24fb9af4..6a95a19c 100644
--- a/src/Numerics/Numerics-Portable328.csproj
+++ b/src/Numerics/Numerics-Portable328.csproj
@@ -61,14 +61,4 @@
-
-
-
-
- ..\..\packages\TaskParallelLibrary\lib\Net35\System.Threading.dll
- True
-
-
-
-
\ No newline at end of file
diff --git a/src/Numerics/Numerics-Portable47.csproj b/src/Numerics/Numerics-Portable47.csproj
index 15675197..8f54d39f 100644
--- a/src/Numerics/Numerics-Portable47.csproj
+++ b/src/Numerics/Numerics-Portable47.csproj
@@ -61,14 +61,4 @@
-
-
-
-
- ..\..\packages\TaskParallelLibrary\lib\Net35\System.Threading.dll
- True
-
-
-
-
\ No newline at end of file
diff --git a/src/Numerics/Numerics.csproj b/src/Numerics/Numerics.csproj
index 77a4d50f..42adebf0 100644
--- a/src/Numerics/Numerics.csproj
+++ b/src/Numerics/Numerics.csproj
@@ -440,14 +440,4 @@
-
-
-
-
- ..\..\packages\TaskParallelLibrary\lib\Net35\System.Threading.dll
- True
-
-
-
-
\ No newline at end of file
diff --git a/src/Numerics/paket.references b/src/Numerics/paket.references
index f74f916a..e69de29b 100644
--- a/src/Numerics/paket.references
+++ b/src/Numerics/paket.references
@@ -1 +0,0 @@
-TaskParallelLibrary
diff --git a/tools/paket/paket.bootstrapper.exe b/tools/paket/paket.bootstrapper.exe
index 411e2a78..2da0984c 100644
Binary files a/tools/paket/paket.bootstrapper.exe and b/tools/paket/paket.bootstrapper.exe differ