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