From d1491cc01845650f74662bb5ca8a0fa4028cae5a Mon Sep 17 00:00:00 2001 From: AndreyBulgakov Date: Mon, 23 Mar 2015 19:58:37 +0300 Subject: [PATCH] Change structer of project --- .gitignore | 183 + LICENSE | 202 + ...terCombnators.sln => PrinterCombnators.sln | 0 .../{PrinterCombnators => }/AbstractParse.fs | 0 .../{PrinterCombnators => }/App.config | 0 .../{PrinterCombnators => }/Doc.fs | 0 .../{PrinterCombnators => }/Format.fs | 0 .../{PrinterCombnators => }/Pretty.fs | 0 .../PrinterCombnators.fsproj | 0 .../bin/Debug/FSharp.Core.xml | 10723 ---------------- .../bin/Debug/PrinterCombnators.XML | 198 - .../bin/Debug/PrinterCombnators.exe.config | 6 - ...nterCombnators.fsproj.FileListAbsolute.txt | 9 - .../{PrinterCombnators => }/Test.fs | 0 .../{PrinterCombnators => }/Variants.fs | 0 README.md | 1 + 16 files changed, 386 insertions(+), 10936 deletions(-) create mode 100644 .gitignore create mode 100644 LICENSE rename PrinterCombnators/PrinterCombnators.sln => PrinterCombnators.sln (100%) rename PrinterCombnators/{PrinterCombnators => }/AbstractParse.fs (100%) rename PrinterCombnators/{PrinterCombnators => }/App.config (100%) rename PrinterCombnators/{PrinterCombnators => }/Doc.fs (100%) rename PrinterCombnators/{PrinterCombnators => }/Format.fs (100%) rename PrinterCombnators/{PrinterCombnators => }/Pretty.fs (100%) rename PrinterCombnators/{PrinterCombnators => }/PrinterCombnators.fsproj (100%) delete mode 100644 PrinterCombnators/PrinterCombnators/bin/Debug/FSharp.Core.xml delete mode 100644 PrinterCombnators/PrinterCombnators/bin/Debug/PrinterCombnators.XML delete mode 100644 PrinterCombnators/PrinterCombnators/bin/Debug/PrinterCombnators.exe.config delete mode 100644 PrinterCombnators/PrinterCombnators/obj/Debug/PrinterCombnators.fsproj.FileListAbsolute.txt rename PrinterCombnators/{PrinterCombnators => }/Test.fs (100%) rename PrinterCombnators/{PrinterCombnators => }/Variants.fs (100%) create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fd5204b --- /dev/null +++ b/.gitignore @@ -0,0 +1,183 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ + +# Roslyn cache directories +*.ide/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +#NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding addin-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# If using the old MSBuild-Integrated Package Restore, uncomment this: +#!**/packages/repositories.config + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e06d208 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/PrinterCombnators/PrinterCombnators.sln b/PrinterCombnators.sln similarity index 100% rename from PrinterCombnators/PrinterCombnators.sln rename to PrinterCombnators.sln diff --git a/PrinterCombnators/PrinterCombnators/AbstractParse.fs b/PrinterCombnators/AbstractParse.fs similarity index 100% rename from PrinterCombnators/PrinterCombnators/AbstractParse.fs rename to PrinterCombnators/AbstractParse.fs diff --git a/PrinterCombnators/PrinterCombnators/App.config b/PrinterCombnators/App.config similarity index 100% rename from PrinterCombnators/PrinterCombnators/App.config rename to PrinterCombnators/App.config diff --git a/PrinterCombnators/PrinterCombnators/Doc.fs b/PrinterCombnators/Doc.fs similarity index 100% rename from PrinterCombnators/PrinterCombnators/Doc.fs rename to PrinterCombnators/Doc.fs diff --git a/PrinterCombnators/PrinterCombnators/Format.fs b/PrinterCombnators/Format.fs similarity index 100% rename from PrinterCombnators/PrinterCombnators/Format.fs rename to PrinterCombnators/Format.fs diff --git a/PrinterCombnators/PrinterCombnators/Pretty.fs b/PrinterCombnators/Pretty.fs similarity index 100% rename from PrinterCombnators/PrinterCombnators/Pretty.fs rename to PrinterCombnators/Pretty.fs diff --git a/PrinterCombnators/PrinterCombnators/PrinterCombnators.fsproj b/PrinterCombnators/PrinterCombnators.fsproj similarity index 100% rename from PrinterCombnators/PrinterCombnators/PrinterCombnators.fsproj rename to PrinterCombnators/PrinterCombnators.fsproj diff --git a/PrinterCombnators/PrinterCombnators/bin/Debug/FSharp.Core.xml b/PrinterCombnators/PrinterCombnators/bin/Debug/FSharp.Core.xml deleted file mode 100644 index 99403dd..0000000 --- a/PrinterCombnators/PrinterCombnators/bin/Debug/FSharp.Core.xml +++ /dev/null @@ -1,10723 +0,0 @@ - - -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 opened. - - 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 bitwise-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 bitwise-XOR operator - The first parameter. - The second parameter. - The result of the operation. - - - Overloaded bitwise-OR operator - The first parameter. - The second parameter. - The result of the operation. - - - Overloaded bitwise-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 vector slice of a 2D array. The index of the second dimension is fixed. - The target array. - The start index of the first dimension. - The end index of the first dimension. - The index of the second dimension. - The source array. - - - Sets a vector slice of a 2D array. The index of the first dimension is fixed. - The target array. - The index of the first dimension. - The start index of the second dimension. - The end index of the second dimension. - The source array. - - - Sets a region 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 vector slice of a 2D array. The index of the second dimension is fixed. - The source array. - The start index of the first dimension. - The end index of the first dimension. - The fixed index of the second dimension. - The sub array from the input indices. - - - Gets a vector slice of a 2D array. The index of the first dimension is fixed. - The source array. - The index of the first dimension. - The start index of the second dimension. - The end index of the second dimension. - The sub array from the input indices. - - - Gets a region 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 - - - Returns true if the typ is a representation of an F# exception declaration - The type to check. - Optional flag that denotes accessibility of the private representation. - True if the type check is an F# exception. - - - 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 flag that denotes accessibility of the private representation. - Thrown if the given type is not an exception. - An array containing the PropertyInfo of each field in the exception. - - - 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 flag that denotes accessibility of the private representation. - True if the type check succeeds. - - - Return true if the typ is a representation of an F# record type - The type to check. - Optional flag that denotes accessibility of the private representation. - True if the type check succeeds. - - - 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 flag that denotes accessibility of the private representation. - Thrown when the input type is not a union type. - An array of descriptions of the cases of the given union 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 flag that denotes accessibility of the private representation. - An array of descriptions of the properties of the record type. - - - 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 flag that denotes accessibility of the private representation. - Thrown when the input type is not an F# exception. - The fields from the given exception. - - - A method that constructs objects of the given case - The description of the union case. - Optional flag that denotes accessibility of the private representation. - 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 flag that denotes accessibility of the private representation. - A function for constructing values of the given union case. - - - 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 flag that denotes accessibility of the private representation. - A function to for reading the fields of the given union case. - - - 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 flag that denotes accessibility of the private representation. - The description of the union case reader. - - - 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 flag that denotes accessibility of the private representation. - An optimized function to read the tags of the given union type. - - - 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 flag that denotes accessibility of the private representation. - Thrown when the input type is not a union case value. - The description of the union case and its fields. - - - Create a union case value. - The description of the union case to create. - The array of arguments to construct the given case. - Optional flag that denotes accessibility of the private representation. - The constructed union case. - - - Get a ConstructorInfo for a record type - The record type. - Optional flag that denotes accessibility of the private representation. - 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 flag that denotes accessibility of the private representation. - Thrown when the input type is not a record type. - A function to construct records of the given 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 flag that denotes accessibility of the private representation. - Thrown when the input type is not a record type. - An optimized reader for the given record type. - - - 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 flag that denotes accessibility of the private representation. - Thrown when the input type is not a record type. - The array of fields from the record. - - - 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 flags that denotes accessibility of the private representation. - Thrown when the input type is not a record type. - The created record. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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/PrinterCombnators/PrinterCombnators/bin/Debug/PrinterCombnators.XML b/PrinterCombnators/PrinterCombnators/bin/Debug/PrinterCombnators.XML deleted file mode 100644 index f4a5596..0000000 --- a/PrinterCombnators/PrinterCombnators/bin/Debug/PrinterCombnators.XML +++ /dev/null @@ -1,198 +0,0 @@ - - -PrinterCombnators - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PrinterCombnators/PrinterCombnators/bin/Debug/PrinterCombnators.exe.config b/PrinterCombnators/PrinterCombnators/bin/Debug/PrinterCombnators.exe.config deleted file mode 100644 index 8e15646..0000000 --- a/PrinterCombnators/PrinterCombnators/bin/Debug/PrinterCombnators.exe.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/PrinterCombnators/PrinterCombnators/obj/Debug/PrinterCombnators.fsproj.FileListAbsolute.txt b/PrinterCombnators/PrinterCombnators/obj/Debug/PrinterCombnators.fsproj.FileListAbsolute.txt deleted file mode 100644 index f33f390..0000000 --- a/PrinterCombnators/PrinterCombnators/obj/Debug/PrinterCombnators.fsproj.FileListAbsolute.txt +++ /dev/null @@ -1,9 +0,0 @@ -D:\F#_projects\PrinterCombnators\PrinterCombnators\PrinterCombnators\bin\Debug\PrinterCombnators.exe.config -D:\F#_projects\PrinterCombnators\PrinterCombnators\PrinterCombnators\bin\Debug\PrinterCombnators.XML -D:\F#_projects\PrinterCombnators\PrinterCombnators\PrinterCombnators\bin\Debug\PrinterCombnators.exe -D:\F#_projects\PrinterCombnators\PrinterCombnators\PrinterCombnators\bin\Debug\PrinterCombnators.pdb -D:\F#_projects\PrinterCombnators\PrinterCombnators\PrinterCombnators\bin\Debug\FSharp.Core.dll -D:\F#_projects\PrinterCombnators\PrinterCombnators\PrinterCombnators\bin\Debug\FSharp.Core.xml -D:\F#_projects\PrinterCombnators\PrinterCombnators\PrinterCombnators\bin\Debug\ru\FSharp.Core.resources.dll -D:\F#_projects\PrinterCombnators\PrinterCombnators\PrinterCombnators\obj\Debug\PrinterCombnators.exe -D:\F#_projects\PrinterCombnators\PrinterCombnators\PrinterCombnators\obj\Debug\PrinterCombnators.pdb diff --git a/PrinterCombnators/PrinterCombnators/Test.fs b/PrinterCombnators/Test.fs similarity index 100% rename from PrinterCombnators/PrinterCombnators/Test.fs rename to PrinterCombnators/Test.fs diff --git a/PrinterCombnators/PrinterCombnators/Variants.fs b/PrinterCombnators/Variants.fs similarity index 100% rename from PrinterCombnators/PrinterCombnators/Variants.fs rename to PrinterCombnators/Variants.fs diff --git a/README.md b/README.md new file mode 100644 index 0000000..4033313 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# YC.PrettyPrinter