diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..989c9abb2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ +FROM mcr.microsoft.com/dotnet/sdk:7.0 + +RUN apt-get update \ + && apt-get -y upgrade \ + && apt-get -y install python3 python3-pip python3-dev ipython3 + +RUN python3 -m pip install --no-cache-dir notebook jupyterlab + +ARG NB_USER=fsdocs-user +ARG NB_UID=1000 +ENV USER ${NB_USER} +ENV NB_UID ${NB_UID} +ENV HOME /home/${NB_USER} + +RUN adduser --disabled-password \ + --gecos "Default user" \ + --uid ${NB_UID} \ + ${NB_USER} + +COPY . ${HOME} +USER root +RUN chown -R ${NB_UID} ${HOME} +USER ${NB_USER} + +ENV PATH="${PATH}:$HOME/.dotnet/tools/" + +RUN dotnet tool install --global Microsoft.dotnet-interactive --version 1.0.410202 + +RUN dotnet-interactive jupyter install diff --git a/NuGet.config b/NuGet.config new file mode 100644 index 000000000..cf1ace51a --- /dev/null +++ b/NuGet.config @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/fsdocs-default.css b/content/fsdocs-default.css new file mode 100644 index 000000000..825e598b7 --- /dev/null +++ b/content/fsdocs-default.css @@ -0,0 +1,1266 @@ +:root { + --monospace-font: "Fira Code", monospace; + --system-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; + --heading-font-family: var(--system-font); + + --spacing-50: 4px; + --spacing-100: 8px; + --spacing-200: 12px; + --spacing-300: 16px; + --spacing-400: 24px; + --spacing-500: 32px; + --spacing-600: 48px; + --spacing-700: 64px; + --spacing-800: 96px; + --spacing-900: 128px; + --spacing-950: 192px; + + --font-50: 12px; + --font-100: 14px; + --font-200: 16px; + --font-300: 18px; + --font-400: 20px; + --font-500: 24px; + --font-600: 30px; + --font-700: 36px; + --font-800: 48px; + --font-900: 60px; + --font-950: 72px; + + --line-height: 1.5; + --heading-line-height: 1.25; + --radius: 6px; + + --container-sm: 768px; + --container-md: 960px; + --container-lg: 1024px; + --container-xl: 1200px; + --container-xxl: 1400px; + --container-xxxl: 1800px; + --main-menu-width: 260px; + --page-menu-width: var(--main-menu-width); + --header-height: 60px; + --body-grid-template-columns: var(--main-menu-width) minmax(0, 1fr); + --body-grid-template-columns-xl: var(--main-menu-width) minmax(0, 1fr) var(--page-menu-width); + --main-menu-grid-row: 2; + --main-menu-grid-column: 1; + --main-grid-row: 2; + --main-grid-column: 2; + --dialog-width: 500px; + --api-docs-first-column-min-width: 320px; + --api-docs-second-column-min-width: 240px; + + /* light theme */ + --primary: #1e8bc3; + --background: #f5f5f6; + --text-color: #020202; + --text-hover: #282828; + --heading-color: #2e293a; + --code-background: #ffffff; + --code-color: #1a4b0b; + --header-background: #f9fbfc; + --header-border: #e8ecf1; + --header-link-color: var(--text-color); + --mobile-menu-background: var(--header-background); + --menu-color: var(--text-color); + --menu-item-hover-background: #eff0f1; + --menu-item-hover-color: var(--menu-color); + --doc-tip-background: #F7F7F7; + --link-color: #4871f7; + --link-hover: #91aafa; + --search-background: rgb(229, 231, 235); + --nav-category: rgb(156, 163, 175); + --scrollbar-track-background: #424242; + --scrollbar-track-border: #4A4A4A; + --scrollbar-thumb-background: #686868; + --shadow-color: hsla(0, 0%, 0%, .1); + --main-shadow-color: hsla(0, 0%, 0%, .025); + --aside-background: var(--header-background); + --blockquote-bacground-color: var(--header-background); + --blockquote-color: var(--text-color); + --on-this-page-color: var(--menu-color); + --page-menu-background-color: var(--header-background); + --page-menu-background-border-color: var(--header-border); + --page-menu-background-hover-border-color: var(--text-color); + --nav-item-border-color: var(--header-border); + --nav-item-active-border-color: var(--text-color); + --dialog-background-color: var(--header-background); + --dialog-empty-color: var(--nav-category); + --dialog-icon-color: var(--text-color); + --dialog-link-color: var(--link-color); + --dialog-link-hover-color: var(--header-background); + --dialog-link-hover-background-color: var(--link-hover); + --code-fence-border-color: transparent; + + --header-brand-text-transform: none; + + --code-strings-color: #0093A1; + --code-printf-color: #6B2FBA; + --code-escaped-color: #EA8675; + --code-identifiers-color: #6B2FBA; + --code-module-color: #009999; + --code-reference-color: #4974D1; + --code-value-color: #1B6600; + --code-interface-color: #43AEC6; + --code-typearg-color: #43AEC6; + --code-disposable-color: #43AEC6; + --code-property-color: #43AEC6; + --code-punctuation-color: #43AEC6; + --code-punctuation2-color: var(--text-color); + --code-function-color: #6B2FBA; + --code-function2-color: #6B2FBA; + --code-activepattern-color: #4ec9b0; + --code-unioncase-color: #4ec9b0; + --code-enumeration-color: #8C6C41; + --code-keywords-color: #0F54D6; + --code-comment-color: #707070; + --code-operators-color: #0F54D6; + --code-numbers-color: #009999; + --code-linenumbers-color: #80b0b0; + --code-mutable-color: #1b6600; + --code-inactive-color: #808080; + --code-preprocessor-color: #af75c1; + --code-fsioutput-color: #808080; + --code-tooltip-color: #d1d1d1; +} + +/* dark theme */ + +[data-theme=dark] { + --primary: #81cfe0; + --background: rgb(20, 21, 26); + --text-color: #F7F7F7; + --text-hover: #FFF; + --heading-color: rgb(229, 231, 235); + --code-background: #28282D; + --code-color: #f5f5f6; + --header-background: #0c1318; + --header-border: #9b9b9b; + --menu-item-hover-background: #2c2624; + --doc-tip-background: #2e293a; + --link-color: #c5eff7; + --search-background: #020202; + --nav-category: rgb(207, 211, 215); + --code-strings-color: #86b4b9; + --code-printf-color: #6B2FBA; + --code-escaped-color: #EA8675; + --code-identifiers-color: #d1b3f5; + --code-module-color: #15e1e1; + --code-reference-color: #40fddd; + --code-value-color: #ffb4e9; + --code-interface-color: #43AEC6; + --code-typearg-color: #43AEC6; + --code-disposable-color: #6dd6f1; + --code-property-color: #6acfe7; + --code-punctuation-color: #43AEC6; + --code-punctuation2-color: var(--text-color); + --code-function-color: #6B2FBA; + --code-function2-color: #cbda9d; + --code-activepattern-color: #4ec9b0; + --code-unioncase-color: #4ec9b0; + --code-enumeration-color: #8C6C41; + --code-keywords-color: #a7c2f8; + --code-comment-color: #84d16e; + --code-operators-color: #b4c6ee; + --code-numbers-color: #009999; + --code-linenumbers-color: #80b0b0; + --code-mutable-color: #1b6600; + --code-inactive-color: #808080; + --code-preprocessor-color: #af75c1; + --code-fsioutput-color: #808080; + --code-tooltip-color: #d1d1d1; +} + +/* CSS Reset, source: https://www.joshwcomeau.com/css/custom-css-reset/ */ +*, *::before, *::after { + box-sizing: border-box; +} + +* { + margin: 0; +} + +html { + overflow-y: hidden; +} + +body { + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +picture, video, canvas, svg { + display: block; + max-width: 100%; +} + +input, button, textarea, select { + font: inherit; +} + +p, h1, h2, h3, h4, h5, h6 { + overflow-wrap: break-word; +} + +/* Main layout */ +body { + font-family: var(--system-font); + background-color: var(--background); + color: var(--text-color); + line-height: var(--line-height); + scroll-padding-top: var(--header-height); + scroll-behavior: smooth; +} + +header { + background-color: var(--header-background); + padding: var(--spacing-300); + height: var(--header-height); + display: flex; + align-items: center; + justify-content: space-between; + position: sticky; + top: 0; + z-index: 100; + box-shadow: 0 1px 1px var(--shadow-color); + + & .start { + display: flex; + align-items: center; + + & #menu-toggle { + position: relative; + height: var(--spacing-500); + width: var(--spacing-500); + border: 1px solid var(--header-border); + border-radius: var(--radius); + box-shadow: 0 1px 1px var(--shadow-color); + + & .icon { + top: 4px; + left: 4px; + width: calc(var(--spacing-500) - 4px); + height: calc(var(--spacing-500) - 4px); + position: absolute; + color: var(--header-link-color); + + &.open { + display: none; + } + } + + & input[type=checkbox] { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + appearance: none; + cursor: pointer; + } + + & .menu { + visibility: hidden; + height: 0; + opacity: 0; + width: 100%; + transition: all 0.2s ease-in-out; + position: fixed; + top: var(--header-height); + left: 0; + background-color: var(--mobile-menu-background); + list-style: none; + padding: var(--spacing-300); + overflow-y: auto; + } + + & input:checked + .menu { + visibility: visible; + opacity: 1; + height: calc(100vh - var(--header-height)); + } + + &:has(input:checked) { + .icon.open { + display: block; + } + + .icon.closed { + display: none; + } + } + } + + > a { + display: flex; + justify-content: center; + align-items: center; + text-decoration: none; + color: var(--header-link-color); + } + + & img { + margin: 0 var(--spacing-200); + border-radius: var(--radius); + height: calc(var(--spacing-500) - 2px); + } + + & strong { + line-height: var(--spacing-500); + font-size: var(--font-200); + display: block; + text-transform: var(--header-brand-text-transform); + font-weight: 500; + } + } + + & .end { + display: flex; + align-items: center; + + & a { + display: none; + color: var(--header-link-color); + } + + & > .themeToggle, & > .search { + cursor: pointer; + height: var(--spacing-500); + align-items: center; + margin: 0 var(--spacing-100); + } + + & > .search { + display: flex; + color: var(--header-link-color); + } + } +} + +aside { + display: none; +} + +main { + height: calc(100dvh - var(--header-height)); +} + +#content { + padding: var(--spacing-300); + + > *:first-child { + margin-top: 0; + } +} + +#fsdocs-page-menu { + display: none; + padding: var(--spacing-300); + background-color: var(--page-menu-background-color); + border-left: 1px solid var(--page-menu-background-border-color); + + &:has(.empty) { + display: none; + } + + > #on-this-page { + font-size: var(--font-100); + line-height: 1.5; + color: var(--on-this-page-color); + font-weight: 500; + margin: 0 0 var(--spacing-50); + } + + & ul { + list-style: none; + padding: 0; + margin: 0; + + & li { + border-left: 1px solid var(--header-border); + margin: 0; + + &:hover, &:focus { + border-color: var(--page-menu-background-hover-border-color); + } + + & a { + color: var(--menu-color); + text-decoration: none; + padding: var(--spacing-50) var(--spacing-100); + display: block; + overflow-x: hidden; + text-overflow: ellipsis; + } + + &.level-3 { + padding-left: var(--spacing-100); + } + + &.level-4 { + padding-left: var(--spacing-300); + } + } + } +} + +/* menu items */ +.menu { + padding: 0; + + & li { + list-style: none; + margin: 0; + } + + .nav-header { + margin-top: var(--spacing-300); + text-transform: uppercase; + font-size: var(--font-200); + font-weight: 500; + color: var(--menu-color); + } +} + +.nav-header:first-child { + margin-top: 0; +} + +.nav-item { + border-left: 1px solid var(--nav-item-border-color); + + & a { + color: var(--menu-color); + text-decoration: none; + font-size: var(--font-200); + padding: var(--spacing-100); + display: block; + overflow-x: hidden; + text-overflow: ellipsis; + + &:hover { + background-color: var(--menu-item-hover-background); + color: var(--menu-item-hover-color); + } + } + + &:hover, &.active { + border-color: var(--nav-item-active-border-color); + } + + &.active { + font-weight: 600; + } +} + +@media screen and (min-width: 768px) { + #menu-toggle { + display: none; + } + + body { + display: grid; + grid-template-rows: var(--header-height) minmax(0, 1fr); + grid-template-columns:var(--body-grid-template-columns); + gap: 0; + } + + header { + border-bottom: 1px solid var(--header-border); + grid-row: 1; + grid-column: span 2; + box-shadow: none; + + & .end { + > a { + display: flex; + align-items: center; + text-decoration: none; + + &:hover { + color: var(--link-hover); + } + } + } + } + + aside, main { + height: calc(100vh - var(--header-height)); + } + + aside { + position: sticky; + top: var(--header-height); + } + + #fsdocs-main-menu { + display: block; + padding: var(--spacing-300) var(--spacing-500); + background-color: var(--aside-background); + width: var(--main-menu-width); + border-right: 1px solid var(--header-border); + grid-row: var(--main-menu-grid-row); + grid-column: var(--main-menu-grid-column); + overflow-y: auto; + } + + main { + grid-row: var(--main-grid-row); + grid-column: var(--main-grid-column); + box-shadow: inset 1px 1px var(--main-shadow-color); + border-radius: 0; + } + + #content { + padding-left: var(--spacing-300); + padding-right: var(--spacing-300); + } +} + +@media screen and (min-width: 768px) { + #content { + max-width: calc(100vw - var(--main-menu-width) - var(--spacing-300) - var(--spacing-300)); + margin: 0 auto; + } +} + +@media screen and (min-width: 960px) { + #content { + max-width: calc(var(--container-md) - var(--main-menu-width) - var(--spacing-300) - var(--spacing-300)); + } +} + +@media screen and (min-width: 1024px) { + #content { + max-width: calc(var(--container-lg) - var(--main-menu-width) - var(--spacing-300) - var(--spacing-300)); + } +} + +@media screen and (min-width: 1200px) { + body { + grid-template-columns: var(--body-grid-template-columns-xl); + + &.api-docs { + grid-template-columns: var(--body-grid-template-columns); + + #content { + max-width: calc(var(--container-xl) - var(--main-menu-width) - var(--spacing-300) - var(--spacing-300)); + } + + #fsdocs-page-menu { + display: none; + } + } + } + + header { + grid-column: span 3; + } + + #fsdocs-page-menu { + grid-column: 3; + display: block; + } + + #content { + max-width: calc(var(--container-xl) - var(--main-menu-width) - var(--page-menu-width) - var(--spacing-300) - var(--spacing-300)); + } +} + +@media screen and (min-width: 1400px) { + body { + &.api-docs, &:has(#fsdocs-page-menu .empty) { + #content { + max-width: calc(var(--container-xxl) - var(--main-menu-width) - var(--spacing-300) - var(--spacing-300)); + } + } + } + + #content { + max-width: calc(var(--container-xxl) - var(--main-menu-width) - var(--page-menu-width) - var(--spacing-300) - var(--spacing-300)); + } +} + +@media screen and (min-width: 1800px) { + body { + &.api-docs, &:has(#fsdocs-page-menu .empty) { + #content { + max-width: calc(var(--container-xxxl) - var(--main-menu-width) - var(--spacing-300) - var(--spacing-300)); + } + } + } + + #content { + max-width: calc(var(--container-xxxl) - var(--main-menu-width) - var(--page-menu-width) - var(--spacing-300) - var(--spacing-300)); + } +} + +/* Headings */ +h1, h2, h3, h4, h5, h6 { + font-family: var(--heading-font-family); +} + +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: var(--heading-color); + text-decoration: none; +} + +h1 { + font-size: var(--font-600); + line-height: var(--heading-line-height); + margin-bottom: var(--spacing-400); + margin-top: var(--spacing-50); +} + +h2 { + font-size: var(--font-500); + line-height: var(--heading-line-height); + margin-top: var(--spacing-400); + margin-bottom: var(--spacing-300); +} + +h3 { + font-size: var(--font-400); + line-height: var(--heading-line-height); + margin-top: var(--spacing-300); + margin-bottom: var(--spacing-200); +} + +h4 { + font-weight: bold; +} + +h4, h5, h6 { + font-size: var(--font-300); + margin-top: var(--spacing-200); + margin-bottom: var(--spacing-200); +} + +@media screen and (min-width: 768px) { + h1 { + font-size: var(--font-800); + margin-bottom: var(--spacing-400); + line-height: var(--heading-line-height); + } + + h2 { + font-size: var(--font-700); + margin-top: var(--spacing-500); + margin-bottom: var(--spacing-400); + } + + h3 { + font-size: var(--font-600); + margin-top: var(--spacing-500); + margin-bottom: var(--spacing-200); + } + + h4 { + font-size: var(--font-500); + } + + h4, h5, h6 { + margin-top: var(--spacing-300); + } +} + +/* Common items */ +a { + color: var(--link-color); +} + +p { + line-height: 1.8; + margin-top: var(--spacing-300); +} + +ol, ul { + padding-left: var(--spacing-400); +} + +ol li, ul li { + margin: var(--spacing-100) 0; +} + +img { + max-width: 100%; +} + +#content > table { + margin: var(--spacing-300) 0; +} + +blockquote { + border-left: var(--spacing-50) solid var(--primary); + margin: var(--spacing-200) 0; + margin-left: var(--spacing-200); + padding: var(--spacing-100) var(--spacing-300); + background-color: var(--blockquote-bacground-color); + color: var(--blockquote-color); + + > p { + margin: 0; + padding: 0; + } +} + +@media screen and (min-width: 768px) { + blockquote { + margin-left: var(--spacing-400); + } +} + +/* Code snippets */ + +/* reset browser style */ +pre { + margin: 0; + padding: 0; +} + +code, table.pre, pre { + background-color: var(--code-background); + color: var(--code-color); + font-family: var(--monospace-font); + font-variant-ligatures: none; + font-size: var(--font-200); + -webkit-text-size-adjust: 100%; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + font-size: inherit; +} + +table.pre, #content > pre.fssnip { + border: 1px solid var(--code-fence-border-color); +} + +table.pre, pre.fssnip.highlighted { + margin: var(--spacing-300) 0; + padding: var(--spacing-200); +} + +table.pre .snippet pre.fssnip { + padding: 0; + margin: 0; +} + +p > code, li > code { + padding: 2px var(--spacing-50); +} + +table.pre, pre > code { + display: block; +} + +pre.fssnip > code { + max-width: initial; + margin-bottom: initial; +} + +/* avoid problems with transparent background colors */ +pre.fssnip.highlighted > code, table.pre .fssnip, table.pre .fssnip code { + background-color: transparent; +} + +/* Custom scrollbar styling */ +body, aside, #menu-toggle .menu, table.pre, code, +.fsdocs-entity-xmldoc > div > pre, div.fsdocs-summary > pre, +dialog ul, div.fsdocs-tip, .fsdocs-xmldoc > pre { + overflow-x: auto; + max-width: 100%; + + &::-webkit-scrollbar { + height: var(--spacing-100); + width: var(--spacing-100); + } + + &::-webkit-scrollbar-track { + background-color: var(--scrollbar-track-background); + border: 1px solid var(--scrollbar-track-border); + } + + &::-webkit-scrollbar-thumb { + background-color: var(--scrollbar-thumb-background); + } +} + +body, aside, #menu-toggle .menu, table.pre, code, +.fsdocs-entity-xmldoc > div > pre, div.fsdocs-summary > pre, +dialog ul, div.fsdocs-tip, .fsdocs-xmldoc > pre { + @media screen and (min-width: 768px) { + &::-webkit-scrollbar { + height: var(--spacing-200); + width: var(--spacing-300); + } + } +} + +table.pre, code, pre.fssnip { + border-radius: var(--radius); +} + +/* Code coloring */ +.param-name, +.return-name, +.param { + font-weight: 900; + font-size: var(--font-100); + font-family: var(--monospace-font); + font-variant-ligatures: none; +} + +.fssnip { + /* strings --- and stlyes for other string related formats */ + + & span.s { + color: var(--code-strings-color); + } + + /* printf formatters */ + + & span.pf { + color: var(--code-printf-color); + } + + /* escaped chars */ + + & span.e { + color: var(--code-escaped-color); + } + + /* identifiers --- and styles for more specific identifier types */ + + & span.id { + color: var(--code-identifiers-color);; + } + + /* module */ + + & span.m { + color: var(--code-module-color); + } + + /* reference type */ + + & span.rt { + color: var(--code-reference-color); + } + + /* value type */ + + & span.vt { + color: var(--code-value-color); + } + + /* interface */ + + & span.if { + color: var(--code-interface-color); + } + + /* type argument */ + + & span.ta { + color: var(--code-typearg-color); + } + + /* disposable */ + + & span.d { + color: var(--code-disposable-color); + } + + /* property */ + + & span.prop { + color: var(--code-property-color); + } + + /* punctuation */ + + & span.p { + color: var(--code-punctuation-color); + } + + & span.pn { + color: var(--code-punctuation2-color); + } + + /* function */ + + & span.f { + color: var(--code-function-color); + } + + & span.fn { + color: var(--code-function2-color); + } + + /* active pattern */ + + & span.pat { + color: var(--code-activepattern-color); + } + + /* union case */ + + & span.u { + color: var(--code-unioncase-color); + } + + /* enumeration */ + + & span.e { + color: var(--code-enumeration-color); + } + + /* keywords */ + + & span.k { + color: var(--code-keywords-color); + } + + /* comment */ + + & span.c { + color: var(--code-comment-color); + font-weight: 400; + font-style: italic; + } + + /* operators */ + + & span.o { + color: var(--code-operators-color); + } + + /* numbers */ + + & span.n { + color: var(--code-numbers-color); + } + + /* line number */ + + & span.l { + color: var(--code-linenumbers-color); + } + + /* mutable var or ref cell */ + + & span.v { + color: var(--code-mutable-color); + font-weight: bold; + } + + /* inactive code */ + + & span.inactive { + color: var(--code-inactive-color); + } + + /* preprocessor */ + + & span.prep { + color: var(--code-preprocessor-color); + } + + /* fsi output */ + + & span.fsi { + color: var(--code-fsioutput-color); + } +} + +/* tooltips */ +div.fsdocs-tip { + z-index: 1000; + display: none; + background-color: var(--doc-tip-background); + border-radius: var(--radius); + border: 1px solid var(--header-border); + padding: var(--spacing-200); + font-family: var(--monospace-font); + font-variant-ligatures: none; + color: var(--code-color); + box-shadow: 0 1px 1px var(--shadow-color); + + & code { + color: var(--code-color); + } +} + +span[onmouseout] { + cursor: pointer; +} + +/* API docs */ +#content > div > h2:first-child { + margin-top: 0; +} + +.fsdocs-member-list-header { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; +} + +.fsdocs-xmldoc { + & pre { + overflow-x: auto; + } +} + +.table { + width: 100%; + table-layout: fixed; + + & thead tr td { + font-weight: bold; + padding: var(--spacing-400) 0; + } + + & tr { + display: flex; + flex-flow: row wrap; + column-gap: var(--spacing-300); + + & td:first-of-type { + flex: 25 0 0; + min-width: var(--api-docs-first-column-min-width); + overflow-x: hidden; + text-overflow: ellipsis; + overflow-wrap: break-word; + + & p { + margin: unset; + } + } + + & td:nth-of-type(2) { + flex: 75 0 0; + min-width: var(--api-docs-second-column-min-width); + } + } + + & tbody td { + border-top: 1px solid var(--header-border); + padding: var(--spacing-300) 0; + } + + .fsdocs-entity-xmldoc { + > div { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; + + & p.fsdocs-summary { + margin: 0; + flex-grow: 1; + } + + & pre { + margin-bottom: var(--spacing-200); + padding: var(--spacing-50); + flex-grow: 1; + overflow-x: auto; + } + } + } + + .fsdocs-summary-contents { + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; + } + + .fsdocs-member-xmldoc-column { + width: 100%; + display: flex; + flex-direction: column; + justify-content: flex-start; + } + + .icon-button-row { + display: flex; + flex-direction: row; + justify-content: flex-end; + align-items: flex-start; + height: calc(-1 * var(--spacing-200)); + } + + .fsdocs-member-xmldoc { + & summary { + display: list-item; + counter-increment: list-item 0; + list-style: disclosure-closed outside; + cursor: pointer; + width: calc(100% - var(--spacing-300)); + margin-left: var(--spacing-300); + + > .fsdocs-summary { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; + + & p.fsdocs-summary { + margin: 0; + flex-grow: 1; + } + + & pre { + margin-bottom: var(--spacing-200); + padding: var(--spacing-50); + flex-grow: 1; + overflow-x: auto; + } + } + } + + & details[open] summary { + list-style-type: disclosure-open; + margin-bottom: var(--spacing-200); + } + + .fsdocs-returns, .fsdocs-params { + margin: var(--spacing-200) 0 var(--spacing-200) var(--spacing-300); + + &:first-child { + margin-top: 0; + } + + &:last-child { + margin-bottom: 0; + } + } + + .fsdocs-return-name, .fsdocs-param-name { + font-weight: 500; + } + + .fsdocs-param-docs p { + margin: var(--spacing-200) 0; + } + + > div.fsdocs-summary { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; + margin: 0 0 0 var(--spacing-300); + + & p { + margin: 0; + } + } + } +} + +.fsdocs-source-link { + display: none; + padding: 0 var(--spacing-100); + color: var(--text-color); + cursor: pointer; + height: var(--font-500); + width: var(--font-500); + margin: 0 var(--spacing-50); + + &:hover { + color: var(--primary); + } +} + +@media screen and (min-width: 768px) { + .fsdocs-source-link { + display: block; + } +} + +/* Search */ +::backdrop { + background-color: #020202; + opacity: 0.5; +} + +dialog { + background-color: var(--dialog-background-color); + margin: var(--spacing-700) auto; + padding: var(--spacing-100); + border: none; + opacity: 0; + visibility: hidden; + transition: all 0.2s ease-in-out; + border-radius: var(--radius); + width: var(--dialog-width); + + &[open] { + opacity: 1; + visibility: visible; + } + + & input[type=search] { + margin: 0; + display: block; + width: 100%; + padding: var(--spacing-200); + outline: 1px solid var(--primary); + border-radius: var(--radius); + border: none; + + &::placeholder { + font-size: var(--font-400); + } + } + + .empty { + color: var(--dialog-empty-color); + text-align: center; + font-size: var(--font-100); + margin: var(--spacing-100); + margin-bottom: 0; + } + + & ul { + overflow-y: auto; + max-height: calc(50vh - var(--spacing-700) - var(--spacing-700)); + list-style: none; + padding: 0; + + & li { + margin: 0; + border-bottom: 1px solid var(--header-border); + + &:hover { + & a, & a iconify-icon { + background-color: var(--dialog-link-hover-background-color); + color: var(--dialog-link-hover-color); + } + } + + & a { + display: flex; + padding: var(--spacing-300); + overflow-x: hidden; + color: var(--dialog-link-color); + + & iconify-icon { + color: var(--dialog-icon-color); + width: 24px; + margin-right: var(--spacing-200); + } + } + } + } +} + +/* Variables don't seem to work on ::backdrop */ +[data-theme=dark] { + ::backdrop { + opacity: 0.75; + } +} diff --git a/content/fsdocs-details-set-expanded.js b/content/fsdocs-details-set-expanded.js new file mode 100644 index 000000000..f1518cd1e --- /dev/null +++ b/content/fsdocs-details-set-expanded.js @@ -0,0 +1,9 @@ +const expandDetails = !!JSON.parse(localStorage.getItem('details-expanded')); + +addEventListener('load', _ => { + if (expandDetails) { + for (const details of document.getElementsByTagName('details')) { + details.setAttribute('open', 'true'); + } + } +}); diff --git a/content/fsdocs-details-toggle.js b/content/fsdocs-details-toggle.js new file mode 100644 index 000000000..b8a3f67b5 --- /dev/null +++ b/content/fsdocs-details-toggle.js @@ -0,0 +1,46 @@ +import { LitElement, html, css } from 'https://cdn.jsdelivr.net/gh/lit/dist@3/core/lit-core.min.js'; + +const detailsExpanded = !!JSON.parse(localStorage.getItem('details-expanded')); + +export class DetailsToggle extends LitElement { + static properties = { + _detailsExpanded: { state: true, type: Boolean }, + }; + + constructor() { + super(); + this._detailsExpanded = detailsExpanded; + document.addEventListener('detailstoggled', e => this._detailsExpanded = !!e?.detail?.expanding); + } + + static styles = css` + :host { + cursor: pointer; + } + `; + + toggleDetails() { + this._detailsExpanded = !this._detailsExpanded; + localStorage.setItem('details-expanded', JSON.stringify(this._detailsExpanded)); + if (this._detailsExpanded) { + for (const details of document.getElementsByTagName('details')) { + details.setAttribute('open', 'true'); + } + } else { + for (const details of document.getElementsByTagName('details')) { + details.removeAttribute('open'); + } + } + document.dispatchEvent(new CustomEvent('detailstoggled', { detail: { expanding: this._detailsExpanded } })); + } + + render() { + const icon = this._detailsExpanded ? 'carbon:collapse-categories' : 'carbon:expand-categories'; + const title = this._detailsExpanded ? 'Collapse details' : 'Expand details'; + return html` + + `; + } +} + +customElements.define('fsdocs-details-toggle', DetailsToggle); diff --git a/content/fsdocs-search.js b/content/fsdocs-search.js new file mode 100644 index 000000000..9e4c21de2 --- /dev/null +++ b/content/fsdocs-search.js @@ -0,0 +1,126 @@ +import Fuse from "https://esm.sh/fuse.js@7.0.0"; + +const searchBtn = document.querySelector("#search-btn"); + +function hideSearchBtn() { + // Hide search icon if we can't search in the first place. + searchBtn.style.display = 'none'; +} + +function debounce(mainFunction, delay) { + // Declare a variable called 'timer' to store the timer ID + let timer; + + // Return an anonymous function that takes in any number of arguments + return function (...args) { + // Clear the previous timer to prevent the execution of 'mainFunction' + clearTimeout(timer); + + // Set a new timer that will execute 'mainFunction' after the specified delay + timer = setTimeout(() => { + mainFunction(...args); + }, delay); + }; +} + +const root = document.documentElement.getAttribute("data-root"); +if (root && searchBtn) { + let fuse = null; + const searchIndexUrl = `${root}/index.json`; + fetch(searchIndexUrl, {}) + .then(response => response.json()) + .then(index => { + fuse = new Fuse(index, { + includeScore: true, + keys: ['uri', 'title', 'content', 'headings'], + includeMatches: true, + limit: 20, + ignoreLocation: true, + threshold: 0.6, + minMatchCharLength: 2, + ignoreFieldNorm: true, + shouldSort: true + }); + }) + .catch(() => { + hideSearchBtn(); + }) + + const searchDialog = document.querySelector("dialog"); + const empty = document.querySelector("dialog .empty"); + const resultsElement = document.querySelector("dialog ul"); + const searchBox = document.querySelector("dialog input[type=search]"); + + searchBtn.addEventListener("click", () => { + searchDialog.showModal(); + }) + + searchDialog.addEventListener("click", ev => { + if (ev.target.tagName === "DIALOG") { + searchBox.value = ''; + searchDialog.close() + } + }) + + function searchAux(searchTerm) { + if (!fuse) return; + + const results = fuse.search(searchTerm); + if (results.length === 0) { + clearResults(); + empty.textContent = "No results were found"; + } else { + if (location.hostname === 'localhost'){ + console.table(results); + } + + empty.style.display = 'none'; + const newResultNodes = + results + .map(result => { + const item = result.item; + const li = document.createElement("li"); + const a = document.createElement("a"); + a.setAttribute("href", item.uri); + const icon = document.createElement("iconify-icon"); + icon.setAttribute("width", "24"); + icon.setAttribute("height", "24"); + icon.setAttribute("icon", item.type === "content" ? "iconoir:page" : "bxs:file-doc") + a.append(icon, item.title); + li.appendChild(a); + return li; + }); + resultsElement.replaceChildren(...newResultNodes); + } + } + + const search = debounce(searchAux, 250); + + function clearResults() { + empty.style.display = 'block'; + resultsElement.replaceChildren(); + } + + searchBox.addEventListener('keyup', ev => { + ev.stopPropagation(); + const searchTerm = ev.target.value; + if (!searchTerm) { + empty.textContent = "Type something to start searching."; + clearResults(); + } else { + search(searchTerm); + } + }); + + window.addEventListener('keyup', ev => { + if (ev.key === 'Escape' && searchDialog.open) { + searchDialog.close(); + } + + if (ev.key === '/' && !searchDialog.open) { + searchDialog.showModal(); + } + }) +} else { + hideSearchBtn(); +} diff --git a/content/fsdocs-theme-set-dark.js b/content/fsdocs-theme-set-dark.js new file mode 100644 index 000000000..b6eeaba3f --- /dev/null +++ b/content/fsdocs-theme-set-dark.js @@ -0,0 +1,5 @@ +const prefersDark = window.matchMedia("@media (prefers-color-scheme: dark)").matches; +let currentTheme = localStorage.getItem('theme') ?? (prefersDark ? 'dark' : 'light'); +if (currentTheme === 'dark') { + window.document.documentElement.setAttribute("data-theme", 'dark'); +} diff --git a/content/fsdocs-theme-toggle.js b/content/fsdocs-theme-toggle.js new file mode 100644 index 000000000..5e32f9e3c --- /dev/null +++ b/content/fsdocs-theme-toggle.js @@ -0,0 +1,38 @@ +import {LitElement, html, css} from 'https://cdn.jsdelivr.net/gh/lit/dist@3/core/lit-core.min.js'; + +const prefersDark = window.matchMedia("@media (prefers-color-scheme: dark)").matches; +let currentTheme = localStorage.getItem('theme') ?? (prefersDark ? 'dark' : 'light'); + +export class ThemeToggle extends LitElement { + static properties = { + _theme: {state: true, type: String}, + }; + + constructor() { + super(); + this._theme = currentTheme; + } + + static styles = css` + :host { + cursor: pointer; + box-sizing: border-box; + transform: translateY(3px); + } + `; + + changeTheme() { + this._theme = this._theme === 'light' ? 'dark' : 'light'; + localStorage.setItem('theme', this._theme); + window.document.documentElement.setAttribute("data-theme", this._theme); + } + + render() { + const icon = this._theme === 'light' ? 'basil:moon-solid' : 'basil:sun-solid'; + return html` + + `; + } +} + +customElements.define('fsdocs-theme-toggle', ThemeToggle); diff --git a/content/fsdocs-theme.css b/content/fsdocs-theme.css new file mode 100644 index 000000000..cd0e6a975 --- /dev/null +++ b/content/fsdocs-theme.css @@ -0,0 +1 @@ +/* Override any variables here */ \ No newline at end of file diff --git a/content/fsdocs-theme.js b/content/fsdocs-theme.js new file mode 100644 index 000000000..eea7d521f --- /dev/null +++ b/content/fsdocs-theme.js @@ -0,0 +1,35 @@ +// Automatically scroll to the active aside menu item. +const mainMenu = document.getElementById('fsdocs-main-menu'); +function scrollToActiveItem(activeItem) { + const halfMainMenuHeight = mainMenu.offsetHeight / 2 + if(activeItem.offsetTop > halfMainMenuHeight){ + mainMenu.scrollTop = (activeItem.offsetTop - halfMainMenuHeight) - (activeItem.offsetHeight / 2); + } +} + +const activeItem = document.querySelector("aside .nav-item.active"); +if (activeItem && mainMenu) { + scrollToActiveItem(activeItem); +} + +function scrollToAndExpandSelectedMember() { + if (location.hash) { + const details = document.querySelector(`tr > td.fsdocs-member-usage:has(a[href='${location.hash}']) ~ td.fsdocs-member-xmldoc > details`); + details?.setAttribute('open', 'true'); + const header = document.querySelector(`a[href='${location.hash}']`); + header?.scrollIntoView({ behavior: 'instant'}); + } +} + +scrollToAndExpandSelectedMember(); +addEventListener('hashchange', scrollToAndExpandSelectedMember); + +if(location.pathname.startsWith('/reference/')) { + // Scroll to API Reference header + const navHeaders = document.querySelectorAll(".nav-header"); + for (const navHeader of navHeaders) { + if (navHeader.textContent && navHeader.textContent.trim() === 'API Reference') { + scrollToActiveItem(navHeader); + } + } +} \ No newline at end of file diff --git a/content/fsdocs-tips.js b/content/fsdocs-tips.js new file mode 100644 index 000000000..787e183f4 --- /dev/null +++ b/content/fsdocs-tips.js @@ -0,0 +1,59 @@ +let currentTip = null; +let currentTipElement = null; + +function hideTip(evt, name, unique) { + const el = document.getElementById(name); + el.style.display = "none"; + currentTip = null; +} + +function hideUsingEsc(e) { + hideTip(e, currentTipElement, currentTip); +} + +function showTip(evt, name, unique, owner) { + document.onkeydown = hideUsingEsc; + if (currentTip === unique) return; + currentTip = unique; + currentTipElement = name; + + const offset = 20; + let x = evt.clientX; + let y = evt.clientY + offset; + + const el = document.getElementById(name); + el.style.position = "absolute"; + el.style.display = "block"; + el.style.left = `${x}px`; + el.style.top = `${y}px`; + const maxWidth = document.documentElement.clientWidth - x - 16; + el.style.maxWidth = `${maxWidth}px`; + + const rect = el.getBoundingClientRect(); + // Move tooltip if it is out of sight + if(rect.bottom > window.innerHeight) { + y = y - el.clientHeight - offset; + el.style.top = `${y}px`; + } + + if (rect.right > window.innerWidth) { + x = y - el.clientWidth - offset; + el.style.left = `${x}px`; + const maxWidth = document.documentElement.clientWidth - x - 16; + el.style.maxWidth = `${maxWidth}px`; + } +} + +function Clipboard_CopyTo(value) { + const tempInput = document.createElement("input"); + tempInput.value = value; + document.body.appendChild(tempInput); + tempInput.select(); + document.execCommand("copy"); + document.body.removeChild(tempInput); +} + +window.showTip = showTip; +window.hideTip = hideTip; +// Used by API documentation +window.Clipboard_CopyTo = Clipboard_CopyTo; \ No newline at end of file diff --git a/content/img/github-pages-settings.png b/content/img/github-pages-settings.png new file mode 100644 index 000000000..a7657705d Binary files /dev/null and b/content/img/github-pages-settings.png differ diff --git a/img/favicon.ico b/img/favicon.ico new file mode 100644 index 000000000..1b43557a9 Binary files /dev/null and b/img/favicon.ico differ diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 000000000..f98449050 Binary files /dev/null and b/img/logo.png differ diff --git a/index.html b/index.html new file mode 100644 index 000000000..ea90ad550 --- /dev/null +++ b/index.html @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + F# Core Library Documentation + | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+

F# Core Library Documentation

+

This site contains the documentation for the FSharp.Core library used in all F# code.

+

FSharp.Core contains functionality for basic F# definitions, operations for collections such as lists, maps and sequences, +and library functionality for quotations, reflections, events, asynchronous programming and native interoperability.

+

The following namespaces are available:

+ +

Contributing to this documentation

+

To contribute to this documentation site and its content, please see the notes in the corresponding GitHub repository.

+ + +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/index.json b/index.json new file mode 100644 index 000000000..902a5cdd2 --- /dev/null +++ b/index.json @@ -0,0 +1 @@ +[{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections.html","title":"FSharp.Collections","content":"Array \nArray2D \nArray3D \nArray4D \nComparisonIdentity \nHashIdentity \nList \nMap \nSeq \nSet \nList \nMap\u003C\u0027Key, \u0027Value\u003E \nSet\u003C\u0027T\u003E \nSet \n\u0027T list \n\u0027T seq","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control.html","title":"FSharp.Control","content":"AsyncPrimitives \nCommonExtensions \nEvent \nLazyExtensions \nObservable \nTaskBuilder \nWebExtensions \nAsync\u003C\u0027T\u003E \nAsync \nAsyncActivation\u003C\u0027T\u003E \nAsyncBuilder \nAsyncReplyChannel\u003C\u0027Reply\u003E \nAsyncReturn \nBackgroundTaskBuilder \nDelegateEvent\u003C\u0027Delegate\u003E \nEvent\u003C\u0027Delegate, \u0027Args\u003E \nEvent\u003C\u0027T\u003E \nHandler\u003C\u0027T\u003E \nIDelegateEvent\u003C\u0027Delegate\u003E \nIEvent\u003C\u0027Delegate, \u0027Args\u003E \nIEvent\u003C\u0027T\u003E \nMailboxProcessor\u003C\u0027Msg\u003E \nTaskBuilder \nTaskBuilderBase \nTaskCode\u003C\u0027TOverall, \u0027T\u003E \nTaskResumptionFunc\u003C\u0027TOverall\u003E \nTaskStateMachine\u003C\u0027TOverall\u003E \nTaskStateMachineData\u003C\u0027T\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions.html","title":"FSharp.Control.TaskBuilderExtensions","content":"HighPriority \nLowPriority \nMediumPriority","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core.html","title":"FSharp.Core","content":"ByRefKinds \nExtraTopLevelOperators \nLanguagePrimitives \nNumericLiterals \nOperators \nOptimizedClosures \nOption \nPrintf \nResult \nString \nValueOption \nAbstractClassAttribute \nAllowNullLiteralAttribute \nAutoOpenAttribute \nAutoSerializableAttribute \nCLIEventAttribute \nCLIMutableAttribute \nChoice\u003C\u0027T1, \u0027T2\u003E \nChoice\u003C\u0027T1, \u0027T2, \u0027T3\u003E \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E \nClassAttribute \nComparisonConditionalOnAttribute \nCompilationArgumentCountsAttribute \nCompilationMappingAttribute \nCompilationRepresentationAttribute \nCompilationRepresentationFlags \nCompilationSourceNameAttribute \nCompiledNameAttribute \nCompilerMessageAttribute \nCustomComparisonAttribute \nCustomEqualityAttribute \nCustomOperationAttribute \nDefaultAugmentationAttribute \nDefaultValueAttribute \nEntryPointAttribute \nEqualityConditionalOnAttribute \nExperimentalAttribute \nFSharpFunc\u003C\u0027T, \u0027U\u003E \nFSharpInterfaceDataVersionAttribute \nFSharpTypeFunc \nFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E \nFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E \nFuncConvert \nGeneralizableValueAttribute \nInlineIfLambdaAttribute \nInterfaceAttribute \nLiteralAttribute \nMatchFailureException \nMeasureAnnotatedAbbreviationAttribute \nMeasureAttribute \nNoComparisonAttribute \nNoCompilerInliningAttribute \nNoDynamicInvocationAttribute \nNoEqualityAttribute \nOption\u003C\u0027T\u003E \nOptionalArgumentAttribute \nPrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E \nPrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E \nProjectionParameterAttribute \nRef\u003C\u0027T\u003E \nReferenceEqualityAttribute \nReflectedDefinitionAttribute \nRequireQualifiedAccessAttribute \nRequiresExplicitTypeArgumentsAttribute \nResult\u003C\u0027T, \u0027TError\u003E \nSealedAttribute \nSourceConstructFlags \nStructAttribute \nStructuralComparisonAttribute \nStructuralEqualityAttribute \nStructuredFormatDisplayAttribute \nTailCallAttribute \nUnit \nUnverifiableAttribute \nValueOption\u003C\u0027T\u003E \nVolatileFieldAttribute \nWarnOnWithoutNullArgumentAttribute \n\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,,] \n\u0027T [,,,,,,,,,,] \n\u0027T [,,,,,,,,,] \n\u0027T [,,,,,,,,] \n\u0027T [,,,,,,,] \n\u0027T [,,,,,,] \n\u0027T [,,,,,] \n\u0027T [,,,,] \n\u0027T [,,,] \n\u0027T [,,] \n\u0027T [,] \n\u0027T [] \n\u0027T array \nbool \nbyref\u003C\u0027T, \u0027Kind\u003E \nbyref\u003C\u0027T\u003E \nbyte\u003C\u0027Measure\u003E \nbyte \nchar \ndecimal\u003C\u0027Measure\u003E \ndouble\u003C\u0027Measure\u003E \ndouble \nfloat\u003C\u0027Measure\u003E \nfloat \nfloat32\u003C\u0027Measure\u003E \nfloat32 \nilsigptr\u003C\u0027T\u003E \ninref\u003C\u0027T\u003E \nint\u003C\u0027Measure\u003E \nint \nint16\u003C\u0027Measure\u003E \nint16 \nint32\u003C\u0027Measure\u003E \nint32 \nint64\u003C\u0027Measure\u003E \nint64 \nint8\u003C\u0027Measure\u003E \nint8 \nnativeint\u003C\u0027Measure\u003E \nnativeptr\u003C\u0027T\u003E \nobj \nobjnull \n\u0027T option \noutref\u003C\u0027T\u003E \n\u0027T ref \nsbyte\u003C\u0027Measure\u003E \nsbyte \nsingle\u003C\u0027Measure\u003E \nsingle \nuint\u003C\u0027Measure\u003E \nuint \nuint16\u003C\u0027Measure\u003E \nuint16 \nuint32\u003C\u0027Measure\u003E \nuint32 \nuint64\u003C\u0027Measure\u003E \nuint64 \nuint8\u003C\u0027Measure\u003E \nuint8 \nunativeint\u003C\u0027Measure\u003E \nunit \nvoidptr \n\u0027T voption","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices.html","title":"FSharp.Core.CompilerServices","content":"ResumableCode \nRuntimeHelpers \nStateMachineHelpers \nAfterCode\u003C\u0027Data, \u0027Result\u003E \nArrayCollector\u003C\u0027T\u003E \nGeneratedSequenceBase\u003C\u0027T\u003E \nIProvidedNamespace \nIResumableStateMachine\u003C\u0027Data\u003E \nITypeProvider \nITypeProvider2 \nListCollector\u003C\u0027T\u003E \nMeasureInverse\u003C\u0027Measure\u003E \nMeasureOne \nMeasureProduct\u003C\u0027Measure1, \u0027Measure2\u003E \nMoveNextMethodImpl\u003C\u0027Data\u003E \nNoEagerConstraintApplicationAttribute \nResumableCode\u003C\u0027Data, \u0027T\u003E \nResumableStateMachine\u003C\u0027Data\u003E \nResumptionDynamicInfo\u003C\u0027Data\u003E \nResumptionFunc\u003C\u0027Data\u003E \nSetStateMachineMethodImpl\u003C\u0027Data\u003E \nTypeProviderAssemblyAttribute \nTypeProviderAttribute \nTypeProviderConfig \nTypeProviderDefinitionLocationAttribute \nTypeProviderEditorHideMethodsAttribute \nTypeProviderTypeAttributes \nTypeProviderXmlDocAttribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames.html","title":"FSharp.Data.UnitSystems.SI.UnitNames","content":"ampere \nbecquerel \ncandela \ncoulomb \nfarad \ngray \nhenry \nhertz \njoule \nkatal \nkelvin \nkilogram \nlumen \nlux \nmeter \nmetre \nmole \nnewton \nohm \npascal \nsecond \nsiemens \nsievert \ntesla \nvolt \nwatt \nweber","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols.html","title":"FSharp.Data.UnitSystems.SI.UnitSymbols","content":"A \nBq \nC \nF \nGy \nH \nHz \nJ \nK \nN \nPa \nS \nSv \nT \nV \nW \nWb \ncd \nkat \nkg \nlm \nlx \nm \nmol \nohm \ns","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq.html","title":"FSharp.Linq","content":"Nullable \nNullableOperators \nQueryBuilder \nQuerySource\u003C\u0027T, \u0027Q\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-queryrunextensions.html","title":"FSharp.Linq.QueryRunExtensions","content":"HighPriority \nLowPriority","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers.html","title":"FSharp.Linq.RuntimeHelpers","content":"LeafExpressionConverter \nAnonymousObject\u003C\u0027T1\u003E \nAnonymousObject\u003C\u0027T1, \u0027T2\u003E \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E \nGrouping\u003C\u0027K, \u0027T\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop.html","title":"FSharp.NativeInterop","content":"NativePtr","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations.html","title":"FSharp.Quotations","content":"DerivedPatterns \nExprShape \nPatterns \nExpr \nExpr\u003C\u0027T\u003E \nVar","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection.html","title":"FSharp.Reflection","content":"FSharpReflectionExtensions \nFSharpType \nFSharpValue \nUnionCaseInfo","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html","title":"Array","content":"Array \nContains operations for working with arrays. \n\n See also \u003Ca href=\u0022https://learn.microsoft.com/dotnet/fsharp/language-reference/arrays\u0022\u003EF# Language Guide - Arrays\u003C/a\u003E.\n \nArray.Parallel \nParallel \nArray.allPairs \nallPairs \nArray.append \nappend \nArray.average \naverage \nArray.averageBy \naverageBy \nArray.blit \nblit \nArray.collect \ncollect \nArray.compareWith \ncompareWith \nArray.concat \nconcat \nArray.contains \ncontains \nArray.copy \ncopy \nArray.countBy \ncountBy \nArray.create \ncreate \nArray.tryHead \ntryHead \nArray.tryPick \ntryPick \nArray.fill \nfill \nArray.pick \npick \nArray.choose \nchoose \nArray.chunkBySize \nchunkBySize \nArray.distinct \ndistinct \nArray.distinctBy \ndistinctBy \nArray.splitInto \nsplitInto \nArray.empty \nempty \nArray.exactlyOne \nexactlyOne \nArray.tryExactlyOne \ntryExactlyOne \nArray.except \nexcept \nArray.exists \nexists \nArray.exists2 \nexists2 \nArray.filter \nfilter \nArray.find \nfind \nArray.findBack \nfindBack \nArray.findIndex \nfindIndex \nArray.findIndexBack \nfindIndexBack \nArray.forall \nforall \nArray.forall2 \nforall2 \nArray.fold \nfold \nArray.foldBack \nfoldBack \nArray.fold2 \nfold2 \nArray.foldBack2 \nfoldBack2 \nArray.get \nget \nArray.head \nhead \nArray.groupBy \ngroupBy \nArray.indexed \nindexed \nArray.init \ninit \nArray.zeroCreate \nzeroCreate \nArray.isEmpty \nisEmpty \nArray.iter \niter \nArray.iter2 \niter2 \nArray.iteri \niteri \nArray.iteri2 \niteri2 \nArray.last \nlast \nArray.item \nitem \nArray.length \nlength \nArray.tryLast \ntryLast \nArray.map \nmap \nArray.map2 \nmap2 \nArray.mapFold \nmapFold \nArray.mapFoldBack \nmapFoldBack \nArray.map3 \nmap3 \nArray.mapi2 \nmapi2 \nArray.mapi \nmapi \nArray.max \nmax \nArray.maxBy \nmaxBy \nArray.min \nmin \nArray.minBy \nminBy \nArray.ofList \nofList \nArray.ofSeq \nofSeq \nArray.pairwise \npairwise \nArray.partition \npartition \nArray.permute \npermute \nArray.reduce \nreduce \nArray.reduceBack \nreduceBack \nArray.replicate \nreplicate \nArray.rev \nrev \nArray.scan \nscan \nArray.scanBack \nscanBack \nArray.singleton \nsingleton \nArray.set \nset \nArray.skip \nskip \nArray.skipWhile \nskipWhile \nArray.sub \nsub \nArray.sort \nsort \nArray.sortBy \nsortBy \nArray.sortWith \nsortWith \nArray.sortInPlaceBy \nsortInPlaceBy \nArray.sortInPlaceWith \nsortInPlaceWith \nArray.sortInPlace \nsortInPlace \nArray.splitAt \nsplitAt \nArray.sortDescending \nsortDescending \nArray.sortByDescending \nsortByDescending \nArray.sum \nsum \nArray.sumBy \nsumBy \nArray.take \ntake \nArray.takeWhile \ntakeWhile \nArray.tail \ntail \nArray.toList \ntoList \nArray.toSeq \ntoSeq \nArray.transpose \ntranspose \nArray.truncate \ntruncate \nArray.tryFind \ntryFind \nArray.tryFindBack \ntryFindBack \nArray.tryFindIndex \ntryFindIndex \nArray.tryItem \ntryItem \nArray.tryFindIndexBack \ntryFindIndexBack \nArray.unfold \nunfold \nArray.unzip \nunzip \nArray.unzip3 \nunzip3 \nArray.where \nwhere \nArray.windowed \nwindowed \nArray.zip \nzip \nArray.zip3 \nzip3 \nArray.removeAt \nremoveAt \nArray.removeManyAt \nremoveManyAt \nArray.updateAt \nupdateAt \nArray.insertAt \ninsertAt \nArray.insertManyAt \ninsertManyAt \nArray.randomShuffle \nrandomShuffle \nArray.randomShuffleWith \nrandomShuffleWith \nArray.randomShuffleBy \nrandomShuffleBy \nArray.randomShuffleInPlace \nrandomShuffleInPlace \nArray.randomShuffleInPlaceWith \nrandomShuffleInPlaceWith \nArray.randomShuffleInPlaceBy \nrandomShuffleInPlaceBy \nArray.randomChoice \nrandomChoice \nArray.randomChoiceWith \nrandomChoiceWith \nArray.randomChoiceBy \nrandomChoiceBy \nArray.randomChoices \nrandomChoices \nArray.randomChoicesWith \nrandomChoicesWith \nArray.randomChoicesBy \nrandomChoicesBy \nArray.randomSample \nrandomSample \nArray.randomSampleWith \nrandomSampleWith \nArray.randomSampleBy \nrandomSampleBy","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#allPairs","title":"Array.allPairs","content":"Array.allPairs \nallPairs \nReturns a new array that contains all pairings of elements from the first and second arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#append","title":"Array.append","content":"Array.append \nappend \nBuilds a new array that contains the elements of the first array followed by the elements of the second array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#average","title":"Array.average","content":"Array.average \naverage \nReturns the average of the elements in the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#averageBy","title":"Array.averageBy","content":"Array.averageBy \naverageBy \nReturns the average of the elements generated by applying the function to each element of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#blit","title":"Array.blit","content":"Array.blit \nblit \nReads a range of elements from the first array and write them into the second. \n\n Slicing syntax is generally preferred, e.g.\n \u003Cpre class=\u0022fssnip highlighted\u0022\u003E\u003Ccode lang=\u0022fsharp\u0022\u003E \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 1)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 1)\u0022 class=\u0022id\u0022\u003Esource\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[|\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E12\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E13\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E14\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E|]\u003C/span\u003E\r\n \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 2)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 2)\u0022 class=\u0022id\u0022\u003Etarget\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[|\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E0\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E1\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E4\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E5\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E|]\u003C/span\u003E\r\n \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 3)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 3)\u0022 class=\u0022id\u0022\u003Etarget\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E3..\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E4\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E \u003Cspan class=\u0022k\u0022\u003E\u0026lt;-\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 4)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 4)\u0022 class=\u0022id\u0022\u003Esource\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E1..\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\r\n\u003C/code\u003E\u003C/pre\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs1\u0022\u003Eval source: int array\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs2\u0022\u003Eval target: int array\u003C/div\u003E\r\n\r\n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#collect","title":"Array.collect","content":"Array.collect \ncollect \nFor each element of the array, applies the given function. Concatenates all the results and return the combined array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#compareWith","title":"Array.compareWith","content":"Array.compareWith \ncompareWith \nCompares two arrays using the given comparison function, element by element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#concat","title":"Array.concat","content":"Array.concat \nconcat \nBuilds a new array that contains the elements of each of the given sequence of arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#contains","title":"Array.contains","content":"Array.contains \ncontains \nTests if the array contains the specified element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#copy","title":"Array.copy","content":"Array.copy \ncopy \nBuilds a new array that contains the elements of the given array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#countBy","title":"Array.countBy","content":"Array.countBy \ncountBy \nApplies a key-generating function to each element of an array and returns an array yielding unique\n keys and their number of occurrences in the original array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#create","title":"Array.create","content":"Array.create \ncreate \nCreates an array whose elements are all initially the given value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#tryHead","title":"Array.tryHead","content":"Array.tryHead \ntryHead \nReturns the first element of the array, or\n \u003Ccode\u003ENone\u003C/code\u003E if the array is empty.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#tryPick","title":"Array.tryPick","content":"Array.tryPick \ntryPick \nApplies the given function to successive elements, returning the first\n result where the function returns \u003Ccode\u003ESome(x)\u003C/code\u003E for some \u003Ccode\u003Ex\u003C/code\u003E. If the function\n never returns \u003Ccode\u003ESome(x)\u003C/code\u003E then \u003Ccode\u003ENone\u003C/code\u003E is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#fill","title":"Array.fill","content":"Array.fill \nfill \nFills a range of elements of the array with the given value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#pick","title":"Array.pick","content":"Array.pick \npick \nApplies the given function to successive elements, returning the first\n result where the function returns \u003Ccode\u003ESome(x)\u003C/code\u003E for some \u003Ccode\u003Ex\u003C/code\u003E. If the function\n never returns \u003Ccode\u003ESome(x)\u003C/code\u003E then \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.keynotfoundexception\u0022\u003EKeyNotFoundException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#choose","title":"Array.choose","content":"Array.choose \nchoose \nApplies the given function to each element of the array. Returns\n the array comprised of the results \u003Ccode\u003Ex\u003C/code\u003E for each element where\n the function returns \u003Ccode\u003ESome(x)\u003C/code\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#chunkBySize","title":"Array.chunkBySize","content":"Array.chunkBySize \nchunkBySize \nDivides the input array into chunks of size at most \u003Ccode\u003EchunkSize\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#distinct","title":"Array.distinct","content":"Array.distinct \ndistinct \nReturns an array that contains no duplicate entries according to generic hash and\n equality comparisons on the entries.\n If an element occurs multiple times in the array then the later occurrences are discarded.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#distinctBy","title":"Array.distinctBy","content":"Array.distinctBy \ndistinctBy \nReturns an array that contains no duplicate entries according to the\n generic hash and equality comparisons on the keys returned by the given key-generating function.\n If an element occurs multiple times in the array then the later occurrences are discarded.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#splitInto","title":"Array.splitInto","content":"Array.splitInto \nsplitInto \nSplits the input array into at most \u003Ccode\u003Ecount\u003C/code\u003E chunks.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#empty","title":"Array.empty","content":"Array.empty \nempty \nReturns an empty array of the given type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#exactlyOne","title":"Array.exactlyOne","content":"Array.exactlyOne \nexactlyOne \nReturns the only element of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#tryExactlyOne","title":"Array.tryExactlyOne","content":"Array.tryExactlyOne \ntryExactlyOne \nReturns the only element of the array or \u003Ccode\u003ENone\u003C/code\u003E if array is empty or contains more than one element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#except","title":"Array.except","content":"Array.except \nexcept \nReturns a new list with the distinct elements of the input array which do not appear in the itemsToExclude sequence,\n using generic hash and equality comparisons to compare values.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#exists","title":"Array.exists","content":"Array.exists \nexists \nTests if any element of the array satisfies the given predicate. \nThe predicate is applied to the elements of the input array. If any application\n returns true then the overall result is true and no further elements are tested.\n Otherwise, false is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#exists2","title":"Array.exists2","content":"Array.exists2 \nexists2 \nTests if any pair of corresponding elements of the arrays satisfies the given predicate. \nThe predicate is applied to matching elements in the two collections up to the lesser of the\n two lengths of the collections. If any application returns true then the overall result is\n true and no further elements are tested. Otherwise, if one collections is longer\n than the other then the \u003Ccode\u003EArgumentException\u003C/code\u003E exception is raised.\n Otherwise, false is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#filter","title":"Array.filter","content":"Array.filter \nfilter \nReturns a new collection containing only the elements of the collection\n for which the given predicate returns \u0022true\u0022.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#find","title":"Array.find","content":"Array.find \nfind \nReturns the first element for which the given function returns \u0027true\u0027.\n Raise \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.keynotfoundexception\u0022\u003EKeyNotFoundException\u003C/a\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#findBack","title":"Array.findBack","content":"Array.findBack \nfindBack \nReturns the last element for which the given function returns \u0027true\u0027.\n Raise \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.keynotfoundexception\u0022\u003EKeyNotFoundException\u003C/a\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#findIndex","title":"Array.findIndex","content":"Array.findIndex \nfindIndex \nReturns the index of the first element in the array\n that satisfies the given predicate. Raise \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.keynotfoundexception\u0022\u003EKeyNotFoundException\u003C/a\u003E if\n none of the elements satisfy the predicate.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#findIndexBack","title":"Array.findIndexBack","content":"Array.findIndexBack \nfindIndexBack \nReturns the index of the last element in the array\n that satisfies the given predicate. Raise \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.keynotfoundexception\u0022\u003EKeyNotFoundException\u003C/a\u003E if\n none of the elements satisfy the predicate.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#forall","title":"Array.forall","content":"Array.forall \nforall \nTests if all elements of the array satisfy the given predicate. \nThe predicate is applied to the elements of the input collection. If any application\n returns false then the overall result is false and no further elements are tested.\n Otherwise, true is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#forall2","title":"Array.forall2","content":"Array.forall2 \nforall2 \nTests if all corresponding elements of the array satisfy the given predicate pairwise. \nThe predicate is applied to matching elements in the two collections up to the lesser of the\n two lengths of the collections. If any application returns false then the overall result is\n false and no further elements are tested. Otherwise, if one collection is longer\n than the other then the \u003Ccode\u003EArgumentException\u003C/code\u003E exception is raised.\n Otherwise, true is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#fold","title":"Array.fold","content":"Array.fold \nfold \nApplies a function to each element of the collection, threading an accumulator argument\n through the computation. If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E then computes\n \u003Ccode\u003Ef (... (f s i0)...) iN\u003C/code\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#foldBack","title":"Array.foldBack","content":"Array.foldBack \nfoldBack \nApplies a function to each element of the array, starting from the end, threading an accumulator argument\n through the computation. If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E then computes\n \u003Ccode\u003Ef i0 (...(f iN s))\u003C/code\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#fold2","title":"Array.fold2","content":"Array.fold2 \nfold2 \nApplies a function to pairs of elements drawn from the two collections,\n left-to-right, threading an accumulator argument\n through the computation. The two input\n arrays must have the same lengths, otherwise an \u003Ccode\u003EArgumentException\u003C/code\u003E is\n raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#foldBack2","title":"Array.foldBack2","content":"Array.foldBack2 \nfoldBack2 \nApply a function to pairs of elements drawn from the two collections, right-to-left,\n threading an accumulator argument through the computation. The two input\n arrays must have the same lengths, otherwise an \u003Ccode\u003EArgumentException\u003C/code\u003E is\n raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#get","title":"Array.get","content":"Array.get \nget \nGets an element from an array. \nNormally the syntax \u003Ccode\u003Earray[index]\u003C/code\u003E is preferred.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#head","title":"Array.head","content":"Array.head \nhead \nReturns the first element of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#groupBy","title":"Array.groupBy","content":"Array.groupBy \ngroupBy \nApplies a key-generating function to each element of an array and yields an array of\n unique keys. Each unique key contains an array of all elements that match\n to this key.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#indexed","title":"Array.indexed","content":"Array.indexed \nindexed \nBuilds a new array whose elements are the corresponding elements of the input array\n paired with the integer index (from 0) of each element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#init","title":"Array.init","content":"Array.init \ninit \nCreates an array given the dimension and a generator function to compute the elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#zeroCreate","title":"Array.zeroCreate","content":"Array.zeroCreate \nzeroCreate \nCreates an array where the entries are initially the default value Unchecked.defaultof\u003C\u0027T\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#isEmpty","title":"Array.isEmpty","content":"Array.isEmpty \nisEmpty \nReturns true if the given array is empty, otherwise false.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#iter","title":"Array.iter","content":"Array.iter \niter \nApplies the given function to each element of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#iter2","title":"Array.iter2","content":"Array.iter2 \niter2 \nApplies the given function to pair of elements drawn from matching indices in two arrays. The\n two arrays must have the same lengths, otherwise an \u003Ccode\u003EArgumentException\u003C/code\u003E is\n raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#iteri","title":"Array.iteri","content":"Array.iteri \niteri \nApplies the given function to each element of the array. The integer passed to the\n function indicates the index of element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#iteri2","title":"Array.iteri2","content":"Array.iteri2 \niteri2 \nApplies the given function to pair of elements drawn from matching indices in two arrays,\n also passing the index of the elements. The two arrays must have the same lengths,\n otherwise an \u003Ccode\u003EArgumentException\u003C/code\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#last","title":"Array.last","content":"Array.last \nlast \nReturns the last element of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#item","title":"Array.item","content":"Array.item \nitem \nGets an element from an array. \nNormally the syntax \u003Ccode\u003Earray[index]\u003C/code\u003E is preferred.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#length","title":"Array.length","content":"Array.length \nlength \nReturns the length of an array. You can also use property arr.Length. \nThe notation \u003Ccode\u003Earray.Length\u003C/code\u003E is preferred.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#tryLast","title":"Array.tryLast","content":"Array.tryLast \ntryLast \nReturns the last element of the array.\n Return \u003Ccode\u003ENone\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#map","title":"Array.map","content":"Array.map \nmap \nBuilds a new array whose elements are the results of applying the given function\n to each of the elements of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#map2","title":"Array.map2","content":"Array.map2 \nmap2 \nBuilds a new collection whose elements are the results of applying the given function\n to the corresponding elements of the two collections pairwise. The two input\n arrays must have the same lengths, otherwise an \u003Ccode\u003EArgumentException\u003C/code\u003E is\n raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#mapFold","title":"Array.mapFold","content":"Array.mapFold \nmapFold \nCombines map and fold. Builds a new array whose elements are the results of applying the given function\n to each of the elements of the input array. The function is also used to accumulate a final value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#mapFoldBack","title":"Array.mapFoldBack","content":"Array.mapFoldBack \nmapFoldBack \nCombines map and foldBack. Builds a new array whose elements are the results of applying the given function\n to each of the elements of the input array. The function is also used to accumulate a final value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#map3","title":"Array.map3","content":"Array.map3 \nmap3 \nBuilds a new collection whose elements are the results of applying the given function\n to the corresponding triples from the three collections. The three input\n arrays must have the same length, otherwise an \u003Ccode\u003EArgumentException\u003C/code\u003E is\n raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#mapi2","title":"Array.mapi2","content":"Array.mapi2 \nmapi2 \nBuilds a new collection whose elements are the results of applying the given function\n to the corresponding elements of the two collections pairwise, also passing the index of\n the elements. The two input arrays must have the same lengths, otherwise an \u003Ccode\u003EArgumentException\u003C/code\u003E is\n raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#mapi","title":"Array.mapi","content":"Array.mapi \nmapi \nBuilds a new array whose elements are the results of applying the given function\n to each of the elements of the array. The integer index passed to the\n function indicates the index of element being transformed, starting at zero.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#max","title":"Array.max","content":"Array.max \nmax \nReturns the greatest of all elements of the array, compared via Operators.max on the function result. \nThrows ArgumentException for empty arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#maxBy","title":"Array.maxBy","content":"Array.maxBy \nmaxBy \nReturns the greatest of all elements of the array, compared via Operators.max on the function result. \nThrows ArgumentException for empty arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#min","title":"Array.min","content":"Array.min \nmin \nReturns the lowest of all elements of the array, compared via Operators.min. \nThrows ArgumentException for empty arrays","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#minBy","title":"Array.minBy","content":"Array.minBy \nminBy \nReturns the lowest of all elements of the array, compared via Operators.min on the function result. \nThrows ArgumentException for empty arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#ofList","title":"Array.ofList","content":"Array.ofList \nofList \nBuilds an array from the given list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#ofSeq","title":"Array.ofSeq","content":"Array.ofSeq \nofSeq \nBuilds a new array from the given enumerable object.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#pairwise","title":"Array.pairwise","content":"Array.pairwise \npairwise \nReturns an array of each element in the input array and its predecessor, with the\n exception of the first element which is only returned as the predecessor of the second element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#partition","title":"Array.partition","content":"Array.partition \npartition \nSplits the collection into two collections, containing the\n elements for which the given predicate returns \u0022true\u0022 and \u0022false\u0022\n respectively.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#permute","title":"Array.permute","content":"Array.permute \npermute \nReturns an array with all elements permuted according to the\n specified permutation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#reduce","title":"Array.reduce","content":"Array.reduce \nreduce \nApplies a function to each element of the array, threading an accumulator argument\n through the computation. If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E\n then computes \u003Ccode\u003Ef (... (f i0 i1)...) iN\u003C/code\u003E.\n Raises ArgumentException if the array has size zero.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#reduceBack","title":"Array.reduceBack","content":"Array.reduceBack \nreduceBack \nApplies a function to each element of the array, starting from the end, threading an accumulator argument\n through the computation. If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E\n then computes \u003Ccode\u003Ef i0 (...(f iN-1 iN))\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#replicate","title":"Array.replicate","content":"Array.replicate \nreplicate \nCreates an array by replicating the given initial value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#rev","title":"Array.rev","content":"Array.rev \nrev \nReturns a new array with the elements in reverse order.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#scan","title":"Array.scan","content":"Array.scan \nscan \nLike \u003Ccode\u003Efold\u003C/code\u003E, but return the intermediary and final results.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#scanBack","title":"Array.scanBack","content":"Array.scanBack \nscanBack \nLike \u003Ccode\u003EfoldBack\u003C/code\u003E, but return both the intermediary and final results.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#singleton","title":"Array.singleton","content":"Array.singleton \nsingleton \nReturns an array that contains one item only.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#set","title":"Array.set","content":"Array.set \nset \nSets an element of an array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#skip","title":"Array.skip","content":"Array.skip \nskip \nBuilds a new array that contains the elements of the given array, excluding the first N elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#skipWhile","title":"Array.skipWhile","content":"Array.skipWhile \nskipWhile \nBypasses elements in an array while the given predicate returns True, and then returns\n the remaining elements in a new array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sub","title":"Array.sub","content":"Array.sub \nsub \nBuilds a new array that contains the given subrange specified by\n starting index and length. \n\n Slicing syntax is generally preferred, e.g.\n \u003Cpre class=\u0022fssnip highlighted\u0022\u003E\u003Ccode lang=\u0022fsharp\u0022\u003E \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 1)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 1)\u0022 class=\u0022id\u0022\u003Einput\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[|\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E0\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E1\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E4\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E5\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E|]\u003C/span\u003E\r\n\r\n \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 2)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 2)\u0022 class=\u0022id\u0022\u003Einput\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E2..\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E4\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\r\n\u003C/code\u003E\u003C/pre\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs1\u0022\u003Eval input: int array\u003C/div\u003E\r\n\r\n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sort","title":"Array.sort","content":"Array.sort \nsort \nSorts the elements of an array, returning a new array. Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sortBy","title":"Array.sortBy","content":"Array.sortBy \nsortBy \nSorts the elements of an array, using the given projection for the keys and returning a new array.\n Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sortWith","title":"Array.sortWith","content":"Array.sortWith \nsortWith \nSorts the elements of an array, using the given comparison function as the order, returning a new array. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sortInPlaceBy","title":"Array.sortInPlaceBy","content":"Array.sortInPlaceBy \nsortInPlaceBy \nSorts the elements of an array by mutating the array in-place, using the given projection for the keys.\n Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sortInPlaceWith","title":"Array.sortInPlaceWith","content":"Array.sortInPlaceWith \nsortInPlaceWith \nSorts the elements of an array by mutating the array in-place, using the given comparison function as the order.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sortInPlace","title":"Array.sortInPlace","content":"Array.sortInPlace \nsortInPlace \nSorts the elements of an array by mutating the array in-place, using the given comparison function.\n Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#splitAt","title":"Array.splitAt","content":"Array.splitAt \nsplitAt \nSplits an array into two arrays, at the given index.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sortDescending","title":"Array.sortDescending","content":"Array.sortDescending \nsortDescending \nSorts the elements of an array, in descending order, returning a new array. Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sortByDescending","title":"Array.sortByDescending","content":"Array.sortByDescending \nsortByDescending \nSorts the elements of an array, in descending order, using the given projection for the keys and returning a new array.\n Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sum","title":"Array.sum","content":"Array.sum \nsum \nReturns the sum of the elements in the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#sumBy","title":"Array.sumBy","content":"Array.sumBy \nsumBy \nReturns the sum of the results generated by applying the function to each element of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#take","title":"Array.take","content":"Array.take \ntake \nReturns the first N elements of the array. \nThrows \u003Ccode\u003EInvalidOperationException\u003C/code\u003E\n if the count exceeds the number of elements in the array. \u003Ccode\u003EArray.truncate\u003C/code\u003E\n returns as many items as the array contains instead of throwing an exception.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#takeWhile","title":"Array.takeWhile","content":"Array.takeWhile \ntakeWhile \nReturns an array that contains all elements of the original array while the\n given predicate returns True, and then returns no further elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#tail","title":"Array.tail","content":"Array.tail \ntail \nReturns a new array containing the elements of the original except the first element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#toList","title":"Array.toList","content":"Array.toList \ntoList \nBuilds a list from the given array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#toSeq","title":"Array.toSeq","content":"Array.toSeq \ntoSeq \nViews the given array as a sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#transpose","title":"Array.transpose","content":"Array.transpose \ntranspose \nReturns the transpose of the given sequence of arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#truncate","title":"Array.truncate","content":"Array.truncate \ntruncate \nReturns at most N elements in a new array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#tryFind","title":"Array.tryFind","content":"Array.tryFind \ntryFind \nReturns the first element for which the given function returns True.\n Return None if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#tryFindBack","title":"Array.tryFindBack","content":"Array.tryFindBack \ntryFindBack \nReturns the last element for which the given function returns True.\n Return None if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#tryFindIndex","title":"Array.tryFindIndex","content":"Array.tryFindIndex \ntryFindIndex \nReturns the index of the first element in the array\n that satisfies the given predicate.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#tryItem","title":"Array.tryItem","content":"Array.tryItem \ntryItem \nTries to find the nth element in the array.\n Returns \u003Ccode\u003ENone\u003C/code\u003E if index is negative or the input array does not contain enough elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#tryFindIndexBack","title":"Array.tryFindIndexBack","content":"Array.tryFindIndexBack \ntryFindIndexBack \nReturns the index of the last element in the array\n that satisfies the given predicate.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#unfold","title":"Array.unfold","content":"Array.unfold \nunfold \nReturns an array that contains the elements generated by the given computation.\n The generator is repeatedly called to build the list until it returns \u0060None\u0060.\n The given initial \u003Ccode\u003Estate\u003C/code\u003E argument is passed to the element generator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#unzip","title":"Array.unzip","content":"Array.unzip \nunzip \nSplits an array of pairs into two arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#unzip3","title":"Array.unzip3","content":"Array.unzip3 \nunzip3 \nSplits an array of triples into three arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#where","title":"Array.where","content":"Array.where \nwhere \nReturns a new array containing only the elements of the array\n for which the given predicate returns \u0022true\u0022. \nThis is identical to \u003Ccode\u003EArray.filter\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#windowed","title":"Array.windowed","content":"Array.windowed \nwindowed \nReturns an array of sliding windows containing elements drawn from the input\n array. Each window is returned as a fresh array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#zip","title":"Array.zip","content":"Array.zip \nzip \nCombines the two arrays into an array of pairs. The two arrays must have equal lengths, otherwise an \u003Ccode\u003EArgumentException\u003C/code\u003E is\n raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#zip3","title":"Array.zip3","content":"Array.zip3 \nzip3 \nCombines three arrays into an array of pairs. The three arrays must have equal lengths, otherwise an \u003Ccode\u003EArgumentException\u003C/code\u003E is\n raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#removeAt","title":"Array.removeAt","content":"Array.removeAt \nremoveAt \nReturn a new array with the item at a given index removed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#removeManyAt","title":"Array.removeManyAt","content":"Array.removeManyAt \nremoveManyAt \nReturn a new array with the number of items starting at a given index removed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#updateAt","title":"Array.updateAt","content":"Array.updateAt \nupdateAt \nReturn a new array with the item at a given index set to the new value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#insertAt","title":"Array.insertAt","content":"Array.insertAt \ninsertAt \nReturn a new array with a new item inserted before the given index.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#insertManyAt","title":"Array.insertManyAt","content":"Array.insertManyAt \ninsertManyAt \nReturn a new array with new items inserted before the given index.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomShuffle","title":"Array.randomShuffle","content":"Array.randomShuffle \nrandomShuffle \nReturn a new array shuffled in a random order.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomShuffleWith","title":"Array.randomShuffleWith","content":"Array.randomShuffleWith \nrandomShuffleWith \nReturn a new array shuffled in a random order with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomShuffleBy","title":"Array.randomShuffleBy","content":"Array.randomShuffleBy \nrandomShuffleBy \nReturn a new array shuffled in a random order using the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomShuffleInPlace","title":"Array.randomShuffleInPlace","content":"Array.randomShuffleInPlace \nrandomShuffleInPlace \nSorts input array in a random order by mutating the array in-place.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomShuffleInPlaceWith","title":"Array.randomShuffleInPlaceWith","content":"Array.randomShuffleInPlaceWith \nrandomShuffleInPlaceWith \nSorts input array in a random order with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance by mutating the array in-place.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomShuffleInPlaceBy","title":"Array.randomShuffleInPlaceBy","content":"Array.randomShuffleInPlaceBy \nrandomShuffleInPlaceBy \nSorts input array in a random order using the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function by mutating the array in-place.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomChoice","title":"Array.randomChoice","content":"Array.randomChoice \nrandomChoice \nReturns a random element from the given array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomChoiceWith","title":"Array.randomChoiceWith","content":"Array.randomChoiceWith \nrandomChoiceWith \nReturns a random element from the given array with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomChoiceBy","title":"Array.randomChoiceBy","content":"Array.randomChoiceBy \nrandomChoiceBy \nReturns a random element from the given array using the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomChoices","title":"Array.randomChoices","content":"Array.randomChoices \nrandomChoices \nReturns an array of random elements from the given array, each element can be selected multiple times.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomChoicesWith","title":"Array.randomChoicesWith","content":"Array.randomChoicesWith \nrandomChoicesWith \nReturns an array of random elements from the given array with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance, each element can be selected multiple times.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomChoicesBy","title":"Array.randomChoicesBy","content":"Array.randomChoicesBy \nrandomChoicesBy \nReturns an array of random elements from the given array using the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function, each element can be selected multiple times.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomSample","title":"Array.randomSample","content":"Array.randomSample \nrandomSample \nReturns a random sample of elements from the given array, each element can be selected only once.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomSampleWith","title":"Array.randomSampleWith","content":"Array.randomSampleWith \nrandomSampleWith \nReturns a random sample of elements from the given array with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance, each element can be selected only once.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html#randomSampleBy","title":"Array.randomSampleBy","content":"Array.randomSampleBy \nrandomSampleBy \nReturns a random sample of elements from the given array using the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function, each element can be selected only once.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html","title":"Parallel","content":"Parallel \nProvides parallel operations on arrays \nParallel.forall \nforall \nParallel.exists \nexists \nParallel.tryFind \ntryFind \nParallel.tryFindIndex \ntryFindIndex \nParallel.tryPick \ntryPick \nParallel.reduce \nreduce \nParallel.reduceBy \nreduceBy \nParallel.max \nmax \nParallel.maxBy \nmaxBy \nParallel.min \nmin \nParallel.minBy \nminBy \nParallel.sum \nsum \nParallel.sumBy \nsumBy \nParallel.average \naverage \nParallel.averageBy \naverageBy \nParallel.choose \nchoose \nParallel.collect \ncollect \nParallel.map \nmap \nParallel.mapi \nmapi \nParallel.groupBy \ngroupBy \nParallel.iter \niter \nParallel.iteri \niteri \nParallel.init \ninit \nParallel.partition \npartition \nParallel.sort \nsort \nParallel.sortBy \nsortBy \nParallel.sortWith \nsortWith \nParallel.sortInPlaceBy \nsortInPlaceBy \nParallel.sortInPlaceWith \nsortInPlaceWith \nParallel.sortInPlace \nsortInPlace \nParallel.sortDescending \nsortDescending \nParallel.sortByDescending \nsortByDescending \nParallel.zip \nzip \nParallel.filter \nfilter","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#forall","title":"Parallel.forall","content":"Parallel.forall \nforall \nTests if all elements of the array satisfy the given predicate. \nThe predicate is applied to the elements of the input collection in parallel. If any application\n returns false then the overall result is false and testing of other elements in all threads is stopped at system\u0027s earliest convenience.\n Otherwise, true is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#exists","title":"Parallel.exists","content":"Parallel.exists \nexists \nTests if any element of the array satisfies the given predicate. \nThe predicate is applied to the elements of the input array in parallel. If any application\n returns true then the overall result is true and testing of other elements in all threads is stopped at system\u0027s earliest convenience.\n Otherwise, \u003Ccode\u003Efalse\u003C/code\u003E is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#tryFind","title":"Parallel.tryFind","content":"Parallel.tryFind \ntryFind \nReturns the first element for which the given function returns \u003Ccode\u003ETrue\u003C/code\u003E.\n Returns None if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#tryFindIndex","title":"Parallel.tryFindIndex","content":"Parallel.tryFindIndex \ntryFindIndex \nReturns the index of the first element in the array\n that satisfies the given predicate.\n Returns \u003Ccode\u003ENone\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#tryPick","title":"Parallel.tryPick","content":"Parallel.tryPick \ntryPick \nApplies the given function to successive elements, returning the first\n result where the function returns \u003Ccode\u003ESome(x)\u003C/code\u003E for some \u003Ccode\u003Ex\u003C/code\u003E. If the function\n never returns \u003Ccode\u003ESome(x)\u003C/code\u003E then \u003Ccode\u003ENone\u003C/code\u003E is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#reduce","title":"Parallel.reduce","content":"Parallel.reduce \nreduce \nApplies a function to each element of the array in parallel, threading an accumulator argument\n through the computation for each thread involved in the computation. After processing entire input, results from all threads are reduced together.\n Raises ArgumentException if the array is empty. \nThe order of processing is not guaranteed. For that reason, the \u0027reduce\u0027 function argument should be commutative.\n (That is, changing the order of execution must not affect the result)\n Also, compared to the non-parallel version of Array.reduce, the \u0027reduce\u0027 function may be invoked more times due to the resulting reduction from participating threads.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#reduceBy","title":"Parallel.reduceBy","content":"Parallel.reduceBy \nreduceBy \nApplies a projection function to each element of the array in parallel, reducing elements in each thread with a dedicated \u0027reduction\u0027 function.\n After processing entire input, results from all threads are reduced together.\n Raises ArgumentException if the array is empty. \nThe order of processing is not guaranteed. For that reason, the \u0027reduction\u0027 function argument should be commutative.\n (That is, changing the order of execution must not affect the result) ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#max","title":"Parallel.max","content":"Parallel.max \nmax \nReturns the greatest of all elements of the array, compared via Operators.max. \nThrows ArgumentException for empty arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#maxBy","title":"Parallel.maxBy","content":"Parallel.maxBy \nmaxBy \nReturns the greatest of all elements of the array, compared via Operators.max on the function result. \nThrows ArgumentException for empty arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#min","title":"Parallel.min","content":"Parallel.min \nmin \nReturns the smallest of all elements of the array, compared via Operators.min. \nThrows ArgumentException for empty arrays","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#minBy","title":"Parallel.minBy","content":"Parallel.minBy \nminBy \nReturns the lowest of all elements of the array, compared via Operators.min on the function result. \nThrows ArgumentException for empty arrays.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#sum","title":"Parallel.sum","content":"Parallel.sum \nsum \nReturns the sum of the elements in the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#sumBy","title":"Parallel.sumBy","content":"Parallel.sumBy \nsumBy \nReturns the sum of the results generated by applying the function to each element of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#average","title":"Parallel.average","content":"Parallel.average \naverage \nReturns the average of the elements in the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#averageBy","title":"Parallel.averageBy","content":"Parallel.averageBy \naverageBy \nReturns the average of the elements generated by applying the function to each element of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#choose","title":"Parallel.choose","content":"Parallel.choose \nchoose \nApply the given function to each element of the array. Return\n the array comprised of the results \u003Ccode\u003Ex\u003C/code\u003E for each element where\n the function returns \u003Ccode\u003ESome(x)\u003C/code\u003E. \nPerforms the operation in parallel using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.parallel.for\u0022\u003EParallel.For\u003C/a\u003E.\n The order in which the given function is applied to elements of the input array is not specified.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#collect","title":"Parallel.collect","content":"Parallel.collect \ncollect \nFor each element of the array, apply the given function. Concatenate all the results and return the combined array. \nPerforms the operation in parallel using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.parallel.for\u0022\u003EParallel.For\u003C/a\u003E.\n The order in which the given function is applied to elements of the input array is not specified.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#map","title":"Parallel.map","content":"Parallel.map \nmap \nBuild a new array whose elements are the results of applying the given function\n to each of the elements of the array. \nPerforms the operation in parallel using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.parallel.for\u0022\u003EParallel.For\u003C/a\u003E.\n The order in which the given function is applied to elements of the input array is not specified.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#mapi","title":"Parallel.mapi","content":"Parallel.mapi \nmapi \nBuild a new array whose elements are the results of applying the given function\n to each of the elements of the array. The integer index passed to the\n function indicates the index of element being transformed. \nPerforms the operation in parallel using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.parallel.for\u0022\u003EParallel.For\u003C/a\u003E.\n The order in which the given function is applied to elements of the input array is not specified.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#groupBy","title":"Parallel.groupBy","content":"Parallel.groupBy \ngroupBy \nApplies a key-generating function to each element of an array in parallel and yields an array of\n unique keys. Each unique key contains an array of all elements that match\n to this key. \nPerforms the operation in parallel using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.parallel.for\u0022\u003EParallel.For\u003C/a\u003E.\n The order in which the given function is applied to elements of the input array is not specified.\n The order of the keys and values in the result is also not specified","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#iter","title":"Parallel.iter","content":"Parallel.iter \niter \nApply the given function to each element of the array. \nPerforms the operation in parallel using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.parallel.for\u0022\u003EParallel.For\u003C/a\u003E.\n The order in which the given function is applied to elements of the input array is not specified.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#iteri","title":"Parallel.iteri","content":"Parallel.iteri \niteri \nApply the given function to each element of the array. The integer passed to the\n function indicates the index of element. \nPerforms the operation in parallel using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.parallel.for\u0022\u003EParallel.For\u003C/a\u003E.\n The order in which the given function is applied to elements of the input array is not specified.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#init","title":"Parallel.init","content":"Parallel.init \ninit \nCreate an array given the dimension and a generator function to compute the elements. \nPerforms the operation in parallel using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.parallel.for\u0022\u003EParallel.For\u003C/a\u003E.\n The order in which the given function is applied to indices is not specified.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#partition","title":"Parallel.partition","content":"Parallel.partition \npartition \nSplit the collection into two collections, containing the\n elements for which the given predicate returns \u0022true\u0022 and \u0022false\u0022\n respectively \nPerforms the operation in parallel using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.parallel.for\u0022\u003EParallel.For\u003C/a\u003E.\n The order in which the given function is applied to indices is not specified.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#sort","title":"Parallel.sort","content":"Parallel.sort \nsort \nSorts the elements of an array in parallel, returning a new array. Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#sortBy","title":"Parallel.sortBy","content":"Parallel.sortBy \nsortBy \nSorts the elements of an array in parallel, using the given projection for the keys and returning a new array.\n Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#sortWith","title":"Parallel.sortWith","content":"Parallel.sortWith \nsortWith \nSorts the elements of an array in parallel, using the given comparison function as the order, returning a new array. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#sortInPlaceBy","title":"Parallel.sortInPlaceBy","content":"Parallel.sortInPlaceBy \nsortInPlaceBy \nSorts the elements of an array by mutating the array in-place in parallel, using the given projection for the keys.\n Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#sortInPlaceWith","title":"Parallel.sortInPlaceWith","content":"Parallel.sortInPlaceWith \nsortInPlaceWith \nSorts the elements of an array by mutating the array in-place in parallel, using the given comparison function as the order.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#sortInPlace","title":"Parallel.sortInPlace","content":"Parallel.sortInPlace \nsortInPlace \nSorts the elements of an array by mutating the array in-place in parallel, using the given comparison function.\n Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#sortDescending","title":"Parallel.sortDescending","content":"Parallel.sortDescending \nsortDescending \nSorts the elements of an array in parallel, in descending order, returning a new array. Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#sortByDescending","title":"Parallel.sortByDescending","content":"Parallel.sortByDescending \nsortByDescending \nSorts the elements of an array in parallel, in descending order, using the given projection for the keys and returning a new array.\n Elements are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is not a stable sort, i.e. the original order of equal elements is not necessarily preserved.\n For a stable sort, consider using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq.Sort\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#zip","title":"Parallel.zip","content":"Parallel.zip \nzip \nCombines the two arrays into an array of pairs. The two arrays must have equal lengths, otherwise an \u003Ccode\u003EArgumentException\u003C/code\u003E is\n raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule-parallel.html#filter","title":"Parallel.filter","content":"Parallel.filter \nfilter \nReturns a new collection containing only the elements of the collection\n for which the given predicate returns \u003Ccode\u003Etrue\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html","title":"Array2D","content":"Array2D \nContains operations for working with 2-dimensional arrays. \n\u003Cp class=\u0027fsdocs-para\u0027\u003ESee also \u003Ca href=\u0022https://learn.microsoft.com/dotnet/fsharp/language-reference/arrays\u0022\u003EF# Language Guide - Arrays\u003C/a\u003E.\u003C/p\u003E\u003Cp class=\u0027fsdocs-para\u0027\u003EF# and CLI multi-dimensional arrays are typically zero-based.\n However, CLI multi-dimensional arrays used in conjunction with external\n libraries (e.g. libraries associated with Visual Basic) be\n non-zero based, using a potentially different base for each dimension.\n The operations in this module will accept such arrays, and\n the basing on an input array will be propagated to a matching output\n array on the \u003Ccode\u003EArray2D.map\u003C/code\u003E and \u003Ccode\u003EArray2D.mapi\u003C/code\u003E operations.\n Non-zero-based arrays can also be created using \u003Ccode\u003EArray2D.zeroCreateBased\u003C/code\u003E,\n \u003Ccode\u003EArray2D.createBased\u003C/code\u003E and \u003Ccode\u003EArray2D.initBased\u003C/code\u003E.\u003C/p\u003E \nArray2D.base1 \nbase1 \nArray2D.base2 \nbase2 \nArray2D.copy \ncopy \nArray2D.blit \nblit \nArray2D.init \ninit \nArray2D.create \ncreate \nArray2D.zeroCreate \nzeroCreate \nArray2D.initBased \ninitBased \nArray2D.createBased \ncreateBased \nArray2D.zeroCreateBased \nzeroCreateBased \nArray2D.iter \niter \nArray2D.iteri \niteri \nArray2D.length1 \nlength1 \nArray2D.length2 \nlength2 \nArray2D.map \nmap \nArray2D.mapi \nmapi \nArray2D.rebase \nrebase \nArray2D.set \nset \nArray2D.get \nget","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#base1","title":"Array2D.base1","content":"Array2D.base1 \nbase1 \nFetches the base-index for the first dimension of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#base2","title":"Array2D.base2","content":"Array2D.base2 \nbase2 \nFetches the base-index for the second dimension of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#copy","title":"Array2D.copy","content":"Array2D.copy \ncopy \nBuilds a new array whose elements are the same as the input array. \nFor non-zero-based arrays the basing on an input array will be propagated to the output\n array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#blit","title":"Array2D.blit","content":"Array2D.blit \nblit \nReads a range of elements from the first array and write them into the second. \n\n Slicing syntax is generally preferred, e.g.\n \u003Cpre class=\u0022fssnip highlighted\u0022\u003E\u003Ccode lang=\u0022fsharp\u0022\u003E \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 1)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 1)\u0022 class=\u0022id\u0022\u003Esource\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 2)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 2)\u0022 class=\u0022fn\u0022\u003Earray2D\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E4\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E13\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E14\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\r\n \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs3\u0027, 3)\u0022 onmouseover=\u0022showTip(event, \u0027fs3\u0027, 3)\u0022 class=\u0022id\u0022\u003Etarget\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 4)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 4)\u0022 class=\u0022fn\u0022\u003Earray2D\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E12\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E12\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E12\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\r\n \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs3\u0027, 5)\u0022 onmouseover=\u0022showTip(event, \u0027fs3\u0027, 5)\u0022 class=\u0022id\u0022\u003Etarget\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E0..\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E1\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E1..\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E \u003Cspan class=\u0022k\u0022\u003E\u0026lt;-\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 6)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 6)\u0022 class=\u0022id\u0022\u003Esource\u003C/span\u003E\r\n\u003C/code\u003E\u003C/pre\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs1\u0022\u003Eval source: int array2d\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs2\u0022\u003Eval array2D: rows: #(\u0026#39;T seq) seq -\u0026gt; \u0026#39;T array2d\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs3\u0022\u003Eval target: int array2d\u003C/div\u003E\r\n\r\n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#init","title":"Array2D.init","content":"Array2D.init \ninit \nCreates an array given the dimensions and a generator function to compute the elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#create","title":"Array2D.create","content":"Array2D.create \ncreate \nCreates an array whose elements are all initially the given value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#zeroCreate","title":"Array2D.zeroCreate","content":"Array2D.zeroCreate \nzeroCreate \nCreates an array where the entries are initially Unchecked.defaultof\u003C\u0027T\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#initBased","title":"Array2D.initBased","content":"Array2D.initBased \ninitBased \nCreates a based array given the dimensions and a generator function to compute the elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#createBased","title":"Array2D.createBased","content":"Array2D.createBased \ncreateBased \nCreates a based array whose elements are all initially the given value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#zeroCreateBased","title":"Array2D.zeroCreateBased","content":"Array2D.zeroCreateBased \nzeroCreateBased \nCreates a based array where the entries are initially Unchecked.defaultof\u003C\u0027T\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#iter","title":"Array2D.iter","content":"Array2D.iter \niter \nApplies the given function to each element of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#iteri","title":"Array2D.iteri","content":"Array2D.iteri \niteri \nApplies the given function to each element of the array. The integer indices passed to the\n function indicates the index of element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#length1","title":"Array2D.length1","content":"Array2D.length1 \nlength1 \nReturns the length of an array in the first dimension.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#length2","title":"Array2D.length2","content":"Array2D.length2 \nlength2 \nReturns the length of an array in the second dimension.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#map","title":"Array2D.map","content":"Array2D.map \nmap \nBuilds a new array whose elements are the results of applying the given function\n to each of the elements of the array. \nFor non-zero-based arrays the basing on an input array will be propagated to the output\n array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#mapi","title":"Array2D.mapi","content":"Array2D.mapi \nmapi \nBuilds a new array whose elements are the results of applying the given function\n to each of the elements of the array. The integer indices passed to the\n function indicates the element being transformed. \nFor non-zero-based arrays the basing on an input array will be propagated to the output\n array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#rebase","title":"Array2D.rebase","content":"Array2D.rebase \nrebase \nBuilds a new array whose elements are the same as the input array but\n where a non-zero-based input array generates a corresponding zero-based\n output array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#set","title":"Array2D.set","content":"Array2D.set \nset \nSets the value of an element in an array. You can also use the syntax \u003Ccode\u003Earray.[index1,index2] \u0026lt;- value\u003C/code\u003E. \n\n Indexer syntax is generally preferred, e.g.\n \u003Cpre class=\u0022fssnip highlighted\u0022\u003E\u003Ccode lang=\u0022fsharp\u0022\u003E \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 1)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 1)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 2)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 2)\u0022 class=\u0022m\u0022\u003EArray2D\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E\u003Cspan onmouseout=\u0022hideTip(event, \u0027fs3\u0027, 3)\u0022 onmouseover=\u0022showTip(event, \u0027fs3\u0027, 3)\u0022 class=\u0022id\u0022\u003EzeroCreate\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\r\n\r\n \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 4)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 4)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E0\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E1\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E \u003Cspan class=\u0022k\u0022\u003E\u0026lt;-\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E4.0\u003C/span\u003E\r\n\u003C/code\u003E\u003C/pre\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs1\u0022\u003EMultiple items\u003Cbr /\u003Eval array: float array2d\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype \u0026#39;T array = \u0026#39;T array\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs2\u0022\u003Emodule Array2D\n\nfrom Microsoft.FSharp.Collections\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs3\u0022\u003Eval zeroCreate: length1: int -\u0026gt; length2: int -\u0026gt; \u0026#39;T array2d\u003C/div\u003E\r\n\r\n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array2dmodule.html#get","title":"Array2D.get","content":"Array2D.get \nget \nFetches an element from a 2D array. You can also use the syntax \u003Ccode\u003Earray.[index1,index2]\u003C/code\u003E. \n\n Indexer syntax is generally preferred, e.g.\n \u003Cpre class=\u0022fssnip highlighted\u0022\u003E\u003Ccode lang=\u0022fsharp\u0022\u003E \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 1)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 1)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 2)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 2)\u0022 class=\u0022fn\u0022\u003Earray2D\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E1.0\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2.0\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E3.0\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E4.0\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\r\n\r\n \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 3)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 3)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E0\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E1\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\r\n\u003C/code\u003E\u003C/pre\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs1\u0022\u003EMultiple items\u003Cbr /\u003Eval array: float array2d\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype \u0026#39;T array = \u0026#39;T array\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs2\u0022\u003Eval array2D: rows: #(\u0026#39;T seq) seq -\u0026gt; \u0026#39;T array2d\u003C/div\u003E\r\n\r\n\n Evaluates to \u003Ccode\u003E2.0\u003C/code\u003E.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html","title":"Array3D","content":"Array3D \nContains operations for working with rank 3 arrays. \n\n See also \u003Ca href=\u0022https://learn.microsoft.com/dotnet/fsharp/language-reference/arrays\u0022\u003EF# Language Guide - Arrays\u003C/a\u003E.\n \nArray3D.create \ncreate \nArray3D.init \ninit \nArray3D.get \nget \nArray3D.iter \niter \nArray3D.iteri \niteri \nArray3D.length1 \nlength1 \nArray3D.length2 \nlength2 \nArray3D.length3 \nlength3 \nArray3D.map \nmap \nArray3D.mapi \nmapi \nArray3D.set \nset \nArray3D.zeroCreate \nzeroCreate","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#create","title":"Array3D.create","content":"Array3D.create \ncreate \nCreates an array whose elements are all initially the given value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#init","title":"Array3D.init","content":"Array3D.init \ninit \nCreates an array given the dimensions and a generator function to compute the elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#get","title":"Array3D.get","content":"Array3D.get \nget \nFetches an element from a 3D array. You can also use the syntax \u0027array.[index1,index2,index3]\u0027 \n\n Indexer syntax is generally preferred, e.g.\n \u003Cpre class=\u0022fssnip highlighted\u0022\u003E\u003Ccode lang=\u0022fsharp\u0022\u003E \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 1)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 1)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 2)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 2)\u0022 class=\u0022m\u0022\u003EArray3D\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E\u003Cspan onmouseout=\u0022hideTip(event, \u0027fs3\u0027, 3)\u0022 onmouseover=\u0022showTip(event, \u0027fs3\u0027, 3)\u0022 class=\u0022id\u0022\u003Einit\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E(\u003C/span\u003E\u003Cspan class=\u0022k\u0022\u003Efun\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs4\u0027, 4)\u0022 onmouseover=\u0022showTip(event, \u0027fs4\u0027, 4)\u0022 class=\u0022fn\u0022\u003Ei\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs5\u0027, 5)\u0022 onmouseover=\u0022showTip(event, \u0027fs5\u0027, 5)\u0022 class=\u0022fn\u0022\u003Ej\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs6\u0027, 6)\u0022 onmouseover=\u0022showTip(event, \u0027fs6\u0027, 6)\u0022 class=\u0022fn\u0022\u003Ek\u003C/span\u003E \u003Cspan class=\u0022k\u0022\u003E-\u0026gt;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E100\u003C/span\u003E\u003Cspan class=\u0022o\u0022\u003E*\u003C/span\u003E\u003Cspan onmouseout=\u0022hideTip(event, \u0027fs4\u0027, 7)\u0022 onmouseover=\u0022showTip(event, \u0027fs4\u0027, 7)\u0022 class=\u0022fn\u0022\u003Ei\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E\u002B\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E10\u003C/span\u003E\u003Cspan class=\u0022o\u0022\u003E*\u003C/span\u003E\u003Cspan onmouseout=\u0022hideTip(event, \u0027fs5\u0027, 8)\u0022 onmouseover=\u0022showTip(event, \u0027fs5\u0027, 8)\u0022 class=\u0022fn\u0022\u003Ej\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E\u002B\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs6\u0027, 9)\u0022 onmouseover=\u0022showTip(event, \u0027fs6\u0027, 9)\u0022 class=\u0022fn\u0022\u003Ek\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E)\u003C/span\u003E\r\n\r\n \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 10)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 10)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E0\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E1\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\r\n\u003C/code\u003E\u003C/pre\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs1\u0022\u003EMultiple items\u003Cbr /\u003Eval array: int array3d\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype \u0026#39;T array = \u0026#39;T array\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs2\u0022\u003Emodule Array3D\n\nfrom Microsoft.FSharp.Collections\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs3\u0022\u003Eval init: length1: int -\u0026gt; length2: int -\u0026gt; length3: int -\u0026gt; initializer: (int -\u0026gt; int -\u0026gt; int -\u0026gt; \u0026#39;T) -\u0026gt; \u0026#39;T array3d\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs4\u0022\u003Eval i: int\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs5\u0022\u003Eval j: int\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs6\u0022\u003Eval k: int\u003C/div\u003E\r\n\r\n\n Evaluates to \u003Ccode\u003E11\u003C/code\u003E.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#iter","title":"Array3D.iter","content":"Array3D.iter \niter \nApplies the given function to each element of the array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#iteri","title":"Array3D.iteri","content":"Array3D.iteri \niteri \nApplies the given function to each element of the array. The integer indices passed to the\n function indicates the index of element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#length1","title":"Array3D.length1","content":"Array3D.length1 \nlength1 \nReturns the length of an array in the first dimension ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#length2","title":"Array3D.length2","content":"Array3D.length2 \nlength2 \nReturns the length of an array in the second dimension.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#length3","title":"Array3D.length3","content":"Array3D.length3 \nlength3 \nReturns the length of an array in the third dimension.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#map","title":"Array3D.map","content":"Array3D.map \nmap \nBuilds a new array whose elements are the results of applying the given function\n to each of the elements of the array. \nFor non-zero-based arrays the basing on an input array will be propagated to the output\n array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#mapi","title":"Array3D.mapi","content":"Array3D.mapi \nmapi \nBuilds a new array whose elements are the results of applying the given function\n to each of the elements of the array. The integer indices passed to the\n function indicates the element being transformed. \nFor non-zero-based arrays the basing on an input array will be propagated to the output\n array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#set","title":"Array3D.set","content":"Array3D.set \nset \nSets the value of an element in an array. You can also\n use the syntax \u0027array.[index1,index2,index3] \u003C- value\u0027. \n\n Indexer syntax is generally preferred, e.g.\n \u003Cpre class=\u0022fssnip highlighted\u0022\u003E\u003Ccode lang=\u0022fsharp\u0022\u003E \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 1)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 1)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 2)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 2)\u0022 class=\u0022m\u0022\u003EArray3D\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E\u003Cspan onmouseout=\u0022hideTip(event, \u0027fs3\u0027, 3)\u0022 onmouseover=\u0022showTip(event, \u0027fs3\u0027, 3)\u0022 class=\u0022id\u0022\u003EzeroCreate\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E\r\n\r\n \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 4)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 4)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E0\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E1\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E\u0026lt;\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E4.0\u003C/span\u003E\r\n\u003C/code\u003E\u003C/pre\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs1\u0022\u003EMultiple items\u003Cbr /\u003Eval array: float array3d\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype \u0026#39;T array = \u0026#39;T array\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs2\u0022\u003Emodule Array3D\n\nfrom Microsoft.FSharp.Collections\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs3\u0022\u003Eval zeroCreate: length1: int -\u0026gt; length2: int -\u0026gt; length3: int -\u0026gt; \u0026#39;T array3d\u003C/div\u003E\r\n\r\n\n Evaluates to \u003Ccode\u003E11\u003C/code\u003E.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array3dmodule.html#zeroCreate","title":"Array3D.zeroCreate","content":"Array3D.zeroCreate \nzeroCreate \nCreates an array where the entries are initially the \u0022default\u0022 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array4dmodule.html","title":"Array4D","content":"Array4D \nContains operations for working with rank 4 arrays. \nArray4D.create \ncreate \nArray4D.init \ninit \nArray4D.length1 \nlength1 \nArray4D.length2 \nlength2 \nArray4D.length3 \nlength3 \nArray4D.length4 \nlength4 \nArray4D.zeroCreate \nzeroCreate \nArray4D.get \nget \nArray4D.set \nset","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array4dmodule.html#create","title":"Array4D.create","content":"Array4D.create \ncreate \nCreates an array whose elements are all initially the given value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array4dmodule.html#init","title":"Array4D.init","content":"Array4D.init \ninit \nCreates an array given the dimensions and a generator function to compute the elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array4dmodule.html#length1","title":"Array4D.length1","content":"Array4D.length1 \nlength1 \nReturns the length of an array in the first dimension ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array4dmodule.html#length2","title":"Array4D.length2","content":"Array4D.length2 \nlength2 \nReturns the length of an array in the second dimension.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array4dmodule.html#length3","title":"Array4D.length3","content":"Array4D.length3 \nlength3 \nReturns the length of an array in the third dimension.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array4dmodule.html#length4","title":"Array4D.length4","content":"Array4D.length4 \nlength4 \nReturns the length of an array in the fourth dimension.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array4dmodule.html#zeroCreate","title":"Array4D.zeroCreate","content":"Array4D.zeroCreate \nzeroCreate \nCreates an array where the entries are initially the \u0022default\u0022 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array4dmodule.html#get","title":"Array4D.get","content":"Array4D.get \nget \nFetches an element from a 4D array. You can also use the syntax \u0027array.[index1,index2,index3,index4]\u0027 \n\n Indexer syntax is generally preferred, e.g.\n \u003Cpre class=\u0022fssnip highlighted\u0022\u003E\u003Ccode lang=\u0022fsharp\u0022\u003E \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 1)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 1)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E:\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 2)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 2)\u0022 class=\u0022vt\u0022\u003Efloat\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs3\u0027, 3)\u0022 onmouseover=\u0022showTip(event, \u0027fs3\u0027, 3)\u0022 class=\u0022m\u0022\u003EArray4D\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E\u003Cspan onmouseout=\u0022hideTip(event, \u0027fs4\u0027, 4)\u0022 onmouseover=\u0022showTip(event, \u0027fs4\u0027, 4)\u0022 class=\u0022id\u0022\u003EzeroCreate\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E4\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E5\u003C/span\u003E\r\n\r\n \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 5)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 5)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E0\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E1\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E\r\n\u003C/code\u003E\u003C/pre\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs1\u0022\u003EMultiple items\u003Cbr /\u003Eval array: float array4d\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype \u0026#39;T array = \u0026#39;T array\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs2\u0022\u003EMultiple items\u003Cbr /\u003Eval float: value: \u0026#39;T -\u0026gt; float (requires member op_Explicit)\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype float = System.Double\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype float\u0026lt;\u0026#39;Measure\u0026gt; =\n float\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs3\u0022\u003Emodule Array4D\n\nfrom Microsoft.FSharp.Collections\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs4\u0022\u003Eval zeroCreate: length1: int -\u0026gt; length2: int -\u0026gt; length3: int -\u0026gt; length4: int -\u0026gt; \u0026#39;T array4d\u003C/div\u003E\r\n\r\n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-array4dmodule.html#set","title":"Array4D.set","content":"Array4D.set \nset \nSets the value of an element in an array. You can also\n use the syntax \u0027array.[index1,index2,index3,index4] \u003C- value\u0027. \n\n Indexer syntax is generally preferred, e.g.\n \u003Cpre class=\u0022fssnip highlighted\u0022\u003E\u003Ccode lang=\u0022fsharp\u0022\u003E \u003Cspan class=\u0022k\u0022\u003Elet\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 1)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 1)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E:\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 2)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 2)\u0022 class=\u0022vt\u0022\u003Efloat\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs3\u0027, 3)\u0022 onmouseover=\u0022showTip(event, \u0027fs3\u0027, 3)\u0022 class=\u0022m\u0022\u003EArray4D\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E\u003Cspan onmouseout=\u0022hideTip(event, \u0027fs4\u0027, 4)\u0022 onmouseover=\u0022showTip(event, \u0027fs4\u0027, 4)\u0022 class=\u0022id\u0022\u003EzeroCreate\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E4\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E5\u003C/span\u003E\r\n\r\n \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 5)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 5)\u0022 class=\u0022id\u0022\u003Earray\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E[\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E0\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E2\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E1\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E,\u003C/span\u003E\u003Cspan class=\u0022n\u0022\u003E3\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E]\u003C/span\u003E \u003Cspan class=\u0022k\u0022\u003E\u0026lt;-\u003C/span\u003E \u003Cspan class=\u0022n\u0022\u003E5.0\u003C/span\u003E\r\n\u003C/code\u003E\u003C/pre\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs1\u0022\u003EMultiple items\u003Cbr /\u003Eval array: float array4d\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype \u0026#39;T array = \u0026#39;T array\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs2\u0022\u003EMultiple items\u003Cbr /\u003Eval float: value: \u0026#39;T -\u0026gt; float (requires member op_Explicit)\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype float = System.Double\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype float\u0026lt;\u0026#39;Measure\u0026gt; =\n float\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs3\u0022\u003Emodule Array4D\n\nfrom Microsoft.FSharp.Collections\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs4\u0022\u003Eval zeroCreate: length1: int -\u0026gt; length2: int -\u0026gt; length3: int -\u0026gt; length4: int -\u0026gt; \u0026#39;T array4d\u003C/div\u003E\r\n\r\n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-comparisonidentity.html","title":"ComparisonIdentity","content":"ComparisonIdentity \nCommon notions of value ordering implementing the \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.icomparer-1\u0022\u003EIComparer\u003C/a\u003E\n interface, for constructing sorted data structures and performing sorting operations. \nComparisonIdentity.Structural \nStructural \nComparisonIdentity.NonStructural \nNonStructural \nComparisonIdentity.FromFunction \nFromFunction","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-comparisonidentity.html#Structural","title":"ComparisonIdentity.Structural","content":"ComparisonIdentity.Structural \nStructural \nGet an implementation of comparison semantics using structural comparison.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-comparisonidentity.html#NonStructural","title":"ComparisonIdentity.NonStructural","content":"ComparisonIdentity.NonStructural \nNonStructural \nGet an implementation of comparison semantics using non-structural comparison.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-comparisonidentity.html#FromFunction","title":"ComparisonIdentity.FromFunction","content":"ComparisonIdentity.FromFunction \nFromFunction \nGet an implementation of comparison semantics using the given function.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-hashidentity.html","title":"HashIdentity","content":"HashIdentity \nCommon notions of value identity implementing the \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.iequalitycomparer-1\u0022\u003EIEqualityComparer\u003C/a\u003E\n interface, for constructing \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2\u0022\u003EDictionary\u003C/a\u003E objects and other collections \nHashIdentity.Structural \nStructural \nHashIdentity.NonStructural \nNonStructural \nHashIdentity.LimitedStructural \nLimitedStructural \nHashIdentity.Reference \nReference \nHashIdentity.FromFunctions \nFromFunctions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-hashidentity.html#Structural","title":"HashIdentity.Structural","content":"HashIdentity.Structural \nStructural \nGet an implementation of equality semantics using structural equality and structural hashing.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-hashidentity.html#NonStructural","title":"HashIdentity.NonStructural","content":"HashIdentity.NonStructural \nNonStructural \nGet an implementation of equality semantics using non-structural equality and non-structural hashing.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-hashidentity.html#LimitedStructural","title":"HashIdentity.LimitedStructural","content":"HashIdentity.LimitedStructural \nLimitedStructural \nGet an implementation of equality semantics using limited structural equality and structural hashing.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-hashidentity.html#Reference","title":"HashIdentity.Reference","content":"HashIdentity.Reference \nReference \nGet an implementation of equality semantics using reference equality and reference hashing.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-hashidentity.html#FromFunctions","title":"HashIdentity.FromFunctions","content":"HashIdentity.FromFunctions \nFromFunctions \nGet an implementation of equality semantics using the given functions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html","title":"List","content":"List \nContains operations for working with values of type \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-list-1.html\u0022\u003Elist\u003C/a\u003E. \nList.allPairs \nallPairs \nList.append \nappend \nList.average \naverage \nList.averageBy \naverageBy \nList.choose \nchoose \nList.chunkBySize \nchunkBySize \nList.collect \ncollect \nList.compareWith \ncompareWith \nList.concat \nconcat \nList.contains \ncontains \nList.distinct \ndistinct \nList.distinctBy \ndistinctBy \nList.countBy \ncountBy \nList.splitInto \nsplitInto \nList.empty \nempty \nList.except \nexcept \nList.exactlyOne \nexactlyOne \nList.tryExactlyOne \ntryExactlyOne \nList.exists \nexists \nList.exists2 \nexists2 \nList.find \nfind \nList.findBack \nfindBack \nList.findIndex \nfindIndex \nList.findIndexBack \nfindIndexBack \nList.filter \nfilter \nList.fold \nfold \nList.fold2 \nfold2 \nList.foldBack \nfoldBack \nList.foldBack2 \nfoldBack2 \nList.forall \nforall \nList.forall2 \nforall2 \nList.groupBy \ngroupBy \nList.head \nhead \nList.indexed \nindexed \nList.init \ninit \nList.isEmpty \nisEmpty \nList.item \nitem \nList.iter \niter \nList.iter2 \niter2 \nList.iteri \niteri \nList.iteri2 \niteri2 \nList.last \nlast \nList.length \nlength \nList.tryLast \ntryLast \nList.map \nmap \nList.map2 \nmap2 \nList.map3 \nmap3 \nList.mapFold \nmapFold \nList.mapFoldBack \nmapFoldBack \nList.mapi \nmapi \nList.mapi2 \nmapi2 \nList.max \nmax \nList.maxBy \nmaxBy \nList.min \nmin \nList.minBy \nminBy \nList.nth \nnth \nList.ofArray \nofArray \nList.ofSeq \nofSeq \nList.pairwise \npairwise \nList.partition \npartition \nList.pick \npick \nList.permute \npermute \nList.reduce \nreduce \nList.reduceBack \nreduceBack \nList.replicate \nreplicate \nList.rev \nrev \nList.scan \nscan \nList.scanBack \nscanBack \nList.singleton \nsingleton \nList.skip \nskip \nList.skipWhile \nskipWhile \nList.sortWith \nsortWith \nList.sortBy \nsortBy \nList.sort \nsort \nList.splitAt \nsplitAt \nList.sortByDescending \nsortByDescending \nList.sortDescending \nsortDescending \nList.sum \nsum \nList.sumBy \nsumBy \nList.tail \ntail \nList.take \ntake \nList.takeWhile \ntakeWhile \nList.toArray \ntoArray \nList.toSeq \ntoSeq \nList.tryHead \ntryHead \nList.transpose \ntranspose \nList.truncate \ntruncate \nList.tryPick \ntryPick \nList.tryFind \ntryFind \nList.tryFindBack \ntryFindBack \nList.tryFindIndex \ntryFindIndex \nList.tryItem \ntryItem \nList.tryFindIndexBack \ntryFindIndexBack \nList.unfold \nunfold \nList.unzip \nunzip \nList.unzip3 \nunzip3 \nList.where \nwhere \nList.windowed \nwindowed \nList.zip \nzip \nList.zip3 \nzip3 \nList.removeAt \nremoveAt \nList.removeManyAt \nremoveManyAt \nList.updateAt \nupdateAt \nList.insertAt \ninsertAt \nList.insertManyAt \ninsertManyAt \nList.randomShuffle \nrandomShuffle \nList.randomShuffleWith \nrandomShuffleWith \nList.randomShuffleBy \nrandomShuffleBy \nList.randomChoice \nrandomChoice \nList.randomChoiceWith \nrandomChoiceWith \nList.randomChoiceBy \nrandomChoiceBy \nList.randomChoices \nrandomChoices \nList.randomChoicesWith \nrandomChoicesWith \nList.randomChoicesBy \nrandomChoicesBy \nList.randomSample \nrandomSample \nList.randomSampleWith \nrandomSampleWith \nList.randomSampleBy \nrandomSampleBy","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#allPairs","title":"List.allPairs","content":"List.allPairs \nallPairs \nReturns a new list that contains all pairings of elements from two lists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#append","title":"List.append","content":"List.append \nappend \nReturns a new list that contains the elements of the first list\n followed by elements of the second list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#average","title":"List.average","content":"List.average \naverage \nReturns the average of the values in a non-empty list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#averageBy","title":"List.averageBy","content":"List.averageBy \naverageBy \nReturns the average of values in a list generated by applying a function to each element of the list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#choose","title":"List.choose","content":"List.choose \nchoose \nApplies a function to each element in a list and then returns\n a list of values \u003Ccode\u003Ev\u003C/code\u003E where the applied function returned \u003Ccode\u003ESome(v)\u003C/code\u003E.\n \n Returns an empty list when the input list is empty or when the applied chooser function\n returns \u003Ccode\u003ENone\u003C/code\u003E for all elements.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#chunkBySize","title":"List.chunkBySize","content":"List.chunkBySize \nchunkBySize \nDivides the input list into lists (chunks) of size at most \u003Ccode\u003EchunkSize\u003C/code\u003E.\n Returns a new list containing the generated lists (chunks) as its elements.\n \n Returns an empty list when the input list is empty.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#collect","title":"List.collect","content":"List.collect \ncollect \nFor each element of the list, applies the given function. Concatenates all the results and returns the combined list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#compareWith","title":"List.compareWith","content":"List.compareWith \ncompareWith \nCompares two lists using the given comparison function, element by element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#concat","title":"List.concat","content":"List.concat \nconcat \nReturns a new list that contains the elements of each of the lists in order.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#contains","title":"List.contains","content":"List.contains \ncontains \nTests if the list contains the specified element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#distinct","title":"List.distinct","content":"List.distinct \ndistinct \nReturns a list that contains no duplicate entries according to generic hash and\n equality comparisons on the entries.\n If an element occurs multiple times in the list then the later occurrences are discarded.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#distinctBy","title":"List.distinctBy","content":"List.distinctBy \ndistinctBy \nReturns a list that contains no duplicate entries according to the \n generic hash and equality comparisons on the keys returned by the given key-generating function.\n If an element occurs multiple times in the list then the later occurrences are discarded.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#countBy","title":"List.countBy","content":"List.countBy \ncountBy \nApplies a key-generating function to each element of a list and returns a list yielding unique\n keys and their number of occurrences in the original list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#splitInto","title":"List.splitInto","content":"List.splitInto \nsplitInto \nSplits the input list into at most \u003Ccode\u003Ecount\u003C/code\u003E chunks.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#empty","title":"List.empty","content":"List.empty \nempty \nReturns an empty list of the given type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#except","title":"List.except","content":"List.except \nexcept \nReturns a new list with the distinct elements of the input list which do not appear in the itemsToExclude sequence,\n using generic hash and equality comparisons to compare values.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#exactlyOne","title":"List.exactlyOne","content":"List.exactlyOne \nexactlyOne \nReturns the only element of the list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#tryExactlyOne","title":"List.tryExactlyOne","content":"List.tryExactlyOne \ntryExactlyOne \nReturns the only element of the list or \u003Ccode\u003ENone\u003C/code\u003E if it is empty or contains more than one element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#exists","title":"List.exists","content":"List.exists \nexists \nTests if any element of the list satisfies the given predicate. \nThe predicate is applied to the elements of the input list. If any application \n returns true then the overall result is true and no further elements are tested. \n Otherwise, false is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#exists2","title":"List.exists2","content":"List.exists2 \nexists2 \nTests if any pair of corresponding elements of the lists satisfies the given predicate. \nThe predicate is applied to matching elements in the two collections up to the lesser of the \n two lengths of the collections. If any application returns true then the overall result is \n true and no further elements are tested. Otherwise, if one collections is longer \n than the other then the \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E exception is raised. \n Otherwise, false is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#find","title":"List.find","content":"List.find \nfind \nReturns the first element for which the given function returns True.\n Raises \u003Ccode\u003EKeyNotFoundException\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#findBack","title":"List.findBack","content":"List.findBack \nfindBack \nReturns the last element for which the given function returns True.\n Raises \u003Ccode\u003EKeyNotFoundException\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#findIndex","title":"List.findIndex","content":"List.findIndex \nfindIndex \nReturns the index of the first element in the list\n that satisfies the given predicate.\n Raises \u003Ccode\u003EKeyNotFoundException\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#findIndexBack","title":"List.findIndexBack","content":"List.findIndexBack \nfindIndexBack \nReturns the index of the last element in the list\n that satisfies the given predicate.\n Raises \u003Ccode\u003EKeyNotFoundException\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#filter","title":"List.filter","content":"List.filter \nfilter \nReturns a new collection containing only the elements of the collection\n for which the given predicate returns \u0022true\u0022","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#fold","title":"List.fold","content":"List.fold \nfold \nApplies a function to each element of the collection, threading an accumulator argument\n through the computation. Take the second argument, and apply the function to it\n and the first element of the list. Then feed this result into the function along\n with the second element and so on. Return the final result.\n If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E then \n computes \u003Ccode\u003Ef (... (f s i0) i1 ...) iN\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#fold2","title":"List.fold2","content":"List.fold2 \nfold2 \nApplies a function to corresponding elements of two collections, threading an accumulator argument\n through the computation. The collections must have identical sizes.\n If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E and \u003Ccode\u003Ej0...jN\u003C/code\u003E\n then computes \u003Ccode\u003Ef (... (f s i0 j0)...) iN jN\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#foldBack","title":"List.foldBack","content":"List.foldBack \nfoldBack \nApplies a function to each element of the collection, starting from the end, threading an accumulator argument\n through the computation. If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E then \n computes \u003Ccode\u003Ef i0 (...(f iN s))\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#foldBack2","title":"List.foldBack2","content":"List.foldBack2 \nfoldBack2 \nApplies a function to corresponding elements of two collections, threading an accumulator argument\n through the computation. The collections must have identical sizes.\n If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E and \u003Ccode\u003Ej0...jN\u003C/code\u003E\n then computes \u003Ccode\u003Ef i0 j0 (...(f iN jN s))\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#forall","title":"List.forall","content":"List.forall \nforall \nTests if all elements of the collection satisfy the given predicate. \nThe predicate is applied to the elements of the input list. If any application \n returns false then the overall result is false and no further elements are tested. \n Otherwise, true is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#forall2","title":"List.forall2","content":"List.forall2 \nforall2 \nTests if all corresponding elements of the collection satisfy the given predicate pairwise. \nThe predicate is applied to matching elements in the two collections up to the lesser of the \n two lengths of the collections. If any application returns false then the overall result is \n false and no further elements are tested. Otherwise, if one collection is longer \n than the other then the \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E exception is raised. \n Otherwise, true is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#groupBy","title":"List.groupBy","content":"List.groupBy \ngroupBy \nApplies a key-generating function to each element of a list and yields a list of \n unique keys. Each unique key contains a list of all elements that match \n to this key.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#head","title":"List.head","content":"List.head \nhead \nReturns the first element of the list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#indexed","title":"List.indexed","content":"List.indexed \nindexed \nReturns a new list whose elements are the corresponding elements\n of the input list paired with the index (from 0) of each element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#init","title":"List.init","content":"List.init \ninit \nCreates a list by calling the given generator on each index.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#isEmpty","title":"List.isEmpty","content":"List.isEmpty \nisEmpty \nReturns true if the list contains no elements, false otherwise.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#item","title":"List.item","content":"List.item \nitem \nIndexes into the list. The first element has index 0.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#iter","title":"List.iter","content":"List.iter \niter \nApplies the given function to each element of the collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#iter2","title":"List.iter2","content":"List.iter2 \niter2 \nApplies the given function to two collections simultaneously. The\n collections must have identical sizes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#iteri","title":"List.iteri","content":"List.iteri \niteri \nApplies the given function to each element of the collection. The integer passed to the\n function indicates the index of the element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#iteri2","title":"List.iteri2","content":"List.iteri2 \niteri2 \nApplies the given function to two collections simultaneously. The\n collections must have identical sizes. The integer passed to the\n function indicates the index of the element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#last","title":"List.last","content":"List.last \nlast \nReturns the last element of the list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#length","title":"List.length","content":"List.length \nlength \nReturns the length of the list. \nThe notation \u003Ccode\u003Earray.Length\u003C/code\u003E is preferred.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#tryLast","title":"List.tryLast","content":"List.tryLast \ntryLast \nReturns the last element of the list.\n Return \u003Ccode\u003ENone\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#map","title":"List.map","content":"List.map \nmap \nBuilds a new collection whose elements are the results of applying the given function\n to each of the elements of the collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#map2","title":"List.map2","content":"List.map2 \nmap2 \nBuilds a new collection whose elements are the results of applying the given function\n to the corresponding elements of the two collections pairwise.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#map3","title":"List.map3","content":"List.map3 \nmap3 \nBuilds a new collection whose elements are the results of applying the given function\n to the corresponding elements of the three collections simultaneously.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#mapFold","title":"List.mapFold","content":"List.mapFold \nmapFold \nCombines map and fold. Builds a new list whose elements are the results of applying the given function\n to each of the elements of the input list. The function is also used to accumulate a final value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#mapFoldBack","title":"List.mapFoldBack","content":"List.mapFoldBack \nmapFoldBack \nCombines map and foldBack. Builds a new list whose elements are the results of applying the given function\n to each of the elements of the input list. The function is also used to accumulate a final value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#mapi","title":"List.mapi","content":"List.mapi \nmapi \nBuilds a new collection whose elements are the results of applying the given function\n to each of the elements of the collection. The integer index passed to the\n function indicates the index (from 0) of the element being transformed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#mapi2","title":"List.mapi2","content":"List.mapi2 \nmapi2 \nLike mapi, but mapping corresponding elements from two lists of equal length.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#max","title":"List.max","content":"List.max \nmax \nReturn the greatest of all elements of the list, compared via Operators.max. \nRaises \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E if \u003Ccode\u003Elist\u003C/code\u003E is empty","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#maxBy","title":"List.maxBy","content":"List.maxBy \nmaxBy \nReturns the greatest of all elements of the list, compared via Operators.max on the function result. \nRaises \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E if \u003Ccode\u003Elist\u003C/code\u003E is empty.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#min","title":"List.min","content":"List.min \nmin \nReturns the lowest of all elements of the list, compared via Operators.min. \nRaises \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E if \u003Ccode\u003Elist\u003C/code\u003E is empty","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#minBy","title":"List.minBy","content":"List.minBy \nminBy \nReturns the lowest of all elements of the list, compared via Operators.min on the function result \nRaises \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E if \u003Ccode\u003Elist\u003C/code\u003E is empty.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#nth","title":"List.nth","content":"List.nth \nnth \nIndexes into the list. The first element has index 0.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#ofArray","title":"List.ofArray","content":"List.ofArray \nofArray \nBuilds a list from the given array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#ofSeq","title":"List.ofSeq","content":"List.ofSeq \nofSeq \nBuilds a new list from the given enumerable object.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#pairwise","title":"List.pairwise","content":"List.pairwise \npairwise \nReturns a list of each element in the input list and its predecessor, with the\n exception of the first element which is only returned as the predecessor of the second element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#partition","title":"List.partition","content":"List.partition \npartition \nSplits the collection into two collections, containing the \n elements for which the given predicate returns True and False\n respectively. Element order is preserved in both of the created lists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#pick","title":"List.pick","content":"List.pick \npick \nApplies the given function to successive elements, returning the first\n result where function returns \u003Ccode\u003ESome(x)\u003C/code\u003E for some x. If no such\n element exists then raise \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.keynotfoundexception\u0022\u003EKeyNotFoundException\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#permute","title":"List.permute","content":"List.permute \npermute \nReturns a list with all elements permuted according to the\n specified permutation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#reduce","title":"List.reduce","content":"List.reduce \nreduce \nApply a function to each element of the collection, threading an accumulator argument\n through the computation. Apply the function to the first two elements of the list.\n Then feed this result into the function along with the third element and so on. \n Return the final result. If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E then computes \n \u003Ccode\u003Ef (... (f i0 i1) i2 ...) iN\u003C/code\u003E. \nRaises \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E if \u003Ccode\u003Elist\u003C/code\u003E is empty","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#reduceBack","title":"List.reduceBack","content":"List.reduceBack \nreduceBack \nApplies a function to each element of the collection, starting from the end, threading an accumulator argument\n through the computation. If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E then computes \n \u003Ccode\u003Ef i0 (...(f iN-1 iN))\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#replicate","title":"List.replicate","content":"List.replicate \nreplicate \nCreates a list by replicating the given initial value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#rev","title":"List.rev","content":"List.rev \nrev \nReturns a new list with the elements in reverse order.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#scan","title":"List.scan","content":"List.scan \nscan \nApplies a function to each element of the collection, threading an accumulator argument\n through the computation. Take the second argument, and apply the function to it\n and the first element of the list. Then feed this result into the function along\n with the second element and so on. Returns the list of intermediate results and the final result.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#scanBack","title":"List.scanBack","content":"List.scanBack \nscanBack \nLike \u003Ccode\u003EfoldBack\u003C/code\u003E, but returns both the intermediary and final results","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#singleton","title":"List.singleton","content":"List.singleton \nsingleton \nReturns a list that contains one item only.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#skip","title":"List.skip","content":"List.skip \nskip \nReturns the list after removing the first N elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#skipWhile","title":"List.skipWhile","content":"List.skipWhile \nskipWhile \nBypasses elements in a list while the given predicate returns True, and then returns\n the remaining elements of the list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#sortWith","title":"List.sortWith","content":"List.sortWith \nsortWith \nSorts the given list using the given comparison function. \nThis is a stable sort, i.e. the original order of equal elements is preserved.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#sortBy","title":"List.sortBy","content":"List.sortBy \nsortBy \nSorts the given list using keys given by the given projection. Keys are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is a stable sort, i.e. the original order of equal elements is preserved.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#sort","title":"List.sort","content":"List.sort \nsort \nSorts the given list using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is a stable sort, i.e. the original order of equal elements is preserved.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#splitAt","title":"List.splitAt","content":"List.splitAt \nsplitAt \nSplits a list into two lists, at the given index.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#sortByDescending","title":"List.sortByDescending","content":"List.sortByDescending \nsortByDescending \nSorts the given list in descending order using keys given by the given projection. Keys are compared using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is a stable sort, i.e. the original order of equal elements is preserved.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#sortDescending","title":"List.sortDescending","content":"List.sortDescending \nsortDescending \nSorts the given list in descending order using \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis is a stable sort, i.e. the original order of equal elements is preserved.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#sum","title":"List.sum","content":"List.sum \nsum \nReturns the sum of the elements in the list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#sumBy","title":"List.sumBy","content":"List.sumBy \nsumBy \nReturns the sum of the results generated by applying the function to each element of the list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#tail","title":"List.tail","content":"List.tail \ntail \nReturns the list after removing the first element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#take","title":"List.take","content":"List.take \ntake \nReturns the first N elements of the list. \nThrows \u003Ccode\u003EInvalidOperationException\u003C/code\u003E\n if the count exceeds the number of elements in the list. \u003Ccode\u003EList.truncate\u003C/code\u003E\n returns as many items as the list contains instead of throwing an exception.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#takeWhile","title":"List.takeWhile","content":"List.takeWhile \ntakeWhile \nReturns a list that contains all elements of the original list while the \n given predicate returns True, and then returns no further elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#toArray","title":"List.toArray","content":"List.toArray \ntoArray \nBuilds an array from the given list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#toSeq","title":"List.toSeq","content":"List.toSeq \ntoSeq \nViews the given list as a sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#tryHead","title":"List.tryHead","content":"List.tryHead \ntryHead \nReturns the first element of the list, or\n \u003Ccode\u003ENone\u003C/code\u003E if the list is empty.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#transpose","title":"List.transpose","content":"List.transpose \ntranspose \nReturns the transpose of the given sequence of lists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#truncate","title":"List.truncate","content":"List.truncate \ntruncate \nReturns at most N elements in a new list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#tryPick","title":"List.tryPick","content":"List.tryPick \ntryPick \nApplies the given function to successive elements, returning \u003Ccode\u003ESome(x)\u003C/code\u003E the first\n result where function returns \u003Ccode\u003ESome(x)\u003C/code\u003E for some x. If no such element \n exists then return \u003Ccode\u003ENone\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#tryFind","title":"List.tryFind","content":"List.tryFind \ntryFind \nReturns the first element for which the given function returns True.\n Return None if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#tryFindBack","title":"List.tryFindBack","content":"List.tryFindBack \ntryFindBack \nReturns the last element for which the given function returns True.\n Return None if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#tryFindIndex","title":"List.tryFindIndex","content":"List.tryFindIndex \ntryFindIndex \nReturns the index of the first element in the list\n that satisfies the given predicate.\n Return \u003Ccode\u003ENone\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#tryItem","title":"List.tryItem","content":"List.tryItem \ntryItem \nTries to find the nth element in the list.\n Returns \u003Ccode\u003ENone\u003C/code\u003E if index is negative or the list does not contain enough elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#tryFindIndexBack","title":"List.tryFindIndexBack","content":"List.tryFindIndexBack \ntryFindIndexBack \nReturns the index of the last element in the list\n that satisfies the given predicate.\n Return \u003Ccode\u003ENone\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#unfold","title":"List.unfold","content":"List.unfold \nunfold \nReturns a list that contains the elements generated by the given computation.\n The generator is repeatedly called to build the list until it returns \u003Ccode\u003ENone\u003C/code\u003E.\n The given initial \u003Ccode\u003Estate\u003C/code\u003E argument is passed to the element generator. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#unzip","title":"List.unzip","content":"List.unzip \nunzip \nSplits a list of pairs into two lists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#unzip3","title":"List.unzip3","content":"List.unzip3 \nunzip3 \nSplits a list of triples into three lists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#where","title":"List.where","content":"List.where \nwhere \nReturns a new list containing only the elements of the list\n for which the given predicate returns \u0022true\u0022 \nThis is identical to \u003Ccode\u003EList.filter\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#windowed","title":"List.windowed","content":"List.windowed \nwindowed \nReturns a list of sliding windows containing elements drawn from the input\n list. Each window is returned as a fresh list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#zip","title":"List.zip","content":"List.zip \nzip \nCombines the two lists into a list of pairs. The two lists must have equal lengths.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#zip3","title":"List.zip3","content":"List.zip3 \nzip3 \nCombines the three lists into a list of triples. The lists must have equal lengths.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#removeAt","title":"List.removeAt","content":"List.removeAt \nremoveAt \nReturn a new list with the item at a given index removed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#removeManyAt","title":"List.removeManyAt","content":"List.removeManyAt \nremoveManyAt \nReturn a new list with the number of items starting at a given index removed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#updateAt","title":"List.updateAt","content":"List.updateAt \nupdateAt \nReturn a new list with the item at a given index set to the new value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#insertAt","title":"List.insertAt","content":"List.insertAt \ninsertAt \nReturn a new list with a new item inserted before the given index.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#insertManyAt","title":"List.insertManyAt","content":"List.insertManyAt \ninsertManyAt \nReturn a new list with new items inserted before the given index.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomShuffle","title":"List.randomShuffle","content":"List.randomShuffle \nrandomShuffle \nReturn a new list shuffled in a random order.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomShuffleWith","title":"List.randomShuffleWith","content":"List.randomShuffleWith \nrandomShuffleWith \nReturn a new list shuffled in a random order with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomShuffleBy","title":"List.randomShuffleBy","content":"List.randomShuffleBy \nrandomShuffleBy \nReturn a new list shuffled in a random order using the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomChoice","title":"List.randomChoice","content":"List.randomChoice \nrandomChoice \nReturns a random element from the given list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomChoiceWith","title":"List.randomChoiceWith","content":"List.randomChoiceWith \nrandomChoiceWith \nReturns a random element from the given list with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance, each element can be selected multiple times.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomChoiceBy","title":"List.randomChoiceBy","content":"List.randomChoiceBy \nrandomChoiceBy \nReturns a random element from the given list using the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomChoices","title":"List.randomChoices","content":"List.randomChoices \nrandomChoices \nReturns a list of random elements from the given list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomChoicesWith","title":"List.randomChoicesWith","content":"List.randomChoicesWith \nrandomChoicesWith \nReturns a list of random elements from the given list with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance, each element can be selected multiple times.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomChoicesBy","title":"List.randomChoicesBy","content":"List.randomChoicesBy \nrandomChoicesBy \nReturns a list of random elements from the given list using the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomSample","title":"List.randomSample","content":"List.randomSample \nrandomSample \nReturns a random sample of elements from the given list, each element can be selected only once.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomSampleWith","title":"List.randomSampleWith","content":"List.randomSampleWith \nrandomSampleWith \nReturns a random sample of elements from the given list with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance, each element can be selected only once.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html#randomSampleBy","title":"List.randomSampleBy","content":"List.randomSampleBy \nrandomSampleBy \nReturns a random sample of elements from the given list using the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function, each element can be selected only once.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html","title":"Map","content":"Map \nContains operations for working with values of type \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html\u0022\u003EMap\u003C/a\u003E. \nMap.add \nadd \nMap.change \nchange \nMap.ofList \nofList \nMap.ofArray \nofArray \nMap.ofSeq \nofSeq \nMap.toSeq \ntoSeq \nMap.toList \ntoList \nMap.toArray \ntoArray \nMap.isEmpty \nisEmpty \nMap.empty \nempty \nMap.find \nfind \nMap.tryPick \ntryPick \nMap.pick \npick \nMap.foldBack \nfoldBack \nMap.fold \nfold \nMap.iter \niter \nMap.exists \nexists \nMap.filter \nfilter \nMap.forall \nforall \nMap.map \nmap \nMap.containsKey \ncontainsKey \nMap.partition \npartition \nMap.remove \nremove \nMap.tryFind \ntryFind \nMap.findKey \nfindKey \nMap.tryFindKey \ntryFindKey \nMap.count \ncount \nMap.keys \nkeys \nMap.values \nvalues \nMap.minKeyValue \nminKeyValue \nMap.maxKeyValue \nmaxKeyValue","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#add","title":"Map.add","content":"Map.add \nadd \nReturns a new map with the binding added to the given map.\n If a binding with the given key already exists in the input map, the existing binding is replaced by the new binding in the result map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#change","title":"Map.change","content":"Map.change \nchange \nReturns a new map with the value stored under key changed according to f.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#ofList","title":"Map.ofList","content":"Map.ofList \nofList \nReturns a new map made from the given bindings.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#ofArray","title":"Map.ofArray","content":"Map.ofArray \nofArray \nReturns a new map made from the given bindings.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#ofSeq","title":"Map.ofSeq","content":"Map.ofSeq \nofSeq \nReturns a new map made from the given bindings.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#toSeq","title":"Map.toSeq","content":"Map.toSeq \ntoSeq \nViews the collection as an enumerable sequence of pairs.\n The sequence will be ordered by the keys of the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#toList","title":"Map.toList","content":"Map.toList \ntoList \nReturns a list of all key-value pairs in the mapping.\n The list will be ordered by the keys of the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#toArray","title":"Map.toArray","content":"Map.toArray \ntoArray \nReturns an array of all key-value pairs in the mapping.\n The array will be ordered by the keys of the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#isEmpty","title":"Map.isEmpty","content":"Map.isEmpty \nisEmpty \nIs the map empty?","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#empty","title":"Map.empty","content":"Map.empty \nempty \nThe empty map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#find","title":"Map.find","content":"Map.find \nfind \nLookup an element in the map, raising \u003Ccode\u003EKeyNotFoundException\u003C/code\u003E if no binding\n exists in the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#tryPick","title":"Map.tryPick","content":"Map.tryPick \ntryPick \nSearches the map looking for the first element where the given function returns a \u003Ccode\u003ESome\u003C/code\u003E value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#pick","title":"Map.pick","content":"Map.pick \npick \nSearches the map looking for the first element where the given function returns a \u003Ccode\u003ESome\u003C/code\u003E value.\n Raise \u003Ccode\u003EKeyNotFoundException\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#foldBack","title":"Map.foldBack","content":"Map.foldBack \nfoldBack \nFolds over the bindings in the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#fold","title":"Map.fold","content":"Map.fold \nfold \nFolds over the bindings in the map ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#iter","title":"Map.iter","content":"Map.iter \niter \nApplies the given function to each binding in the dictionary","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#exists","title":"Map.exists","content":"Map.exists \nexists \nReturns true if the given predicate returns true for one of the\n bindings in the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#filter","title":"Map.filter","content":"Map.filter \nfilter \nBuilds a new map containing only the bindings for which the given predicate returns \u0027true\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#forall","title":"Map.forall","content":"Map.forall \nforall \nReturns true if the given predicate returns true for all of the\n bindings in the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#map","title":"Map.map","content":"Map.map \nmap \nBuilds a new collection whose elements are the results of applying the given function\n to each of the elements of the collection. The key passed to the\n function indicates the key of element being transformed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#containsKey","title":"Map.containsKey","content":"Map.containsKey \ncontainsKey \nTests if an element is in the domain of the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#partition","title":"Map.partition","content":"Map.partition \npartition \nBuilds two new maps, one containing the bindings for which the given predicate returns \u0027true\u0027,\n and the other the remaining bindings.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#remove","title":"Map.remove","content":"Map.remove \nremove \nRemoves an element from the domain of the map. No exception is raised if the element is not present.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#tryFind","title":"Map.tryFind","content":"Map.tryFind \ntryFind \nLookup an element in the map, returning a \u003Ccode\u003ESome\u003C/code\u003E value if the element is in the domain\n of the map and \u003Ccode\u003ENone\u003C/code\u003E if not.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#findKey","title":"Map.findKey","content":"Map.findKey \nfindKey \nEvaluates the function on each mapping in the collection. Returns the key for the first mapping\n where the function returns \u0027true\u0027. Raise \u003Ccode\u003EKeyNotFoundException\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#tryFindKey","title":"Map.tryFindKey","content":"Map.tryFindKey \ntryFindKey \nReturns the key of the first mapping in the collection that satisfies the given predicate.\n Returns \u0027None\u0027 if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#count","title":"Map.count","content":"Map.count \ncount \nThe number of bindings in the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#keys","title":"Map.keys","content":"Map.keys \nkeys \nThe keys in the map.\n The sequence will be ordered by the keys of the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#values","title":"Map.values","content":"Map.values \nvalues \nThe values in the map, including the duplicates.\n The sequence will be ordered by the keys of the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#minKeyValue","title":"Map.minKeyValue","content":"Map.minKeyValue \nminKeyValue \nReturns binding for the smallest key in the map.\n Raise \u003Ccode\u003EKeyNotFoundException\u003C/code\u003E when map is empty.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html#maxKeyValue","title":"Map.maxKeyValue","content":"Map.maxKeyValue \nmaxKeyValue \nReturns binding for the largest key in the map.\n Raise \u003Ccode\u003EKeyNotFoundException\u003C/code\u003E when map is empty.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html","title":"Seq","content":"Seq \nContains operations for working with values of type \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seq-1.html\u0022\u003Eseq\u003C/a\u003E. \nSeq.allPairs \nallPairs \nSeq.append \nappend \nSeq.average \naverage \nSeq.averageBy \naverageBy \nSeq.cache \ncache \nSeq.cast \ncast \nSeq.choose \nchoose \nSeq.chunkBySize \nchunkBySize \nSeq.collect \ncollect \nSeq.compareWith \ncompareWith \nSeq.concat \nconcat \nSeq.contains \ncontains \nSeq.countBy \ncountBy \nSeq.delay \ndelay \nSeq.distinct \ndistinct \nSeq.distinctBy \ndistinctBy \nSeq.splitInto \nsplitInto \nSeq.empty \nempty \nSeq.except \nexcept \nSeq.exists \nexists \nSeq.exists2 \nexists2 \nSeq.filter \nfilter \nSeq.where \nwhere \nSeq.find \nfind \nSeq.findBack \nfindBack \nSeq.findIndex \nfindIndex \nSeq.findIndexBack \nfindIndexBack \nSeq.fold \nfold \nSeq.fold2 \nfold2 \nSeq.foldBack \nfoldBack \nSeq.foldBack2 \nfoldBack2 \nSeq.forall \nforall \nSeq.forall2 \nforall2 \nSeq.groupBy \ngroupBy \nSeq.head \nhead \nSeq.tryHead \ntryHead \nSeq.last \nlast \nSeq.tryLast \ntryLast \nSeq.exactlyOne \nexactlyOne \nSeq.tryExactlyOne \ntryExactlyOne \nSeq.isEmpty \nisEmpty \nSeq.indexed \nindexed \nSeq.init \ninit \nSeq.initInfinite \ninitInfinite \nSeq.item \nitem \nSeq.iter \niter \nSeq.iteri \niteri \nSeq.iter2 \niter2 \nSeq.iteri2 \niteri2 \nSeq.length \nlength \nSeq.map \nmap \nSeq.map2 \nmap2 \nSeq.mapFold \nmapFold \nSeq.mapFoldBack \nmapFoldBack \nSeq.map3 \nmap3 \nSeq.mapi \nmapi \nSeq.mapi2 \nmapi2 \nSeq.max \nmax \nSeq.maxBy \nmaxBy \nSeq.min \nmin \nSeq.minBy \nminBy \nSeq.nth \nnth \nSeq.ofArray \nofArray \nSeq.ofList \nofList \nSeq.pairwise \npairwise \nSeq.permute \npermute \nSeq.pick \npick \nSeq.readonly \nreadonly \nSeq.reduce \nreduce \nSeq.replicate \nreplicate \nSeq.reduceBack \nreduceBack \nSeq.rev \nrev \nSeq.scan \nscan \nSeq.scanBack \nscanBack \nSeq.singleton \nsingleton \nSeq.skip \nskip \nSeq.skipWhile \nskipWhile \nSeq.sort \nsort \nSeq.sortWith \nsortWith \nSeq.sortBy \nsortBy \nSeq.sortDescending \nsortDescending \nSeq.sortByDescending \nsortByDescending \nSeq.sum \nsum \nSeq.sumBy \nsumBy \nSeq.tail \ntail \nSeq.take \ntake \nSeq.takeWhile \ntakeWhile \nSeq.toArray \ntoArray \nSeq.toList \ntoList \nSeq.tryFind \ntryFind \nSeq.tryFindBack \ntryFindBack \nSeq.tryFindIndex \ntryFindIndex \nSeq.tryItem \ntryItem \nSeq.tryFindIndexBack \ntryFindIndexBack \nSeq.tryPick \ntryPick \nSeq.transpose \ntranspose \nSeq.truncate \ntruncate \nSeq.unfold \nunfold \nSeq.windowed \nwindowed \nSeq.zip \nzip \nSeq.zip3 \nzip3 \nSeq.removeAt \nremoveAt \nSeq.removeManyAt \nremoveManyAt \nSeq.updateAt \nupdateAt \nSeq.insertAt \ninsertAt \nSeq.insertManyAt \ninsertManyAt \nSeq.randomShuffle \nrandomShuffle \nSeq.randomShuffleWith \nrandomShuffleWith \nSeq.randomShuffleBy \nrandomShuffleBy \nSeq.randomChoice \nrandomChoice \nSeq.randomChoiceWith \nrandomChoiceWith \nSeq.randomChoiceBy \nrandomChoiceBy \nSeq.randomChoices \nrandomChoices \nSeq.randomChoicesWith \nrandomChoicesWith \nSeq.randomChoicesBy \nrandomChoicesBy \nSeq.randomSample \nrandomSample \nSeq.randomSampleWith \nrandomSampleWith \nSeq.randomSampleBy \nrandomSampleBy","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#allPairs","title":"Seq.allPairs","content":"Seq.allPairs \nallPairs \nReturns a new sequence that contains all pairings of elements from the first and second sequences.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#append","title":"Seq.append","content":"Seq.append \nappend \nWraps the two given enumerations as a single concatenated\n enumeration. \nThe returned sequence may be passed between threads safely. However,\n individual IEnumerator values generated from the returned sequence should not be accessed\n concurrently.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#average","title":"Seq.average","content":"Seq.average \naverage \nReturns the average of the elements in the sequence. \nThe elements are averaged using the \u003Ccode\u003E\u002B\u003C/code\u003E operator, \u003Ccode\u003EDivideByInt\u003C/code\u003E method and \u003Ccode\u003EZero\u003C/code\u003E property\n associated with the element type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#averageBy","title":"Seq.averageBy","content":"Seq.averageBy \naverageBy \nReturns the average of the results generated by applying the function to each element\n of the sequence. \nThe elements are averaged using the \u003Ccode\u003E\u002B\u003C/code\u003E operator, \u003Ccode\u003EDivideByInt\u003C/code\u003E method and \u003Ccode\u003EZero\u003C/code\u003E property\n associated with the generated type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#cache","title":"Seq.cache","content":"Seq.cache \ncache \nReturns a sequence that corresponds to a cached version of the input sequence. \n\n The result sequence will have the same elements as the input sequence. The result\n can be enumerated multiple times. The input sequence will be enumerated at most\n once and only as far as is necessary. Caching a sequence is typically useful when repeatedly\n evaluating items in the original sequence is computationally expensive or if\n iterating the sequence causes side-effects that the user does not want to be\n repeated multiple times.\n\n Enumeration of the result sequence is thread safe in the sense that multiple independent IEnumerator\n values may be used simultaneously from different threads (accesses to\n the internal lookaside table are thread safe). Each individual IEnumerator\n is not typically thread safe and should not be accessed concurrently.\n\n Once enumeration of the input sequence has started,\n it\u0027s enumerator will be kept live by this object until the enumeration has completed.\n At that point, the enumerator will be disposed.\n\n The enumerator may be disposed and underlying cache storage released by\n converting the returned sequence object to type IDisposable, and calling the Dispose method\n on this object. The sequence object may then be re-enumerated and a fresh enumerator will\n be used.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#cast","title":"Seq.cast","content":"Seq.cast \ncast \nWraps a loosely-typed System.Collections sequence as a typed sequence. \nThe use of this function usually requires a type annotation.\n An incorrect type annotation may result in runtime type\n errors.\n Individual IEnumerator values generated from the returned sequence should not be accessed concurrently.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#choose","title":"Seq.choose","content":"Seq.choose \nchoose \nApplies the given function to each element of the sequence. Returns\n a sequence comprised of the results \u0022x\u0022 for each element where\n the function returns Some(x). \nThe returned sequence may be passed between threads safely. However,\n individual IEnumerator values generated from the returned sequence should not\n be accessed concurrently.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#chunkBySize","title":"Seq.chunkBySize","content":"Seq.chunkBySize \nchunkBySize \nDivides the input sequence into chunks of size at most \u003Ccode\u003EchunkSize\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#collect","title":"Seq.collect","content":"Seq.collect \ncollect \nApplies the given function to each element of the sequence and concatenates all the\n results. \nRemember sequence is lazy, effects are delayed until it is enumerated.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#compareWith","title":"Seq.compareWith","content":"Seq.compareWith \ncompareWith \nCompares two sequences using the given comparison function, element by element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#concat","title":"Seq.concat","content":"Seq.concat \nconcat \nCombines the given enumeration-of-enumerations as a single concatenated\n enumeration. \nThe returned sequence may be passed between threads safely. However,\n individual IEnumerator values generated from the returned sequence should not be accessed concurrently.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#contains","title":"Seq.contains","content":"Seq.contains \ncontains \nTests if the sequence contains the specified element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#countBy","title":"Seq.countBy","content":"Seq.countBy \ncountBy \nApplies a key-generating function to each element of a sequence and returns a sequence yielding unique\n keys and their number of occurrences in the original sequence. \nNote that this function returns a sequence that digests the whole initial sequence as soon as\n that sequence is iterated. As a result this function should not be used with\n large or infinite sequences. The function makes no assumption on the ordering of the original\n sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#delay","title":"Seq.delay","content":"Seq.delay \ndelay \nReturns a sequence that is built from the given delayed specification of a\n sequence. \nThe input function is evaluated each time an IEnumerator for the sequence\n is requested.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#distinct","title":"Seq.distinct","content":"Seq.distinct \ndistinct \nReturns a sequence that contains no duplicate entries according to generic hash and\n equality comparisons on the entries.\n If an element occurs multiple times in the sequence then the later occurrences are discarded.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#distinctBy","title":"Seq.distinctBy","content":"Seq.distinctBy \ndistinctBy \nReturns a sequence that contains no duplicate entries according to the\n generic hash and equality comparisons on the keys returned by the given key-generating function.\n If an element occurs multiple times in the sequence then the later occurrences are discarded.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#splitInto","title":"Seq.splitInto","content":"Seq.splitInto \nsplitInto \nSplits the input sequence into at most \u003Ccode\u003Ecount\u003C/code\u003E chunks. \nThis function returns a sequence that digests the whole initial sequence as soon as that\n sequence is iterated. As a result this function should not be used with large or infinite sequences.This function consumes the whole input sequence before yielding the first element of the result sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#empty","title":"Seq.empty","content":"Seq.empty \nempty \nCreates an empty sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#except","title":"Seq.except","content":"Seq.except \nexcept \nReturns a new sequence with the distinct elements of the second sequence which do not appear in the first sequence,\n using generic hash and equality comparisons to compare values. \nNote that this function returns a sequence that digests the whole of the first input sequence as soon as\n the result sequence is iterated. As a result this function should not be used with\n large or infinite sequences in the first parameter. The function makes no assumption on the ordering of the first input\n sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#exists","title":"Seq.exists","content":"Seq.exists \nexists \nTests if any element of the sequence satisfies the given predicate. \nThe predicate is applied to the elements of the input sequence. If any application\n returns true then the overall result is true and no further elements are tested.\n Otherwise, false is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#exists2","title":"Seq.exists2","content":"Seq.exists2 \nexists2 \nTests if any pair of corresponding elements of the input sequences satisfies the given predicate. \nThe predicate is applied to matching elements in the two sequences up to the lesser of the\n two lengths of the collections. If any application returns true then the overall result is\n true and no further elements are tested. Otherwise, false is returned. If one sequence is shorter than\n the other then the remaining elements of the longer sequence are ignored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#filter","title":"Seq.filter","content":"Seq.filter \nfilter \nReturns a new collection containing only the elements of the collection\n for which the given predicate returns \u0022true\u0022. This is a synonym for Seq.where. \nThe returned sequence may be passed between threads safely. However,\n individual IEnumerator values generated from the returned sequence should not be accessed concurrently.\n\n Remember sequence is lazy, effects are delayed until it is enumerated.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#where","title":"Seq.where","content":"Seq.where \nwhere \nReturns a new collection containing only the elements of the collection\n for which the given predicate returns \u0022true\u0022. \nThe returned sequence may be passed between threads safely. However,\n individual IEnumerator values generated from the returned sequence should not be accessed concurrently.\n\n Remember sequence is lazy, effects are delayed until it is enumerated.\n\n A synonym for Seq.filter.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#find","title":"Seq.find","content":"Seq.find \nfind \nReturns the first element for which the given function returns True.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#findBack","title":"Seq.findBack","content":"Seq.findBack \nfindBack \nReturns the last element for which the given function returns True. \nThis function digests the whole initial sequence as soon as it is called. As a\n result this function should not be used with large or infinite sequences.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#findIndex","title":"Seq.findIndex","content":"Seq.findIndex \nfindIndex \nReturns the index of the first element for which the given function returns True.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#findIndexBack","title":"Seq.findIndexBack","content":"Seq.findIndexBack \nfindIndexBack \nReturns the index of the last element for which the given function returns True. \nThis function digests the whole initial sequence as soon as it is called. As a\n result this function should not be used with large or infinite sequences.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#fold","title":"Seq.fold","content":"Seq.fold \nfold \nApplies a function to each element of the collection, threading an accumulator argument\n through the computation. If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E\n then computes \u003Ccode\u003Ef (... (f s i0)...) iN\u003C/code\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#fold2","title":"Seq.fold2","content":"Seq.fold2 \nfold2 \nApplies a function to corresponding elements of two collections, threading an accumulator argument\n through the computation. \n The two sequences need not have equal lengths:\n when one sequence is exhausted any remaining elements in the other sequence are ignored.\n If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E and \u003Ccode\u003Ej0...jN\u003C/code\u003E\n then computes \u003Ccode\u003Ef (... (f s i0 j0)...) iN jN\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#foldBack","title":"Seq.foldBack","content":"Seq.foldBack \nfoldBack \nApplies a function to each element of the collection, starting from the end, threading an accumulator argument\n through the computation. If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E\n then computes \u003Ccode\u003Ef i0 (... (f iN s)...)\u003C/code\u003E \nThis function consumes the whole input sequence before returning the result.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#foldBack2","title":"Seq.foldBack2","content":"Seq.foldBack2 \nfoldBack2 \nApplies a function to corresponding elements of two collections, starting from the end of the shorter collection,\n threading an accumulator argument through the computation. The two sequences need not have equal lengths.\n If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E and \u003Ccode\u003Ej0...jM\u003C/code\u003E, N \u003C M\n then computes \u003Ccode\u003Ef i0 j0 (... (f iN jN s)...)\u003C/code\u003E. \n\n This function consumes the whole of both inputs sequences before returning the result. As a\n result this function should not be used with large or infinite sequences.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#forall","title":"Seq.forall","content":"Seq.forall \nforall \nTests if all elements of the sequence satisfy the given predicate. \nThe predicate is applied to the elements of the input sequence. If any application\n returns false then the overall result is false and no further elements are tested.\n Otherwise, true is returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#forall2","title":"Seq.forall2","content":"Seq.forall2 \nforall2 \nTests the all pairs of elements drawn from the two sequences satisfy the\n given predicate. If one sequence is shorter than\n the other then the remaining elements of the longer sequence are ignored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#groupBy","title":"Seq.groupBy","content":"Seq.groupBy \ngroupBy \nApplies a key-generating function to each element of a sequence and yields a sequence of\n unique keys. Each unique key contains a sequence of all elements that match\n to this key. \nThis function returns a sequence that digests the whole initial sequence as soon as\n that sequence is iterated. As a result this function should not be used with\n large or infinite sequences. The function makes no assumption on the ordering of the original\n sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#head","title":"Seq.head","content":"Seq.head \nhead \nReturns the first element of the sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#tryHead","title":"Seq.tryHead","content":"Seq.tryHead \ntryHead \nReturns the first element of the sequence, or None if the sequence is empty.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#last","title":"Seq.last","content":"Seq.last \nlast \nReturns the last element of the sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#tryLast","title":"Seq.tryLast","content":"Seq.tryLast \ntryLast \nReturns the last element of the sequence.\n Return \u003Ccode\u003ENone\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#exactlyOne","title":"Seq.exactlyOne","content":"Seq.exactlyOne \nexactlyOne \nReturns the only element of the sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#tryExactlyOne","title":"Seq.tryExactlyOne","content":"Seq.tryExactlyOne \ntryExactlyOne \nReturns the only element of the sequence or \u003Ccode\u003ENone\u003C/code\u003E if sequence is empty or contains more than one element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#isEmpty","title":"Seq.isEmpty","content":"Seq.isEmpty \nisEmpty \nReturns true if the sequence contains no elements, false otherwise.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#indexed","title":"Seq.indexed","content":"Seq.indexed \nindexed \nBuilds a new collection whose elements are the corresponding elements of the input collection\n paired with the integer index (from 0) of each element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#init","title":"Seq.init","content":"Seq.init \ninit \nGenerates a new sequence which, when iterated, will return successive\n elements by calling the given function, up to the given count. Each element is saved after its\n initialization. The function is passed the index of the item being\n generated. \nThe returned sequence may be passed between threads safely. However,\n individual IEnumerator values generated from the returned sequence should not be accessed concurrently.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#initInfinite","title":"Seq.initInfinite","content":"Seq.initInfinite \ninitInfinite \nGenerates a new sequence which, when iterated, will return successive\n elements by calling the given function. The results of calling the function\n will not be saved, that is the function will be reapplied as necessary to\n regenerate the elements. The function is passed the index of the item being\n generated. \nThe returned sequence may be passed between threads safely. However,\n individual IEnumerator values generated from the returned sequence should not be accessed concurrently.\n Iteration can continue up to \u003Ccode\u003EInt32.MaxValue\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#item","title":"Seq.item","content":"Seq.item \nitem \nComputes the element at the specified index in the collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#iter","title":"Seq.iter","content":"Seq.iter \niter \nApplies the given function to each element of the collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#iteri","title":"Seq.iteri","content":"Seq.iteri \niteri \nApplies the given function to each element of the collection. The integer passed to the\n function indicates the index of element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#iter2","title":"Seq.iter2","content":"Seq.iter2 \niter2 \nApplies the given function to two collections simultaneously. If one sequence is shorter than\n the other then the remaining elements of the longer sequence are ignored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#iteri2","title":"Seq.iteri2","content":"Seq.iteri2 \niteri2 \nApplies the given function to two collections simultaneously. If one sequence is shorter than\n the other then the remaining elements of the longer sequence are ignored. The integer passed to the\n function indicates the index of element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#length","title":"Seq.length","content":"Seq.length \nlength \nReturns the length of the sequence","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#map","title":"Seq.map","content":"Seq.map \nmap \nBuilds a new collection whose elements are the results of applying the given function\n to each of the elements of the collection. The given function will be applied\n as elements are demanded using the \u003Ccode\u003EMoveNext\u003C/code\u003E method on enumerators retrieved from the\n object. \nThe returned sequence may be passed between threads safely. However,\n individual IEnumerator values generated from the returned sequence should not be accessed concurrently.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#map2","title":"Seq.map2","content":"Seq.map2 \nmap2 \nBuilds a new collection whose elements are the results of applying the given function\n to the corresponding pairs of elements from the two sequences. If one input sequence is shorter than\n the other then the remaining elements of the longer sequence are ignored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#mapFold","title":"Seq.mapFold","content":"Seq.mapFold \nmapFold \nCombines map and fold. Builds a new collection whose elements are the results of applying the given function\n to each of the elements of the collection. The function is also used to accumulate a final value. \nThis function digests the whole initial sequence as soon as it is called. As a result this function should\n not be used with large or infinite sequences.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#mapFoldBack","title":"Seq.mapFoldBack","content":"Seq.mapFoldBack \nmapFoldBack \nCombines map and foldBack. Builds a new collection whose elements are the results of applying the given function\n to each of the elements of the collection. The function is also used to accumulate a final value. \nThis function digests the whole initial sequence as soon as it is called. As a result this function should\n not be used with large or infinite sequences.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#map3","title":"Seq.map3","content":"Seq.map3 \nmap3 \nBuilds a new collection whose elements are the results of applying the given function\n to the corresponding triples of elements from the three sequences. If one input sequence if shorter than\n the others then the remaining elements of the longer sequences are ignored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#mapi","title":"Seq.mapi","content":"Seq.mapi \nmapi \nBuilds a new collection whose elements are the results of applying the given function\n to each of the elements of the collection. The integer index passed to the\n function indicates the index (from 0) of element being transformed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#mapi2","title":"Seq.mapi2","content":"Seq.mapi2 \nmapi2 \nBuilds a new collection whose elements are the results of applying the given function\n to the corresponding pairs of elements from the two sequences. If one input sequence is shorter than\n the other then the remaining elements of the longer sequence are ignored. The integer index passed to the\n function indicates the index (from 0) of element being transformed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#max","title":"Seq.max","content":"Seq.max \nmax \nReturns the greatest of all elements of the sequence, compared via Operators.max","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#maxBy","title":"Seq.maxBy","content":"Seq.maxBy \nmaxBy \nReturns the greatest of all elements of the sequence, compared via Operators.max on the function result.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#min","title":"Seq.min","content":"Seq.min \nmin \nReturns the lowest of all elements of the sequence, compared via \u003Ccode\u003EOperators.min\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#minBy","title":"Seq.minBy","content":"Seq.minBy \nminBy \nReturns the lowest of all elements of the sequence, compared via Operators.min on the function result.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#nth","title":"Seq.nth","content":"Seq.nth \nnth \nComputes the nth element in the collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#ofArray","title":"Seq.ofArray","content":"Seq.ofArray \nofArray \nViews the given array as a sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#ofList","title":"Seq.ofList","content":"Seq.ofList \nofList \nViews the given list as a sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#pairwise","title":"Seq.pairwise","content":"Seq.pairwise \npairwise \nReturns a sequence of each element in the input sequence and its predecessor, with the\n exception of the first element which is only returned as the predecessor of the second element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#permute","title":"Seq.permute","content":"Seq.permute \npermute \nReturns a sequence with all elements permuted according to the\n specified permutation. \nThis function consumes the whole input sequence before yielding the first element of the result sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#pick","title":"Seq.pick","content":"Seq.pick \npick \nApplies the given function to successive elements, returning the first\n \u003Ccode\u003Ex\u003C/code\u003E where the function returns \u0022Some(x)\u0022.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#readonly","title":"Seq.readonly","content":"Seq.readonly \nreadonly \nBuilds a new sequence object that delegates to the given sequence object. This ensures\n the original sequence cannot be rediscovered and mutated by a type cast. For example,\n if given an array the returned sequence will return the elements of the array, but\n you cannot cast the returned sequence object to an array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#reduce","title":"Seq.reduce","content":"Seq.reduce \nreduce \nApplies a function to each element of the sequence, threading an accumulator argument\n through the computation. Begin by applying the function to the first two elements.\n Then feed this result into the function along with the third element and so on.\n Return the final result.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#replicate","title":"Seq.replicate","content":"Seq.replicate \nreplicate \nCreates a sequence by replicating the given initial value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#reduceBack","title":"Seq.reduceBack","content":"Seq.reduceBack \nreduceBack \nApplies a function to each element of the sequence, starting from the end, threading an accumulator argument\n through the computation. If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E\n then computes \u003Ccode\u003Ef i0 (...(f iN-1 iN))\u003C/code\u003E. \nThis function consumes the whole input sequence before returning the result.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#rev","title":"Seq.rev","content":"Seq.rev \nrev \nReturns a new sequence with the elements in reverse order. \nThis function consumes the whole input sequence before yielding the first element of the reversed sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#scan","title":"Seq.scan","content":"Seq.scan \nscan \nLike fold, but computes on-demand and returns the sequence of intermediary and final results.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#scanBack","title":"Seq.scanBack","content":"Seq.scanBack \nscanBack \nLike \u003Ccode\u003EfoldBack\u003C/code\u003E, but returns the sequence of intermediary and final results. \nThis function returns a sequence that digests the whole initial sequence as soon as that\n sequence is iterated. As a result this function should not be used with large or infinite sequences.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#singleton","title":"Seq.singleton","content":"Seq.singleton \nsingleton \nReturns a sequence yielding one item only.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#skip","title":"Seq.skip","content":"Seq.skip \nskip \nReturns a sequence that skips N elements of the underlying sequence and then yields the\n remaining elements of the sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#skipWhile","title":"Seq.skipWhile","content":"Seq.skipWhile \nskipWhile \nReturns a sequence that, when iterated, skips elements of the underlying sequence while the\n given predicate returns True, and then yields the remaining elements of the sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#sort","title":"Seq.sort","content":"Seq.sort \nsort \nYields a sequence ordered by keys. \nThis function returns a sequence that digests the whole initial sequence as soon as\n that sequence is iterated. As a result this function should not be used with\n large or infinite sequences.\n\n The function makes no assumption on the ordering of the original\n sequence and uses a stable sort, that is the original order of equal elements is preserved.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#sortWith","title":"Seq.sortWith","content":"Seq.sortWith \nsortWith \nYields a sequence ordered using the given comparison function. \nThis function returns a sequence that digests the whole initial sequence as soon as\n that sequence is iterated. As a result this function should not be used with\n large or infinite sequences.\n\n The function makes no assumption on the ordering of the original\n sequence and uses a stable sort, that is the original order of equal elements is preserved.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#sortBy","title":"Seq.sortBy","content":"Seq.sortBy \nsortBy \nApplies a key-generating function to each element of a sequence and yield a sequence ordered\n by keys. The keys are compared using generic comparison as implemented by \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis function returns a sequence that digests the whole initial sequence as soon as\n that sequence is iterated. As a result this function should not be used with\n large or infinite sequences.\n\n The function makes no assumption on the ordering of the original\n sequence and uses a stable sort, that is the original order of equal elements is preserved.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#sortDescending","title":"Seq.sortDescending","content":"Seq.sortDescending \nsortDescending \nYields a sequence ordered descending by keys. \nThis function returns a sequence that digests the whole initial sequence as soon as\n that sequence is iterated. As a result this function should not be used with\n large or infinite sequences. The function makes no assumption on the ordering of the original\n sequence.\n\n This is a stable sort, that is the original order of equal elements is preserved.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#sortByDescending","title":"Seq.sortByDescending","content":"Seq.sortByDescending \nsortByDescending \nApplies a key-generating function to each element of a sequence and yield a sequence ordered\n descending by keys. The keys are compared using generic comparison as implemented by \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare\u0022\u003EOperators.compare\u003C/a\u003E. \nThis function returns a sequence that digests the whole initial sequence as soon as\n that sequence is iterated. As a result this function should not be used with\n large or infinite sequences. The function makes no assumption on the ordering of the original\n sequence.\n\n This is a stable sort, that is the original order of equal elements is preserved.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#sum","title":"Seq.sum","content":"Seq.sum \nsum \nReturns the sum of the elements in the sequence. \nThe elements are summed using the \u003Ccode\u003E\u002B\u003C/code\u003E operator and \u003Ccode\u003EZero\u003C/code\u003E property associated with the generated type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#sumBy","title":"Seq.sumBy","content":"Seq.sumBy \nsumBy \nReturns the sum of the results generated by applying the function to each element of the sequence. \nThe generated elements are summed using the \u003Ccode\u003E\u002B\u003C/code\u003E operator and \u003Ccode\u003EZero\u003C/code\u003E property associated with the generated type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#tail","title":"Seq.tail","content":"Seq.tail \ntail \nReturns a sequence that skips 1 element of the underlying sequence and then yields the\n remaining elements of the sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#take","title":"Seq.take","content":"Seq.take \ntake \nReturns the first N elements of the sequence. \nThrows \u003Ccode\u003EInvalidOperationException\u003C/code\u003E\n if the count exceeds the number of elements in the sequence. \u003Ccode\u003ESeq.truncate\u003C/code\u003E\n returns as many items as the sequence contains instead of throwing an exception.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#takeWhile","title":"Seq.takeWhile","content":"Seq.takeWhile \ntakeWhile \nReturns a sequence that, when iterated, yields elements of the underlying sequence while the\n given predicate returns True, and then returns no further elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#toArray","title":"Seq.toArray","content":"Seq.toArray \ntoArray \nBuilds an array from the given collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#toList","title":"Seq.toList","content":"Seq.toList \ntoList \nBuilds a list from the given collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#tryFind","title":"Seq.tryFind","content":"Seq.tryFind \ntryFind \nReturns the first element for which the given function returns True.\n Return None if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#tryFindBack","title":"Seq.tryFindBack","content":"Seq.tryFindBack \ntryFindBack \nReturns the last element for which the given function returns True.\n Return None if no such element exists. \nThis function digests the whole initial sequence as soon as it is called. As a\n result this function should not be used with large or infinite sequences.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#tryFindIndex","title":"Seq.tryFindIndex","content":"Seq.tryFindIndex \ntryFindIndex \nReturns the index of the first element in the sequence\n that satisfies the given predicate. Return \u003Ccode\u003ENone\u003C/code\u003E if no such element exists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#tryItem","title":"Seq.tryItem","content":"Seq.tryItem \ntryItem \nTries to find the nth element in the sequence.\n Returns \u003Ccode\u003ENone\u003C/code\u003E if index is negative or the input sequence does not contain enough elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#tryFindIndexBack","title":"Seq.tryFindIndexBack","content":"Seq.tryFindIndexBack \ntryFindIndexBack \nReturns the index of the last element in the sequence\n that satisfies the given predicate. Return \u003Ccode\u003ENone\u003C/code\u003E if no such element exists. \nThis function digests the whole initial sequence as soon as it is called. As a\n result this function should not be used with large or infinite sequences.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#tryPick","title":"Seq.tryPick","content":"Seq.tryPick \ntryPick \nApplies the given function to successive elements, returning the first\n result where the function returns \u0022Some(x)\u0022.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#transpose","title":"Seq.transpose","content":"Seq.transpose \ntranspose \nReturns the transpose of the given sequence of sequences. \nThis function returns a sequence that digests the whole initial sequence as soon as\n that sequence is iterated. As a result this function should not be used with\n large or infinite sequences.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#truncate","title":"Seq.truncate","content":"Seq.truncate \ntruncate \nReturns a sequence that when enumerated returns at most N elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#unfold","title":"Seq.unfold","content":"Seq.unfold \nunfold \nReturns a sequence that contains the elements generated by the given computation.\n The given initial \u003Ccode\u003Estate\u003C/code\u003E argument is passed to the element generator.\n For each IEnumerator elements in the stream are generated on-demand by applying the element\n generator, until a None value is returned by the element generator. Each call to the element\n generator returns a new residual \u003Ccode\u003Estate\u003C/code\u003E. \nThe stream will be recomputed each time an IEnumerator is requested and iterated for the Seq.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#windowed","title":"Seq.windowed","content":"Seq.windowed \nwindowed \nReturns a sequence yielding sliding windows containing elements drawn from the input\n sequence. Each window is returned as a fresh array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#zip","title":"Seq.zip","content":"Seq.zip \nzip \nCombines the two sequences into a sequence of pairs. The two sequences need not have equal lengths:\n when one sequence is exhausted any remaining elements in the other\n sequence are ignored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#zip3","title":"Seq.zip3","content":"Seq.zip3 \nzip3 \nCombines the three sequences into a sequence of triples. The sequences need not have equal lengths:\n when one sequence is exhausted any remaining elements in the other\n sequences are ignored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#removeAt","title":"Seq.removeAt","content":"Seq.removeAt \nremoveAt \nReturn a new sequence with the item at a given index removed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#removeManyAt","title":"Seq.removeManyAt","content":"Seq.removeManyAt \nremoveManyAt \nReturn a new sequence with the number of items starting at a given index removed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#updateAt","title":"Seq.updateAt","content":"Seq.updateAt \nupdateAt \nReturn a new sequence with the item at a given index set to the new value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#insertAt","title":"Seq.insertAt","content":"Seq.insertAt \ninsertAt \nReturn a new sequence with a new item inserted before the given index.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#insertManyAt","title":"Seq.insertManyAt","content":"Seq.insertManyAt \ninsertManyAt \nReturn a new sequence with new items inserted before the given index.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomShuffle","title":"Seq.randomShuffle","content":"Seq.randomShuffle \nrandomShuffle \nReturn a new sequence shuffled in a random order.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomShuffleWith","title":"Seq.randomShuffleWith","content":"Seq.randomShuffleWith \nrandomShuffleWith \nReturn a new sequence shuffled in a random order with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomShuffleBy","title":"Seq.randomShuffleBy","content":"Seq.randomShuffleBy \nrandomShuffleBy \nReturn a new sequence shuffled in a random order with the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomChoice","title":"Seq.randomChoice","content":"Seq.randomChoice \nrandomChoice \n\n Returns a random element from the given sequence.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomChoiceWith","title":"Seq.randomChoiceWith","content":"Seq.randomChoiceWith \nrandomChoiceWith \n\n Returns a random element from the given sequence with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomChoiceBy","title":"Seq.randomChoiceBy","content":"Seq.randomChoiceBy \nrandomChoiceBy \n\n Returns a random element from the given sequence with the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomChoices","title":"Seq.randomChoices","content":"Seq.randomChoices \nrandomChoices \n\n Returns an sequence of random elements from the given sequence, each element can be selected multiple times.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomChoicesWith","title":"Seq.randomChoicesWith","content":"Seq.randomChoicesWith \nrandomChoicesWith \n\n Returns a sequence of random elements from the given sequence with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance, each element can be selected multiple times.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomChoicesBy","title":"Seq.randomChoicesBy","content":"Seq.randomChoicesBy \nrandomChoicesBy \n\n Returns a sequence of random elements from the given sequence with the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function, each element can be selected multiple times.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomSample","title":"Seq.randomSample","content":"Seq.randomSample \nrandomSample \n\n Returns a random sample of elements from the given sequence, each element can be selected only once.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomSampleWith","title":"Seq.randomSampleWith","content":"Seq.randomSampleWith \nrandomSampleWith \n\n Returns a random sample of elements from the given sequence with the specified \u003Ccode\u003ERandom\u003C/code\u003E instance, each element can be selected only once.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html#randomSampleBy","title":"Seq.randomSampleBy","content":"Seq.randomSampleBy \nrandomSampleBy \n\n Returns a random sample of elements from the given sequence with the specified \u003Ccode\u003Erandomizer\u003C/code\u003E function, each element can be selected only once.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html","title":"Set","content":"Set \nContains operations for working with values of type \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html\u0022\u003ESet\u003C/a\u003E. \nSet.empty \nempty \nSet.singleton \nsingleton \nSet.add \nadd \nSet.contains \ncontains \nSet.isSubset \nisSubset \nSet.isProperSubset \nisProperSubset \nSet.isSuperset \nisSuperset \nSet.isProperSuperset \nisProperSuperset \nSet.count \ncount \nSet.exists \nexists \nSet.filter \nfilter \nSet.map \nmap \nSet.fold \nfold \nSet.foldBack \nfoldBack \nSet.forall \nforall \nSet.intersect \nintersect \nSet.intersectMany \nintersectMany \nSet.union \nunion \nSet.unionMany \nunionMany \nSet.isEmpty \nisEmpty \nSet.iter \niter \nSet.partition \npartition \nSet.remove \nremove \nSet.minElement \nminElement \nSet.maxElement \nmaxElement \nSet.ofList \nofList \nSet.toList \ntoList \nSet.ofArray \nofArray \nSet.toArray \ntoArray \nSet.toSeq \ntoSeq \nSet.ofSeq \nofSeq \nSet.difference \ndifference","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#empty","title":"Set.empty","content":"Set.empty \nempty \nThe empty set for the type \u0027T.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#singleton","title":"Set.singleton","content":"Set.singleton \nsingleton \nThe set containing the given element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#add","title":"Set.add","content":"Set.add \nadd \nReturns a new set with an element added to the set. No exception is raised if\n the set already contains the given element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#contains","title":"Set.contains","content":"Set.contains \ncontains \nEvaluates to \u0022true\u0022 if the given element is in the given set.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#isSubset","title":"Set.isSubset","content":"Set.isSubset \nisSubset \nEvaluates to \u0022true\u0022 if all elements of the first set are in the second","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#isProperSubset","title":"Set.isProperSubset","content":"Set.isProperSubset \nisProperSubset \nEvaluates to \u0022true\u0022 if all elements of the first set are in the second, and at least\n one element of the second is not in the first.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#isSuperset","title":"Set.isSuperset","content":"Set.isSuperset \nisSuperset \nEvaluates to \u0022true\u0022 if all elements of the second set are in the first.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#isProperSuperset","title":"Set.isProperSuperset","content":"Set.isProperSuperset \nisProperSuperset \nEvaluates to \u0022true\u0022 if all elements of the second set are in the first, and at least\n one element of the first is not in the second.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#count","title":"Set.count","content":"Set.count \ncount \nReturns the number of elements in the set. Same as \u003Ccode\u003Esize\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#exists","title":"Set.exists","content":"Set.exists \nexists \nTests if any element of the collection satisfies the given predicate.\n If the input function is \u003Ccode\u003Epredicate\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E\n then computes \u003Ccode\u003Ep i0 or ... or p iN\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#filter","title":"Set.filter","content":"Set.filter \nfilter \nReturns a new collection containing only the elements of the collection\n for which the given predicate returns True.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#map","title":"Set.map","content":"Set.map \nmap \nReturns a new collection containing the results of applying the\n given function to each element of the input set.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#fold","title":"Set.fold","content":"Set.fold \nfold \nApplies the given accumulating function to all the elements of the set","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#foldBack","title":"Set.foldBack","content":"Set.foldBack \nfoldBack \nApplies the given accumulating function to all the elements of the set.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#forall","title":"Set.forall","content":"Set.forall \nforall \nTests if all elements of the collection satisfy the given predicate.\n If the input function is \u003Ccode\u003Ef\u003C/code\u003E and the elements are \u003Ccode\u003Ei0...iN\u003C/code\u003E and \u0022j0...jN\u0022\n then computes \u003Ccode\u003Ep i0 \u0026amp;\u0026amp; ... \u0026amp;\u0026amp; p iN\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#intersect","title":"Set.intersect","content":"Set.intersect \nintersect \nComputes the intersection of the two sets.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#intersectMany","title":"Set.intersectMany","content":"Set.intersectMany \nintersectMany \nComputes the intersection of a sequence of sets. The sequence must be non-empty.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#union","title":"Set.union","content":"Set.union \nunion \nComputes the union of the two sets.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#unionMany","title":"Set.unionMany","content":"Set.unionMany \nunionMany \nComputes the union of a sequence of sets.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#isEmpty","title":"Set.isEmpty","content":"Set.isEmpty \nisEmpty \nReturns \u0022true\u0022 if the set is empty.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#iter","title":"Set.iter","content":"Set.iter \niter \nApplies the given function to each element of the set, in order according\n to the comparison function.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#partition","title":"Set.partition","content":"Set.partition \npartition \nSplits the set into two sets containing the elements for which the given predicate\n returns true and false respectively.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#remove","title":"Set.remove","content":"Set.remove \nremove \nReturns a new set with the given element removed. No exception is raised if\n the set doesn\u0027t contain the given element.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#minElement","title":"Set.minElement","content":"Set.minElement \nminElement \nReturns the lowest element in the set according to the ordering being used for the set.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#maxElement","title":"Set.maxElement","content":"Set.maxElement \nmaxElement \nReturns the highest element in the set according to the ordering being used for the set.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#ofList","title":"Set.ofList","content":"Set.ofList \nofList \nBuilds a set that contains the same elements as the given list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#toList","title":"Set.toList","content":"Set.toList \ntoList \nBuilds a list that contains the elements of the set in order.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#ofArray","title":"Set.ofArray","content":"Set.ofArray \nofArray \nBuilds a set that contains the same elements as the given array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#toArray","title":"Set.toArray","content":"Set.toArray \ntoArray \nBuilds an array that contains the elements of the set in order.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#toSeq","title":"Set.toSeq","content":"Set.toSeq \ntoSeq \nReturns an ordered view of the collection as an enumerable object.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#ofSeq","title":"Set.ofSeq","content":"Set.ofSeq \nofSeq \nBuilds a new collection from the given enumerable object.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html#difference","title":"Set.difference","content":"Set.difference \ndifference \nReturns a new set with the elements of the second set removed from the first.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharplist.html","title":"List","content":"List \nContains methods for compiler use related to lists. \nList.Create \nCreate","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharplist.html#Create","title":"List.Create","content":"List.Create \nCreate \nCreates a list with the specified items.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html","title":"Map\u003C\u0027Key, \u0027Value\u003E","content":"Map\u003C\u0027Key, \u0027Value\u003E \nImmutable maps based on binary trees, where keys are ordered by F# generic comparison. By default\n comparison is the F# structural comparison function or uses implementations of the IComparable interface on key values. \nSee the \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-mapmodule.html\u0022\u003EMap\u003C/a\u003E module for further operations on maps.\n\n All members of this class are thread-safe and may be used concurrently from multiple threads. \nMap\u003C\u0027Key, \u0027Value\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nMap\u003C\u0027Key, \u0027Value\u003E.Add \nAdd \nMap\u003C\u0027Key, \u0027Value\u003E.Change \nChange \nMap\u003C\u0027Key, \u0027Value\u003E.ContainsKey \nContainsKey \nMap\u003C\u0027Key, \u0027Value\u003E.Remove \nRemove \nMap\u003C\u0027Key, \u0027Value\u003E.TryFind \nTryFind \nMap\u003C\u0027Key, \u0027Value\u003E.TryGetValue \nTryGetValue \nMap\u003C\u0027Key, \u0027Value\u003E.Count \nCount \nMap\u003C\u0027Key, \u0027Value\u003E.Keys \nKeys \nMap\u003C\u0027Key, \u0027Value\u003E.Item \nItem \nMap\u003C\u0027Key, \u0027Value\u003E.IsEmpty \nIsEmpty \nMap\u003C\u0027Key, \u0027Value\u003E.Values \nValues","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#\u0060\u0060.ctor\u0060\u0060","title":"Map\u003C\u0027Key, \u0027Value\u003E.\u0060\u0060.ctor\u0060\u0060","content":"Map\u003C\u0027Key, \u0027Value\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nBuilds a map that contains the bindings of the given IEnumerable.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#Add","title":"Map\u003C\u0027Key, \u0027Value\u003E.Add","content":"Map\u003C\u0027Key, \u0027Value\u003E.Add \nAdd \nReturns a new map with the binding added to the given map.\n If a binding with the given key already exists in the input map, the existing binding is replaced by the new binding in the result map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#Change","title":"Map\u003C\u0027Key, \u0027Value\u003E.Change","content":"Map\u003C\u0027Key, \u0027Value\u003E.Change \nChange \nReturns a new map with the value stored under key changed according to f.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#ContainsKey","title":"Map\u003C\u0027Key, \u0027Value\u003E.ContainsKey","content":"Map\u003C\u0027Key, \u0027Value\u003E.ContainsKey \nContainsKey \nTests if an element is in the domain of the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#Remove","title":"Map\u003C\u0027Key, \u0027Value\u003E.Remove","content":"Map\u003C\u0027Key, \u0027Value\u003E.Remove \nRemove \nRemoves an element from the domain of the map. No exception is raised if the element is not present.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#TryFind","title":"Map\u003C\u0027Key, \u0027Value\u003E.TryFind","content":"Map\u003C\u0027Key, \u0027Value\u003E.TryFind \nTryFind \nLookup an element in the map, returning a \u003Ccode\u003ESome\u003C/code\u003E value if the element is in the domain\n of the map and \u003Ccode\u003ENone\u003C/code\u003E if not.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#TryGetValue","title":"Map\u003C\u0027Key, \u0027Value\u003E.TryGetValue","content":"Map\u003C\u0027Key, \u0027Value\u003E.TryGetValue \nTryGetValue \nLookup an element in the map, assigning to \u003Ccode\u003Evalue\u003C/code\u003E if the element is in the domain\n of the map and returning \u003Ccode\u003Efalse\u003C/code\u003E if not.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#Count","title":"Map\u003C\u0027Key, \u0027Value\u003E.Count","content":"Map\u003C\u0027Key, \u0027Value\u003E.Count \nCount \nThe number of bindings in the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#Keys","title":"Map\u003C\u0027Key, \u0027Value\u003E.Keys","content":"Map\u003C\u0027Key, \u0027Value\u003E.Keys \nKeys \nThe keys in the map.\n The sequence will be ordered by the keys of the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#Item","title":"Map\u003C\u0027Key, \u0027Value\u003E.Item","content":"Map\u003C\u0027Key, \u0027Value\u003E.Item \nItem \nLookup an element in the map. Raise \u003Ccode\u003EKeyNotFoundException\u003C/code\u003E if no binding\n exists in the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#IsEmpty","title":"Map\u003C\u0027Key, \u0027Value\u003E.IsEmpty","content":"Map\u003C\u0027Key, \u0027Value\u003E.IsEmpty \nIsEmpty \nReturns true if there are no bindings in the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpmap-2.html#Values","title":"Map\u003C\u0027Key, \u0027Value\u003E.Values","content":"Map\u003C\u0027Key, \u0027Value\u003E.Values \nValues \nAll the values in the map, including the duplicates.\n The sequence will be ordered by the keys of the map.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html","title":"Set\u003C\u0027T\u003E","content":"Set\u003C\u0027T\u003E \nImmutable sets based on binary trees, where elements are ordered by F# generic comparison. By default\n comparison is the F# structural comparison function or uses implementations of the IComparable interface on element values. \nSee the \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-setmodule.html\u0022\u003ESet\u003C/a\u003E module for further operations on sets.\n\n All members of this class are thread-safe and may be used concurrently from multiple threads. \nSet\u003C\u0027T\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nSet\u003C\u0027T\u003E.Add \nAdd \nSet\u003C\u0027T\u003E.Contains \nContains \nSet\u003C\u0027T\u003E.IsProperSubsetOf \nIsProperSubsetOf \nSet\u003C\u0027T\u003E.IsProperSupersetOf \nIsProperSupersetOf \nSet\u003C\u0027T\u003E.IsSubsetOf \nIsSubsetOf \nSet\u003C\u0027T\u003E.IsSupersetOf \nIsSupersetOf \nSet\u003C\u0027T\u003E.Remove \nRemove \nSet\u003C\u0027T\u003E.MinimumElement \nMinimumElement \nSet\u003C\u0027T\u003E.Count \nCount \nSet\u003C\u0027T\u003E.MaximumElement \nMaximumElement \nSet\u003C\u0027T\u003E.IsEmpty \nIsEmpty \nSet\u003C\u0027T\u003E.(\u002B) \n(\u002B) \nSet\u003C\u0027T\u003E.(-) \n(-)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#\u0060\u0060.ctor\u0060\u0060","title":"Set\u003C\u0027T\u003E.\u0060\u0060.ctor\u0060\u0060","content":"Set\u003C\u0027T\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreate a set containing elements drawn from the given sequence.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#Add","title":"Set\u003C\u0027T\u003E.Add","content":"Set\u003C\u0027T\u003E.Add \nAdd \nA useful shortcut for Set.add. Note this operation produces a new set\n and does not mutate the original set. The new set will share many storage\n nodes with the original. See the Set module for further operations on sets.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#Contains","title":"Set\u003C\u0027T\u003E.Contains","content":"Set\u003C\u0027T\u003E.Contains \nContains \nA useful shortcut for Set.contains. See the Set module for further operations on sets.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#IsProperSubsetOf","title":"Set\u003C\u0027T\u003E.IsProperSubsetOf","content":"Set\u003C\u0027T\u003E.IsProperSubsetOf \nIsProperSubsetOf \nEvaluates to \u0022true\u0022 if all elements of the first set are in the second, and at least\n one element of the second is not in the first.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#IsProperSupersetOf","title":"Set\u003C\u0027T\u003E.IsProperSupersetOf","content":"Set\u003C\u0027T\u003E.IsProperSupersetOf \nIsProperSupersetOf \nEvaluates to \u0022true\u0022 if all elements of the second set are in the first, and at least\n one element of the first is not in the second.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#IsSubsetOf","title":"Set\u003C\u0027T\u003E.IsSubsetOf","content":"Set\u003C\u0027T\u003E.IsSubsetOf \nIsSubsetOf \nEvaluates to \u0022true\u0022 if all elements of the first set are in the second.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#IsSupersetOf","title":"Set\u003C\u0027T\u003E.IsSupersetOf","content":"Set\u003C\u0027T\u003E.IsSupersetOf \nIsSupersetOf \nEvaluates to \u0022true\u0022 if all elements of the second set are in the first.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#Remove","title":"Set\u003C\u0027T\u003E.Remove","content":"Set\u003C\u0027T\u003E.Remove \nRemove \nA useful shortcut for Set.remove. Note this operation produces a new set\n and does not mutate the original set. The new set will share many storage\n nodes with the original. See the Set module for further operations on sets.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#MinimumElement","title":"Set\u003C\u0027T\u003E.MinimumElement","content":"Set\u003C\u0027T\u003E.MinimumElement \nMinimumElement \nReturns the lowest element in the set according to the ordering being used for the set.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#Count","title":"Set\u003C\u0027T\u003E.Count","content":"Set\u003C\u0027T\u003E.Count \nCount \nThe number of elements in the set","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#MaximumElement","title":"Set\u003C\u0027T\u003E.MaximumElement","content":"Set\u003C\u0027T\u003E.MaximumElement \nMaximumElement \nReturns the highest element in the set according to the ordering being used for the set.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#IsEmpty","title":"Set\u003C\u0027T\u003E.IsEmpty","content":"Set\u003C\u0027T\u003E.IsEmpty \nIsEmpty \nA useful shortcut for Set.isEmpty. See the Set module for further operations on sets.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#(\u002B)","title":"Set\u003C\u0027T\u003E.(\u002B)","content":"Set\u003C\u0027T\u003E.(\u002B) \n(\u002B) \nCompute the union of the two sets.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset-1.html#(-)","title":"Set\u003C\u0027T\u003E.(-)","content":"Set\u003C\u0027T\u003E.(-) \n(-) \nReturns a new set with the elements of the second set removed from the first.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset.html","title":"Set","content":"Set \nContains methods for compiler use related to sets. \nSet.Create \nCreate","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-fsharpset.html#Create","title":"Set.Create","content":"Set.Create \nCreate \nCreates a set with the specified items.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-list-1.html","title":"\u0027T list","content":"\u0027T list \nThe type of immutable singly-linked lists. \nSee the \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-listmodule.html\u0022\u003EList\u003C/a\u003E module for further operations related to lists.\n\n Use the constructors \u003Ccode\u003E[]\u003C/code\u003E and \u003Ccode\u003E::\u003C/code\u003E (infix) to create values of this type, or\n the notation \u003Ccode\u003E[1; 2; 3]\u003C/code\u003E. Use the values in the \u003Ccode\u003EList\u003C/code\u003E module to manipulate \n values of this type, or pattern match against the values directly.\n\n See also \u003Ca href=\u0022https://learn.microsoft.com/dotnet/fsharp/language-reference/lists\u0022\u003EF# Language Guide - Lists\u003C/a\u003E.\n \n\u0027T list.Tail \nTail \n\u0027T list.Length \nLength \n\u0027T list.Head \nHead \n\u0027T list.Item \nItem \n\u0027T list.IsEmpty \nIsEmpty \n\u0027T list.Empty \nEmpty","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-list-1.html#Tail","title":"\u0027T list.Tail","content":"\u0027T list.Tail \nTail \nGets the tail of the list, which is a list containing all the elements of the list, excluding the first element ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-list-1.html#Length","title":"\u0027T list.Length","content":"\u0027T list.Length \nLength \nGets the number of items contained in the list","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-list-1.html#Head","title":"\u0027T list.Head","content":"\u0027T list.Head \nHead \nGets the first element of the list","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-list-1.html#Item","title":"\u0027T list.Item","content":"\u0027T list.Item \nItem \nGets the element of the list at the given position. \nLists are represented as linked lists so this is an O(n) operation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-list-1.html#IsEmpty","title":"\u0027T list.IsEmpty","content":"\u0027T list.IsEmpty \nIsEmpty \nGets a value indicating if the list contains no entries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-list-1.html#Empty","title":"\u0027T list.Empty","content":"\u0027T list.Empty \nEmpty \nReturns an empty list of a particular type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seq-1.html","title":"\u0027T seq","content":"\u0027T seq \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1\u0022\u003EIEnumerable\u003C/a\u003E \n\n See the \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-seqmodule.html\u0022\u003ESeq\u003C/a\u003E module for further operations related to sequences.\n\n See also \u003Ca href=\u0022https://learn.microsoft.com/dotnet/fsharp/language-reference/sequences\u0022\u003EF# Language Guide - Sequences\u003C/a\u003E.\n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncprimitives.html","title":"AsyncPrimitives","content":"AsyncPrimitives \nEntry points for generated code \nAsyncPrimitives.MakeAsync \nMakeAsync \nAsyncPrimitives.Invoke \nInvoke \nAsyncPrimitives.CallThenInvoke \nCallThenInvoke \nAsyncPrimitives.Bind \nBind \nAsyncPrimitives.TryFinally \nTryFinally \nAsyncPrimitives.TryWith \nTryWith","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncprimitives.html#MakeAsync","title":"AsyncPrimitives.MakeAsync","content":"AsyncPrimitives.MakeAsync \nMakeAsync \nThe F# compiler emits calls to this function to implement F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncprimitives.html#Invoke","title":"AsyncPrimitives.Invoke","content":"AsyncPrimitives.Invoke \nInvoke \nThe F# compiler emits calls to this function to implement constructs for F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncprimitives.html#CallThenInvoke","title":"AsyncPrimitives.CallThenInvoke","content":"AsyncPrimitives.CallThenInvoke \nCallThenInvoke \nThe F# compiler emits calls to this function to implement constructs for F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncprimitives.html#Bind","title":"AsyncPrimitives.Bind","content":"AsyncPrimitives.Bind \nBind \nThe F# compiler emits calls to this function to implement the \u003Ccode\u003Elet!\u003C/code\u003E construct for F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncprimitives.html#TryFinally","title":"AsyncPrimitives.TryFinally","content":"AsyncPrimitives.TryFinally \nTryFinally \nThe F# compiler emits calls to this function to implement the \u003Ccode\u003Etry/finally\u003C/code\u003E construct for F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncprimitives.html#TryWith","title":"AsyncPrimitives.TryWith","content":"AsyncPrimitives.TryWith \nTryWith \nThe F# compiler emits calls to this function to implement the \u003Ccode\u003Etry/with\u003C/code\u003E construct for F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-commonextensions.html","title":"CommonExtensions","content":"CommonExtensions \nA module of extension members providing asynchronous operations for some basic CLI types related to concurrency and I/O. \nCommonExtensions.AsyncRead \nAsyncRead \nCommonExtensions.AsyncRead \nAsyncRead \nCommonExtensions.AsyncWrite \nAsyncWrite \nCommonExtensions.Add \nAdd \nCommonExtensions.Subscribe \nSubscribe","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-commonextensions.html#AsyncRead","title":"CommonExtensions.AsyncRead","content":"CommonExtensions.AsyncRead \nAsyncRead \nReturns an asynchronous computation that will read from the stream into the given buffer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-commonextensions.html#AsyncRead","title":"CommonExtensions.AsyncRead","content":"CommonExtensions.AsyncRead \nAsyncRead \nReturns an asynchronous computation that will read the given number of bytes from the stream.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-commonextensions.html#AsyncWrite","title":"CommonExtensions.AsyncWrite","content":"CommonExtensions.AsyncWrite \nAsyncWrite \nReturns an asynchronous computation that will write the given bytes to the stream.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-commonextensions.html#Add","title":"CommonExtensions.Add","content":"CommonExtensions.Add \nAdd \nPermanently connects a listener function to the observable. The listener will\n be invoked for each observation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-commonextensions.html#Subscribe","title":"CommonExtensions.Subscribe","content":"CommonExtensions.Subscribe \nSubscribe \nConnects a listener function to the observable. The listener will\n be invoked for each observation. The listener can be removed by\n calling Dispose on the returned IDisposable object.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-eventmodule.html","title":"Event","content":"Event \nContains operations for working with values of type \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-ievent-1.html\u0022\u003EIEvent\u003C/a\u003E. \nEvent.merge \nmerge \nEvent.map \nmap \nEvent.filter \nfilter \nEvent.partition \npartition \nEvent.split \nsplit \nEvent.choose \nchoose \nEvent.scan \nscan \nEvent.add \nadd \nEvent.pairwise \npairwise","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-eventmodule.html#merge","title":"Event.merge","content":"Event.merge \nmerge \nFires the output event when either of the input events fire.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-eventmodule.html#map","title":"Event.map","content":"Event.map \nmap \nReturns a new event that passes values transformed by the given function.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-eventmodule.html#filter","title":"Event.filter","content":"Event.filter \nfilter \nReturns a new event that listens to the original event and triggers the resulting\n event only when the argument to the event passes the given function.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-eventmodule.html#partition","title":"Event.partition","content":"Event.partition \npartition \nReturns a new event that listens to the original event and triggers the\n first resulting event if the application of the predicate to the event arguments\n returned true, and the second event if it returned false.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-eventmodule.html#split","title":"Event.split","content":"Event.split \nsplit \nReturns a new event that listens to the original event and triggers the\n first resulting event if the application of the function to the event arguments\n returned a Choice1Of2, and the second event if it returns a Choice2Of2.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-eventmodule.html#choose","title":"Event.choose","content":"Event.choose \nchoose \nReturns a new event which fires on a selection of messages from the original event.\n The selection function takes an original message to an optional new message.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-eventmodule.html#scan","title":"Event.scan","content":"Event.scan \nscan \nReturns a new event consisting of the results of applying the given accumulating function\n to successive values triggered on the input event. An item of internal state\n records the current value of the state parameter. The internal state is not locked during the\n execution of the accumulation function, so care should be taken that the\n input IEvent not triggered by multiple threads simultaneously.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-eventmodule.html#add","title":"Event.add","content":"Event.add \nadd \nRuns the given function each time the given event is triggered.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-eventmodule.html#pairwise","title":"Event.pairwise","content":"Event.pairwise \npairwise \nReturns a new event that triggers on the second and subsequent triggerings of the input event.\n The Nth triggering of the input event passes the arguments from the N-1th and Nth triggering as\n a pair. The argument passed to the N-1th triggering is held in hidden internal state until the\n Nth triggering occurs.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-lazyextensions.html","title":"LazyExtensions","content":"LazyExtensions \nExtensions related to Lazy values. \nLazyExtensions.Create \nCreate \nLazyExtensions.CreateFromValue \nCreateFromValue \nLazyExtensions.Force \nForce","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-lazyextensions.html#Create","title":"LazyExtensions.Create","content":"LazyExtensions.Create \nCreate \nCreates a lazy computation that evaluates to the result of the given function when forced.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-lazyextensions.html#CreateFromValue","title":"LazyExtensions.CreateFromValue","content":"LazyExtensions.CreateFromValue \nCreateFromValue \nCreates a lazy computation that evaluates to the given value when forced.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-lazyextensions.html#Force","title":"LazyExtensions.Force","content":"LazyExtensions.Force \nForce \nForces the execution of this value and return its result. Same as Value. Mutual exclusion is used to \n prevent other threads also computing the value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html","title":"Observable","content":"Observable \nContains operations for working with first class event and other observable objects. \nObservable.merge \nmerge \nObservable.map \nmap \nObservable.filter \nfilter \nObservable.partition \npartition \nObservable.split \nsplit \nObservable.choose \nchoose \nObservable.scan \nscan \nObservable.add \nadd \nObservable.subscribe \nsubscribe \nObservable.pairwise \npairwise","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html#merge","title":"Observable.merge","content":"Observable.merge \nmerge \nReturns an observable for the merged observations from the sources.\n The returned object propagates success and error values arising\n from either source and completes when both the sources have completed. \nFor each observer, the registered intermediate observing object is not\n thread safe. That is, observations arising from the sources must not\n be triggered concurrently on different threads.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html#map","title":"Observable.map","content":"Observable.map \nmap \nReturns an observable which transforms the observations of the source by the\n given function. The transformation function is executed once for each\n subscribed observer. The returned object also propagates error observations\n arising from the source and completes when the source completes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html#filter","title":"Observable.filter","content":"Observable.filter \nfilter \nReturns an observable which filters the observations of the source\n by the given function. The observable will see only those observations\n for which the predicate returns true. The predicate is executed once for\n each subscribed observer. The returned object also propagates error\n observations arising from the source and completes when the source completes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html#partition","title":"Observable.partition","content":"Observable.partition \npartition \nReturns two observables which partition the observations of the source by\n the given function. The first will trigger observations for those values\n for which the predicate returns true. The second will trigger observations\n for those values where the predicate returns false. The predicate is\n executed once for each subscribed observer. Both also propagate all error\n observations arising from the source and each completes when the source\n completes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html#split","title":"Observable.split","content":"Observable.split \nsplit \nReturns two observables which split the observations of the source by the\n given function. The first will trigger observations \u003Ccode\u003Ex\u003C/code\u003E for which the\n splitter returns \u003Ccode\u003EChoice1Of2 x\u003C/code\u003E. The second will trigger observations\n \u003Ccode\u003Ey\u003C/code\u003E for which the splitter returns \u003Ccode\u003EChoice2Of2 y\u003C/code\u003E The splitter is\n executed once for each subscribed observer. Both also propagate error\n observations arising from the source and each completes when the source\n completes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html#choose","title":"Observable.choose","content":"Observable.choose \nchoose \nReturns an observable which chooses a projection of observations from the source\n using the given function. The returned object will trigger observations \u003Ccode\u003Ex\u003C/code\u003E\n for which the splitter returns \u003Ccode\u003ESome x\u003C/code\u003E. The returned object also propagates\n all errors arising from the source and completes when the source completes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html#scan","title":"Observable.scan","content":"Observable.scan \nscan \nReturns an observable which, for each observer, allocates an item of state\n and applies the given accumulating function to successive values arising from\n the input. The returned object will trigger observations for each computed\n state value, excluding the initial value. The returned object propagates\n all errors arising from the source and completes when the source completes. \nFor each observer, the registered intermediate observing object is not thread safe.\n That is, observations arising from the source must not be triggered concurrently\n on different threads.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html#add","title":"Observable.add","content":"Observable.add \nadd \nCreates an observer which permanently subscribes to the given observable and which calls\n the given function for each observation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html#subscribe","title":"Observable.subscribe","content":"Observable.subscribe \nsubscribe \nCreates an observer which subscribes to the given observable and which calls\n the given function for each observation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-observablemodule.html#pairwise","title":"Observable.pairwise","content":"Observable.pairwise \npairwise \nReturns a new observable that triggers on the second and subsequent triggerings of the input observable.\n The Nth triggering of the input observable passes the arguments from the N-1th and Nth triggering as\n a pair. The argument passed to the N-1th triggering is held in hidden internal state until the\n Nth triggering occurs. \nFor each observer, the registered intermediate observing object is not thread safe.\n That is, observations arising from the source must not be triggered concurrently\n on different threads.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuildermodule.html","title":"TaskBuilder","content":"TaskBuilder \n Contains the \u0060task\u0060 computation expression builder. \nTaskBuilder.task \ntask \nTaskBuilder.backgroundTask \nbackgroundTask","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuildermodule.html#task","title":"TaskBuilder.task","content":"TaskBuilder.task \ntask \n\n Builds a task using computation expression syntax.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuildermodule.html#backgroundTask","title":"TaskBuilder.backgroundTask","content":"TaskBuilder.backgroundTask \nbackgroundTask \n\n Builds a task using computation expression syntax which switches to execute on a background thread if not\n already doing so.\n \n\n If the task is created on a foreground thread (where \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.synchronizationcontext.current\u0022\u003ESynchronizationContext.Current\u003C/a\u003E is non-null)\n its body is executed on a background thread using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.task.run\u0022\u003ETask.Run\u003C/a\u003E.\n If created on a background thread (where \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.synchronizationcontext.current\u0022\u003ESynchronizationContext.Current\u003C/a\u003E is null) it is executed\n immediately on that thread.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-webextensions.html","title":"WebExtensions","content":"WebExtensions \nA module of extension members providing asynchronous operations for some basic Web operations. \nWebExtensions.AsyncGetResponse \nAsyncGetResponse \nWebExtensions.AsyncDownloadString \nAsyncDownloadString \nWebExtensions.AsyncDownloadData \nAsyncDownloadData \nWebExtensions.AsyncDownloadFile \nAsyncDownloadFile","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-webextensions.html#AsyncGetResponse","title":"WebExtensions.AsyncGetResponse","content":"WebExtensions.AsyncGetResponse \nAsyncGetResponse \nReturns an asynchronous computation that, when run, will wait for a response to the given WebRequest.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-webextensions.html#AsyncDownloadString","title":"WebExtensions.AsyncDownloadString","content":"WebExtensions.AsyncDownloadString \nAsyncDownloadString \nReturns an asynchronous computation that, when run, will wait for the download of the given URI.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-webextensions.html#AsyncDownloadData","title":"WebExtensions.AsyncDownloadData","content":"WebExtensions.AsyncDownloadData \nAsyncDownloadData \nReturns an asynchronous computation that, when run, will wait for the download of the given URI.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-webextensions.html#AsyncDownloadFile","title":"WebExtensions.AsyncDownloadFile","content":"WebExtensions.AsyncDownloadFile \nAsyncDownloadFile \nReturns an asynchronous computation that, when run, will wait for the download of the given URI to specified file.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync-1.html","title":"Async\u003C\u0027T\u003E","content":"Async\u003C\u0027T\u003E \n\n An asynchronous computation, which, when run, will eventually produce a value of type T, or else raises an exception.\n \n\n This type has no members. Asynchronous computations are normally specified either by using an async expression\n or the static methods in the \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync-1.html\u0022\u003EAsync\u003C/a\u003E type.\n\n See also \u003Ca href=\u0022https://learn.microsoft.com/dotnet/fsharp/language-reference/async-expressions\u0022\u003EF# Language Guide - Async Workflows\u003C/a\u003E.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html","title":"Async","content":"Async \nHolds static members for creating and manipulating asynchronous computations. \n\n See also \u003Ca href=\u0022https://learn.microsoft.com/dotnet/fsharp/language-reference/async-expressions\u0022\u003EF# Language Guide - Async Workflows\u003C/a\u003E.\n \nAsync.AsBeginEnd \nAsBeginEnd \nAsync.AwaitEvent \nAwaitEvent \nAsync.AwaitIAsyncResult \nAwaitIAsyncResult \nAsync.AwaitTask \nAwaitTask \nAsync.AwaitTask \nAwaitTask \nAsync.AwaitWaitHandle \nAwaitWaitHandle \nAsync.CancelDefaultToken \nCancelDefaultToken \nAsync.Catch \nCatch \nAsync.Choice \nChoice \nAsync.FromBeginEnd \nFromBeginEnd \nAsync.FromBeginEnd \nFromBeginEnd \nAsync.FromBeginEnd \nFromBeginEnd \nAsync.FromBeginEnd \nFromBeginEnd \nAsync.FromContinuations \nFromContinuations \nAsync.Ignore \nIgnore \nAsync.OnCancel \nOnCancel \nAsync.Parallel \nParallel \nAsync.Parallel \nParallel \nAsync.RunSynchronously \nRunSynchronously \nAsync.Sequential \nSequential \nAsync.Sleep \nSleep \nAsync.Sleep \nSleep \nAsync.Start \nStart \nAsync.StartAsTask \nStartAsTask \nAsync.StartChild \nStartChild \nAsync.StartChildAsTask \nStartChildAsTask \nAsync.StartImmediate \nStartImmediate \nAsync.StartImmediateAsTask \nStartImmediateAsTask \nAsync.StartWithContinuations \nStartWithContinuations \nAsync.SwitchToContext \nSwitchToContext \nAsync.SwitchToNewThread \nSwitchToNewThread \nAsync.SwitchToThreadPool \nSwitchToThreadPool \nAsync.TryCancelled \nTryCancelled \nAsync.DefaultCancellationToken \nDefaultCancellationToken \nAsync.CancellationToken \nCancellationToken","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#AsBeginEnd","title":"Async.AsBeginEnd","content":"Async.AsBeginEnd \nAsBeginEnd \nCreates three functions that can be used to implement the .NET 1.0 Asynchronous \n Programming Model (APM) for a given asynchronous computation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#AwaitEvent","title":"Async.AwaitEvent","content":"Async.AwaitEvent \nAwaitEvent \nCreates an asynchronous computation that waits for a single invocation of a CLI \n event by adding a handler to the event. Once the computation completes or is \n cancelled, the handler is removed from the event. \nThe computation will respond to cancellation while waiting for the event. If a \n cancellation occurs, and \u003Ccode\u003EcancelAction\u003C/code\u003E is specified, then it is executed, and \n the computation continues to wait for the event.\n\n If \u003Ccode\u003EcancelAction\u003C/code\u003E is not specified, then cancellation causes the computation\n to cancel immediately.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#AwaitIAsyncResult","title":"Async.AwaitIAsyncResult","content":"Async.AwaitIAsyncResult \nAwaitIAsyncResult \nCreates an asynchronous computation that will wait on the IAsyncResult. \nThe computation returns true if the handle indicated a result within the given timeout.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#AwaitTask","title":"Async.AwaitTask","content":"Async.AwaitTask \nAwaitTask \nReturn an asynchronous computation that will wait for the given task to complete and return\n its result. \nIf an exception occurs in the asynchronous computation then an exception is re-raised by this\n function.\n\n If the task is cancelled then \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.taskcanceledexception\u0022\u003ETasks.TaskCanceledException\u003C/a\u003E is raised. Note\n that the task may be governed by a different cancellation token to the overall async computation\n where the AwaitTask occurs. In practice you should normally start the task with the\n cancellation token returned by \u003Ccode\u003Elet! ct = Async.CancellationToken\u003C/code\u003E, and catch\n any \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.taskcanceledexception\u0022\u003ETasks.TaskCanceledException\u003C/a\u003E at the point where the\n overall async is started.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#AwaitTask","title":"Async.AwaitTask","content":"Async.AwaitTask \nAwaitTask \nReturn an asynchronous computation that will wait for the given task to complete and return\n its result. \nIf an exception occurs in the asynchronous computation then an exception is re-raised by this\n function.\n\n If the task is cancelled then \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.taskcanceledexception\u0022\u003ETasks.TaskCanceledException\u003C/a\u003E is raised. Note\n that the task may be governed by a different cancellation token to the overall async computation\n where the AwaitTask occurs. In practice you should normally start the task with the\n cancellation token returned by \u003Ccode\u003Elet! ct = Async.CancellationToken\u003C/code\u003E, and catch\n any \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.taskcanceledexception\u0022\u003ETasks.TaskCanceledException\u003C/a\u003E at the point where the\n overall async is started.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#AwaitWaitHandle","title":"Async.AwaitWaitHandle","content":"Async.AwaitWaitHandle \nAwaitWaitHandle \nCreates an asynchronous computation that will wait on the given WaitHandle. \nThe computation returns true if the handle indicated a result within the given timeout.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#CancelDefaultToken","title":"Async.CancelDefaultToken","content":"Async.CancelDefaultToken \nCancelDefaultToken \nRaises the cancellation condition for the most recent set of asynchronous computations started \n without any specific CancellationToken. Replaces the global CancellationTokenSource with a new \n global token source for any asynchronous computations created after this point without any \n specific CancellationToken.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#Catch","title":"Async.Catch","content":"Async.Catch \nCatch \nCreates an asynchronous computation that executes \u003Ccode\u003Ecomputation\u003C/code\u003E.\n If this computation completes successfully then return \u003Ccode\u003EChoice1Of2\u003C/code\u003E with the returned\n value. If this computation raises an exception before it completes then return \u003Ccode\u003EChoice2Of2\u003C/code\u003E\n with the raised exception.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#Choice","title":"Async.Choice","content":"Async.Choice \nChoice \n\n Creates an asynchronous computation that executes all given asynchronous computations in parallel, \n returning the result of the first succeeding computation (one whose result is \u0027Some x\u0027).\n If all child computations complete with None, the parent computation also returns None.\n \n\n If any child computation raises an exception, then the overall computation will trigger an \n exception, and cancel the others. \n\n The overall computation will respond to cancellation while executing the child computations.\n If cancelled, the computation will cancel any remaining child computations but will still wait\n for the other child computations to complete.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#FromBeginEnd","title":"Async.FromBeginEnd","content":"Async.FromBeginEnd \nFromBeginEnd \nCreates an asynchronous computation in terms of a Begin/End pair of actions in \n the style used in .NET 2.0 APIs. \nThe computation will respond to cancellation while waiting for the completion\n of the operation. If a cancellation occurs, and \u003Ccode\u003EcancelAction\u003C/code\u003E is specified, then it is \n executed, and the computation continues to wait for the completion of the operation.\n\n If \u003Ccode\u003EcancelAction\u003C/code\u003E is not specified, then cancellation causes the computation\n to stop immediately, and subsequent invocations of the callback are ignored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#FromBeginEnd","title":"Async.FromBeginEnd","content":"Async.FromBeginEnd \nFromBeginEnd \n\n Creates an asynchronous computation in terms of a Begin/End pair of actions in \n the style used in .NET 2.0 APIs. \nThe computation will respond to cancellation while waiting for the completion\n of the operation. If a cancellation occurs, and \u003Ccode\u003EcancelAction\u003C/code\u003E is specified, then it is \n executed, and the computation continues to wait for the completion of the operation.\n\n If \u003Ccode\u003EcancelAction\u003C/code\u003E is not specified, then cancellation causes the computation\n to stop immediately, and subsequent invocations of the callback are ignored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#FromBeginEnd","title":"Async.FromBeginEnd","content":"Async.FromBeginEnd \nFromBeginEnd \n\n Creates an asynchronous computation in terms of a Begin/End pair of actions in \n the style used in .NET 2.0 APIs.\n \nThe computation will respond to cancellation while waiting for the completion\n of the operation. If a cancellation occurs, and \u003Ccode\u003EcancelAction\u003C/code\u003E is specified, then it is \n executed, and the computation continues to wait for the completion of the operation.\n\n If \u003Ccode\u003EcancelAction\u003C/code\u003E is not specified, then cancellation causes the computation\n to stop immediately, and subsequent invocations of the callback are ignored.\n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#FromBeginEnd","title":"Async.FromBeginEnd","content":"Async.FromBeginEnd \nFromBeginEnd \n\n Creates an asynchronous computation in terms of a Begin/End pair of actions in \n the style used in CLI APIs.\n \n\n The computation will respond to cancellation while waiting for the completion\n of the operation. If a cancellation occurs, and \u003Ccode\u003EcancelAction\u003C/code\u003E is specified, then it is \n executed, and the computation continues to wait for the completion of the operation.\n\n If \u003Ccode\u003EcancelAction\u003C/code\u003E is not specified, then cancellation causes the computation\n to stop immediately, and subsequent invocations of the callback are ignored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#FromContinuations","title":"Async.FromContinuations","content":"Async.FromContinuations \nFromContinuations \nCreates an asynchronous computation that captures the current\n success, exception and cancellation continuations. The callback must \n eventually call exactly one of the given continuations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#Ignore","title":"Async.Ignore","content":"Async.Ignore \nIgnore \nCreates an asynchronous computation that runs the given computation and ignores \n its result.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#OnCancel","title":"Async.OnCancel","content":"Async.OnCancel \nOnCancel \nGenerates a scoped, cooperative cancellation handler for use within an asynchronous workflow. \nFor example,\n \u003Ccode\u003Easync { use! holder = Async.OnCancel interruption ... }\u003C/code\u003E \n generates an asynchronous computation where, if a cancellation happens any time during \n the execution of the asynchronous computation in the scope of \u003Ccode\u003Eholder\u003C/code\u003E, then action \n \u003Ccode\u003Einterruption\u003C/code\u003E is executed on the thread that is performing the cancellation. This can \n be used to arrange for a computation to be asynchronously notified that a cancellation \n has occurred, e.g. by setting a flag, or deregistering a pending I/O action.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#Parallel","title":"Async.Parallel","content":"Async.Parallel \nParallel \nCreates an asynchronous computation that executes all the given asynchronous computations,\n initially queueing each as work items and using a fork/join pattern. \nIf all child computations succeed, an array of results is passed to the success continuation.\n\n If any child computation raises an exception, then the overall computation will trigger an\n exception, and cancel the others.\n\n The overall computation will respond to cancellation while executing the child computations.\n If cancelled, the computation will cancel any remaining child computations but will still wait\n for the other child computations to complete.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#Parallel","title":"Async.Parallel","content":"Async.Parallel \nParallel \nCreates an asynchronous computation that executes all the given asynchronous computations, \n initially queueing each as work items and using a fork/join pattern. \nIf all child computations succeed, an array of results is passed to the success continuation.\n\n If any child computation raises an exception, then the overall computation will trigger an \n exception, and cancel the others. \n\n The overall computation will respond to cancellation while executing the child computations.\n If cancelled, the computation will cancel any remaining child computations but will still wait\n for the other child computations to complete.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#RunSynchronously","title":"Async.RunSynchronously","content":"Async.RunSynchronously \nRunSynchronously \nRuns the asynchronous computation and await its result. \nIf an exception occurs in the asynchronous computation then an exception is re-raised by this\n function.\n\n If no cancellation token is provided then the default cancellation token is used.\n\n The computation is started on the current thread if \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.synchronizationcontext.current\u0022\u003ESynchronizationContext.Current\u003C/a\u003E is null,\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.thread.currentthread\u0022\u003EThread.CurrentThread\u003C/a\u003E has \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.thread.isthreadpoolthread\u0022\u003EThread.IsThreadPoolThread\u003C/a\u003E\n of \u003Ccode\u003Etrue\u003C/code\u003E, and no timeout is specified. Otherwise the computation is started by queueing a new work item in the thread pool,\n and the current thread is blocked awaiting the completion of the computation.\n\n The timeout parameter is given in milliseconds. A value of -1 is equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.timeout.infinite\u0022\u003ETimeout.Infinite\u003C/a\u003E.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#Sequential","title":"Async.Sequential","content":"Async.Sequential \nSequential \nCreates an asynchronous computation that executes all the given asynchronous computations sequentially. \nIf all child computations succeed, an array of results is passed to the success continuation.\n\n If any child computation raises an exception, then the overall computation will trigger an\n exception, and cancel the others.\n\n The overall computation will respond to cancellation while executing the child computations.\n If cancelled, the computation will cancel any remaining child computations but will still wait\n for the other child computations to complete.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#Sleep","title":"Async.Sleep","content":"Async.Sleep \nSleep \n\n Creates an asynchronous computation that will sleep for the given time. This is scheduled\n using a System.Threading.Timer object. The operation will not block operating system threads\n for the duration of the wait.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#Sleep","title":"Async.Sleep","content":"Async.Sleep \nSleep \n\n Creates an asynchronous computation that will sleep for the given time. This is scheduled\n using a System.Threading.Timer object. The operation will not block operating system threads\n for the duration of the wait.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#Start","title":"Async.Start","content":"Async.Start \nStart \nStarts the asynchronous computation in the thread pool. Do not await its result. \nIf no cancellation token is provided then the default cancellation token is used.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#StartAsTask","title":"Async.StartAsTask","content":"Async.StartAsTask \nStartAsTask \nExecutes a computation in the thread pool. \nIf no cancellation token is provided then the default cancellation token is used.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#StartChild","title":"Async.StartChild","content":"Async.StartChild \nStartChild \nStarts a child computation within an asynchronous workflow. \n This allows multiple asynchronous computations to be executed simultaneously. \nThis method should normally be used as the immediate \n right-hand-side of a \u003Ccode\u003Elet!\u003C/code\u003E binding in an F# asynchronous workflow, that is,\n \u003Cpre class=\u0022fssnip highlighted\u0022\u003E\u003Ccode lang=\u0022fsharp\u0022\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs1\u0027, 1)\u0022 onmouseover=\u0022showTip(event, \u0027fs1\u0027, 1)\u0022 class=\u0022id\u0022\u003Easync\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E{\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E..\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E\r\n \u003Cspan class=\u0022k\u0022\u003Elet!\u003C/span\u003E \u003Cspan class=\u0022id\u0022\u003Ecompletor1\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan class=\u0022id\u0022\u003EchildComputation1\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E|\u0026gt;\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 2)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 2)\u0022 class=\u0022id\u0022\u003EAsync\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E\u003Cspan onmouseout=\u0022hideTip(event, \u0027fs3\u0027, 3)\u0022 onmouseover=\u0022showTip(event, \u0027fs3\u0027, 3)\u0022 class=\u0022id\u0022\u003EStartChild\u003C/span\u003E \r\n \u003Cspan class=\u0022k\u0022\u003Elet!\u003C/span\u003E \u003Cspan class=\u0022id\u0022\u003Ecompletor2\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan class=\u0022id\u0022\u003EchildComputation2\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E|\u0026gt;\u003C/span\u003E \u003Cspan onmouseout=\u0022hideTip(event, \u0027fs2\u0027, 4)\u0022 onmouseover=\u0022showTip(event, \u0027fs2\u0027, 4)\u0022 class=\u0022id\u0022\u003EAsync\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E\u003Cspan onmouseout=\u0022hideTip(event, \u0027fs3\u0027, 5)\u0022 onmouseover=\u0022showTip(event, \u0027fs3\u0027, 5)\u0022 class=\u0022id\u0022\u003EStartChild\u003C/span\u003E \r\n \u003Cspan class=\u0022o\u0022\u003E..\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E \r\n \u003Cspan class=\u0022k\u0022\u003Elet!\u003C/span\u003E \u003Cspan class=\u0022id\u0022\u003Eresult1\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan class=\u0022id\u0022\u003Ecompletor1\u003C/span\u003E \r\n \u003Cspan class=\u0022k\u0022\u003Elet!\u003C/span\u003E \u003Cspan class=\u0022id\u0022\u003Eresult2\u003C/span\u003E \u003Cspan class=\u0022o\u0022\u003E=\u003C/span\u003E \u003Cspan class=\u0022id\u0022\u003Ecompletor2\u003C/span\u003E \r\n \u003Cspan class=\u0022o\u0022\u003E..\u003C/span\u003E\u003Cspan class=\u0022pn\u0022\u003E.\u003C/span\u003E \u003Cspan class=\u0022pn\u0022\u003E}\u003C/span\u003E\r\n\u003C/code\u003E\u003C/pre\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs1\u0022\u003Eval async: AsyncBuilder\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs2\u0022\u003EMultiple items\u003Cbr /\u003Etype Async =\n static member AsBeginEnd: computation: (\u0026#39;Arg -\u0026gt; Async\u0026lt;\u0026#39;T\u0026gt;) -\u0026gt; (\u0026#39;Arg * AsyncCallback * obj -\u0026gt; IAsyncResult) * (IAsyncResult -\u0026gt; \u0026#39;T) * (IAsyncResult -\u0026gt; unit)\n static member AwaitEvent: event: IEvent\u0026lt;\u0026#39;Del,\u0026#39;T\u0026gt; * ?cancelAction: (unit -\u0026gt; unit) -\u0026gt; Async\u0026lt;\u0026#39;T\u0026gt; (requires delegate and \u0026#39;Del :\u0026gt; Delegate)\n static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -\u0026gt; Async\u0026lt;bool\u0026gt;\n static member AwaitTask: task: Task\u0026lt;\u0026#39;T\u0026gt; -\u0026gt; Async\u0026lt;\u0026#39;T\u0026gt; \u002B 1 overload\n static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -\u0026gt; Async\u0026lt;bool\u0026gt;\n static member CancelDefaultToken: unit -\u0026gt; unit\n static member Catch: computation: Async\u0026lt;\u0026#39;T\u0026gt; -\u0026gt; Async\u0026lt;Choice\u0026lt;\u0026#39;T,exn\u0026gt;\u0026gt;\n static member Choice: computations: Async\u0026lt;\u0026#39;T option\u0026gt; seq -\u0026gt; Async\u0026lt;\u0026#39;T option\u0026gt;\n static member FromBeginEnd: beginAction: (AsyncCallback * obj -\u0026gt; IAsyncResult) * endAction: (IAsyncResult -\u0026gt; \u0026#39;T) * ?cancelAction: (unit -\u0026gt; unit) -\u0026gt; Async\u0026lt;\u0026#39;T\u0026gt; \u002B 3 overloads\n static member FromContinuations: callback: ((\u0026#39;T -\u0026gt; unit) * (exn -\u0026gt; unit) * (OperationCanceledException -\u0026gt; unit) -\u0026gt; unit) -\u0026gt; Async\u0026lt;\u0026#39;T\u0026gt;\n ...\u003Cbr /\u003E\u003Cbr /\u003E--------------------\u003Cbr /\u003Etype Async\u0026lt;\u0026#39;T\u0026gt;\u003C/div\u003E\r\n\u003Cdiv class=\u0022fsdocs-tip\u0022 id=\u0022fs3\u0022\u003Estatic member Async.StartChild: computation: Async\u0026lt;\u0026#39;T\u0026gt; * ?millisecondsTimeout: int -\u0026gt; Async\u0026lt;Async\u0026lt;\u0026#39;T\u0026gt;\u0026gt;\u003C/div\u003E\r\n\r\n\n\n When used in this way, each use of \u003Ccode\u003EStartChild\u003C/code\u003E starts an instance of \u003Ccode\u003EchildComputation\u003C/code\u003E \n and returns a completor object representing a computation to wait for the completion of the operation.\n When executed, the completor awaits the completion of \u003Ccode\u003EchildComputation\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#StartChildAsTask","title":"Async.StartChildAsTask","content":"Async.StartChildAsTask \nStartChildAsTask \nCreates an asynchronous computation which starts the given computation as a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1\u0022\u003ETask\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#StartImmediate","title":"Async.StartImmediate","content":"Async.StartImmediate \nStartImmediate \nRuns an asynchronous computation, starting immediately on the current operating system\n thread. \nIf no cancellation token is provided then the default cancellation token is used.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#StartImmediateAsTask","title":"Async.StartImmediateAsTask","content":"Async.StartImmediateAsTask \nStartImmediateAsTask \nRuns an asynchronous computation, starting immediately on the current operating system\n thread, but also returns the execution as \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1\u0022\u003ETask\u003C/a\u003E \nIf no cancellation token is provided then the default cancellation token is used.\n You may prefer using this method if you want to achieve a similar behavior to async await in C# as \n async computation starts on the current thread with an ability to return a result.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#StartWithContinuations","title":"Async.StartWithContinuations","content":"Async.StartWithContinuations \nStartWithContinuations \nRuns an asynchronous computation, starting immediately on the current operating system\n thread. Call one of the three continuations when the operation completes. \nIf no cancellation token is provided then the default cancellation token\n is used.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#SwitchToContext","title":"Async.SwitchToContext","content":"Async.SwitchToContext \nSwitchToContext \nCreates an asynchronous computation that runs\n its continuation using syncContext.Post. If syncContext is null \n then the asynchronous computation is equivalent to SwitchToThreadPool().","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#SwitchToNewThread","title":"Async.SwitchToNewThread","content":"Async.SwitchToNewThread \nSwitchToNewThread \nCreates an asynchronous computation that creates a new thread and runs\n its continuation in that thread.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#SwitchToThreadPool","title":"Async.SwitchToThreadPool","content":"Async.SwitchToThreadPool \nSwitchToThreadPool \nCreates an asynchronous computation that queues a work item that runs\n its continuation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#TryCancelled","title":"Async.TryCancelled","content":"Async.TryCancelled \nTryCancelled \nCreates an asynchronous computation that executes \u003Ccode\u003Ecomputation\u003C/code\u003E.\n If this computation is cancelled before it completes then the computation generated by \n running \u003Ccode\u003Ecompensation\u003C/code\u003E is executed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#DefaultCancellationToken","title":"Async.DefaultCancellationToken","content":"Async.DefaultCancellationToken \nDefaultCancellationToken \nGets the default cancellation token for executing asynchronous computations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasync.html#CancellationToken","title":"Async.CancellationToken","content":"Async.CancellationToken \nCancellationToken \nCreates an asynchronous computation that returns the CancellationToken governing the execution \n of the computation. \nIn \u003Ccode\u003Easync { let! token = Async.CancellationToken ...}\u003C/code\u003E token can be used to initiate other \n asynchronous operations that will cancel cooperatively with this workflow.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncactivation-1.html","title":"AsyncActivation\u003C\u0027T\u003E","content":"AsyncActivation\u003C\u0027T\u003E \nThe F# compiler emits references to this type to implement F# async expressions. \nAsyncActivation\u003C\u0027T\u003E.OnCancellation \nOnCancellation \nAsyncActivation\u003C\u0027T\u003E.OnExceptionRaised \nOnExceptionRaised \nAsyncActivation\u003C\u0027T\u003E.OnSuccess \nOnSuccess \nAsyncActivation\u003C\u0027T\u003E.IsCancellationRequested \nIsCancellationRequested \nAsyncActivation\u003C\u0027T\u003E.Success \nSuccess","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncactivation-1.html#OnCancellation","title":"AsyncActivation\u003C\u0027T\u003E.OnCancellation","content":"AsyncActivation\u003C\u0027T\u003E.OnCancellation \nOnCancellation \nThe F# compiler emits calls to this function to implement F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncactivation-1.html#OnExceptionRaised","title":"AsyncActivation\u003C\u0027T\u003E.OnExceptionRaised","content":"AsyncActivation\u003C\u0027T\u003E.OnExceptionRaised \nOnExceptionRaised \nThe F# compiler emits calls to this function to implement F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncactivation-1.html#OnSuccess","title":"AsyncActivation\u003C\u0027T\u003E.OnSuccess","content":"AsyncActivation\u003C\u0027T\u003E.OnSuccess \nOnSuccess \nThe F# compiler emits calls to this function to implement F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncactivation-1.html#IsCancellationRequested","title":"AsyncActivation\u003C\u0027T\u003E.IsCancellationRequested","content":"AsyncActivation\u003C\u0027T\u003E.IsCancellationRequested \nIsCancellationRequested \nThe F# compiler emits calls to this function to implement F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncactivation-1.html#Success","title":"AsyncActivation\u003C\u0027T\u003E.Success","content":"AsyncActivation\u003C\u0027T\u003E.Success \nSuccess \nThe F# compiler emits calls to this function to implement F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html","title":"AsyncBuilder","content":"AsyncBuilder \nThe type of the \u003Ccode\u003Easync\u003C/code\u003E operator, used to build workflows for asynchronous computations. \nAsyncBuilder.Bind \nBind \nAsyncBuilder.Combine \nCombine \nAsyncBuilder.Delay \nDelay \nAsyncBuilder.For \nFor \nAsyncBuilder.Return \nReturn \nAsyncBuilder.ReturnFrom \nReturnFrom \nAsyncBuilder.TryFinally \nTryFinally \nAsyncBuilder.TryWith \nTryWith \nAsyncBuilder.Using \nUsing \nAsyncBuilder.While \nWhile \nAsyncBuilder.Zero \nZero","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#Bind","title":"AsyncBuilder.Bind","content":"AsyncBuilder.Bind \nBind \nCreates an asynchronous computation that runs \u003Ccode\u003Ecomputation\u003C/code\u003E, and when \n \u003Ccode\u003Ecomputation\u003C/code\u003E generates a result \u003Ccode\u003ET\u003C/code\u003E, runs \u003Ccode\u003Ebinder res\u003C/code\u003E. \nA cancellation check is performed when the computation is executed.\n\n The existence of this method permits the use of \u003Ccode\u003Elet!\u003C/code\u003E in the \n \u003Ccode\u003Easync { ... }\u003C/code\u003E computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#Combine","title":"AsyncBuilder.Combine","content":"AsyncBuilder.Combine \nCombine \nCreates an asynchronous computation that first runs \u003Ccode\u003Ecomputation1\u003C/code\u003E\n and then runs \u003Ccode\u003Ecomputation2\u003C/code\u003E, returning the result of \u003Ccode\u003Ecomputation2\u003C/code\u003E. \nA cancellation check is performed when the computation is executed.\n\n The existence of this method permits the use of expression sequencing in the \n \u003Ccode\u003Easync { ... }\u003C/code\u003E computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#Delay","title":"AsyncBuilder.Delay","content":"AsyncBuilder.Delay \nDelay \nCreates an asynchronous computation that runs \u003Ccode\u003Egenerator\u003C/code\u003E. \nA cancellation check is performed when the computation is executed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#For","title":"AsyncBuilder.For","content":"AsyncBuilder.For \nFor \nCreates an asynchronous computation that enumerates the sequence \u003Ccode\u003Eseq\u003C/code\u003E\n on demand and runs \u003Ccode\u003Ebody\u003C/code\u003E for each element. \nA cancellation check is performed on each iteration of the loop.\n\n The existence of this method permits the use of \u003Ccode\u003Efor\u003C/code\u003E in the \n \u003Ccode\u003Easync { ... }\u003C/code\u003E computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#Return","title":"AsyncBuilder.Return","content":"AsyncBuilder.Return \nReturn \nCreates an asynchronous computation that returns the result \u003Ccode\u003Ev\u003C/code\u003E. \nA cancellation check is performed when the computation is executed.\n\n The existence of this method permits the use of \u003Ccode\u003Ereturn\u003C/code\u003E in the \n \u003Ccode\u003Easync { ... }\u003C/code\u003E computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#ReturnFrom","title":"AsyncBuilder.ReturnFrom","content":"AsyncBuilder.ReturnFrom \nReturnFrom \nDelegates to the input computation. \nThe existence of this method permits the use of \u003Ccode\u003Ereturn!\u003C/code\u003E in the \n \u003Ccode\u003Easync { ... }\u003C/code\u003E computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#TryFinally","title":"AsyncBuilder.TryFinally","content":"AsyncBuilder.TryFinally \nTryFinally \nCreates an asynchronous computation that runs \u003Ccode\u003Ecomputation\u003C/code\u003E. The action \u003Ccode\u003Ecompensation\u003C/code\u003E is executed \n after \u003Ccode\u003Ecomputation\u003C/code\u003E completes, whether \u003Ccode\u003Ecomputation\u003C/code\u003E exits normally or by an exception. If \u003Ccode\u003Ecompensation\u003C/code\u003E raises an exception itself\n the original exception is discarded and the new exception becomes the overall result of the computation. \nA cancellation check is performed when the computation is executed.\n\n The existence of this method permits the use of \u003Ccode\u003Etry/finally\u003C/code\u003E in the \n \u003Ccode\u003Easync { ... }\u003C/code\u003E computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#TryWith","title":"AsyncBuilder.TryWith","content":"AsyncBuilder.TryWith \nTryWith \nCreates an asynchronous computation that runs \u003Ccode\u003Ecomputation\u003C/code\u003E and returns its result.\n If an exception happens then \u003Ccode\u003EcatchHandler(exn)\u003C/code\u003E is called and the resulting computation executed instead. \nA cancellation check is performed when the computation is executed.\n\n The existence of this method permits the use of \u003Ccode\u003Etry/with\u003C/code\u003E in the \n \u003Ccode\u003Easync { ... }\u003C/code\u003E computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#Using","title":"AsyncBuilder.Using","content":"AsyncBuilder.Using \nUsing \nCreates an asynchronous computation that runs \u003Ccode\u003Ebinder(resource)\u003C/code\u003E. \n The action \u003Ccode\u003Eresource.Dispose()\u003C/code\u003E is executed as this computation yields its result\n or if the asynchronous computation exits by an exception or by cancellation. \nA cancellation check is performed when the computation is executed.\n\n The existence of this method permits the use of \u003Ccode\u003Euse\u003C/code\u003E and \u003Ccode\u003Euse!\u003C/code\u003E in the \n \u003Ccode\u003Easync { ... }\u003C/code\u003E computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#While","title":"AsyncBuilder.While","content":"AsyncBuilder.While \nWhile \nCreates an asynchronous computation that runs \u003Ccode\u003Ecomputation\u003C/code\u003E repeatedly \n until \u003Ccode\u003Eguard()\u003C/code\u003E becomes false. \nA cancellation check is performed whenever the computation is executed.\n\n The existence of this method permits the use of \u003Ccode\u003Ewhile\u003C/code\u003E in the \n \u003Ccode\u003Easync { ... }\u003C/code\u003E computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncbuilder.html#Zero","title":"AsyncBuilder.Zero","content":"AsyncBuilder.Zero \nZero \nCreates an asynchronous computation that just returns \u003Ccode\u003E()\u003C/code\u003E. \nA cancellation check is performed when the computation is executed.\n\n The existence of this method permits the use of empty \u003Ccode\u003Eelse\u003C/code\u003E branches in the \n \u003Ccode\u003Easync { ... }\u003C/code\u003E computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncreplychannel-1.html","title":"AsyncReplyChannel\u003C\u0027Reply\u003E","content":"AsyncReplyChannel\u003C\u0027Reply\u003E \nA handle to a capability to reply to a PostAndReply message. \nAsyncReplyChannel\u003C\u0027Reply\u003E.Reply \nReply","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpasyncreplychannel-1.html#Reply","title":"AsyncReplyChannel\u003C\u0027Reply\u003E.Reply","content":"AsyncReplyChannel\u003C\u0027Reply\u003E.Reply \nReply \nSends a reply to a PostAndReply message.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-asyncreturn.html","title":"AsyncReturn","content":"AsyncReturn \nThe F# compiler emits references to this type to implement F# async expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-backgroundtaskbuilder.html","title":"BackgroundTaskBuilder","content":"BackgroundTaskBuilder \n Contains methods to build tasks using the F# computation expression syntax \nBackgroundTaskBuilder.Run \nRun \nBackgroundTaskBuilder.RunDynamic \nRunDynamic","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-backgroundtaskbuilder.html#Run","title":"BackgroundTaskBuilder.Run","content":"BackgroundTaskBuilder.Run \nRun \n Hosts the task code in a state machine and starts the task, executing in the threadpool using Task.Run","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-backgroundtaskbuilder.html#RunDynamic","title":"BackgroundTaskBuilder.RunDynamic","content":"BackgroundTaskBuilder.RunDynamic \nRunDynamic \n The entry point for the dynamic implementation of the corresponding operation. Do not use directly, only used when executing quotations that involve tasks or other reflective execution of F# code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpdelegateevent-1.html","title":"DelegateEvent\u003C\u0027Delegate\u003E","content":"DelegateEvent\u003C\u0027Delegate\u003E \nEvent implementations for an arbitrary type of delegate. \nDelegateEvent\u003C\u0027Delegate\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nDelegateEvent\u003C\u0027Delegate\u003E.Trigger \nTrigger \nDelegateEvent\u003C\u0027Delegate\u003E.Publish \nPublish","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpdelegateevent-1.html#\u0060\u0060.ctor\u0060\u0060","title":"DelegateEvent\u003C\u0027Delegate\u003E.\u0060\u0060.ctor\u0060\u0060","content":"DelegateEvent\u003C\u0027Delegate\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an event object suitable for implementing an arbitrary type of delegate.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpdelegateevent-1.html#Trigger","title":"DelegateEvent\u003C\u0027Delegate\u003E.Trigger","content":"DelegateEvent\u003C\u0027Delegate\u003E.Trigger \nTrigger \nTriggers the event using the given parameters.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpdelegateevent-1.html#Publish","title":"DelegateEvent\u003C\u0027Delegate\u003E.Publish","content":"DelegateEvent\u003C\u0027Delegate\u003E.Publish \nPublish \nPublishes the event as a first class event value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpevent-2.html","title":"Event\u003C\u0027Delegate, \u0027Args\u003E","content":"Event\u003C\u0027Delegate, \u0027Args\u003E \nEvent implementations for a delegate types following the standard .NET Framework convention of a first \u0027sender\u0027 argument. \nEvent\u003C\u0027Delegate, \u0027Args\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nEvent\u003C\u0027Delegate, \u0027Args\u003E.Trigger \nTrigger \nEvent\u003C\u0027Delegate, \u0027Args\u003E.Publish \nPublish","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpevent-2.html#\u0060\u0060.ctor\u0060\u0060","title":"Event\u003C\u0027Delegate, \u0027Args\u003E.\u0060\u0060.ctor\u0060\u0060","content":"Event\u003C\u0027Delegate, \u0027Args\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an event object suitable for delegate types following the standard .NET Framework convention of a first \u0027sender\u0027 argument.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpevent-2.html#Trigger","title":"Event\u003C\u0027Delegate, \u0027Args\u003E.Trigger","content":"Event\u003C\u0027Delegate, \u0027Args\u003E.Trigger \nTrigger \nTriggers the event using the given sender object and parameters. The sender object may be \u003Ccode\u003Enull\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpevent-2.html#Publish","title":"Event\u003C\u0027Delegate, \u0027Args\u003E.Publish","content":"Event\u003C\u0027Delegate, \u0027Args\u003E.Publish \nPublish \nPublishes the event as a first class event value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpevent-1.html","title":"Event\u003C\u0027T\u003E","content":"Event\u003C\u0027T\u003E \nEvent implementations for the IEvent\u003C_\u003E type. \nEvent\u003C\u0027T\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nEvent\u003C\u0027T\u003E.Trigger \nTrigger \nEvent\u003C\u0027T\u003E.Publish \nPublish","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpevent-1.html#\u0060\u0060.ctor\u0060\u0060","title":"Event\u003C\u0027T\u003E.\u0060\u0060.ctor\u0060\u0060","content":"Event\u003C\u0027T\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an observable object.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpevent-1.html#Trigger","title":"Event\u003C\u0027T\u003E.Trigger","content":"Event\u003C\u0027T\u003E.Trigger \nTrigger \nTriggers the event using the given parameters.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpevent-1.html#Publish","title":"Event\u003C\u0027T\u003E.Publish","content":"Event\u003C\u0027T\u003E.Publish \nPublish \nPublishes the event as a first class value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharphandler-1.html","title":"Handler\u003C\u0027T\u003E","content":"Handler\u003C\u0027T\u003E \nA delegate type associated with the F# event type \u003Ccode\u003EIEvent\u0026lt;_\u0026gt;\u003C/code\u003E \nHandler\u003C\u0027T\u003E.Invoke \nInvoke","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharphandler-1.html#Invoke","title":"Handler\u003C\u0027T\u003E.Invoke","content":"Handler\u003C\u0027T\u003E.Invoke \nInvoke \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-idelegateevent-1.html","title":"IDelegateEvent\u003C\u0027Delegate\u003E","content":"IDelegateEvent\u003C\u0027Delegate\u003E \nFirst class event values for arbitrary delegate types. \nF# gives special status to member properties compatible with type IDelegateEvent and \n tagged with the CLIEventAttribute. In this case the F# compiler generates appropriate \n CLI metadata to make the member appear to other CLI languages as a CLI event. \nIDelegateEvent\u003C\u0027Delegate\u003E.AddHandler \nAddHandler \nIDelegateEvent\u003C\u0027Delegate\u003E.RemoveHandler \nRemoveHandler","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-idelegateevent-1.html#AddHandler","title":"IDelegateEvent\u003C\u0027Delegate\u003E.AddHandler","content":"IDelegateEvent\u003C\u0027Delegate\u003E.AddHandler \nAddHandler \nConnect a handler delegate object to the event. A handler can\n be later removed using RemoveHandler. The listener will\n be invoked when the event is fired.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-idelegateevent-1.html#RemoveHandler","title":"IDelegateEvent\u003C\u0027Delegate\u003E.RemoveHandler","content":"IDelegateEvent\u003C\u0027Delegate\u003E.RemoveHandler \nRemoveHandler \nRemove a listener delegate from an event listener store.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-ievent-2.html","title":"IEvent\u003C\u0027Delegate, \u0027Args\u003E","content":"IEvent\u003C\u0027Delegate, \u0027Args\u003E \nFirst class event values for CLI events conforming to CLI Framework standards.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-ievent-1.html","title":"IEvent\u003C\u0027T\u003E","content":"IEvent\u003C\u0027T\u003E \nFirst-class listening points (i.e. objects that permit you to register a callback\n activated when the event is triggered). ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html","title":"MailboxProcessor\u003C\u0027Msg\u003E","content":"MailboxProcessor\u003C\u0027Msg\u003E \nA message-processing agent which executes an asynchronous computation. \nThe agent encapsulates a message queue that supports multiple-writers and\n a single reader agent. Writers send messages to the agent by using the Post\n method and its variations.\n\n The agent may wait for messages using the Receive or TryReceive methods or\n scan through all available messages using the Scan or TryScan method. \nMailboxProcessor\u003C\u0027Msg\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nMailboxProcessor\u003C\u0027Msg\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nMailboxProcessor\u003C\u0027Msg\u003E.Dispose \nDispose \nMailboxProcessor\u003C\u0027Msg\u003E.Post \nPost \nMailboxProcessor\u003C\u0027Msg\u003E.PostAndAsyncReply \nPostAndAsyncReply \nMailboxProcessor\u003C\u0027Msg\u003E.PostAndReply \nPostAndReply \nMailboxProcessor\u003C\u0027Msg\u003E.PostAndTryAsyncReply \nPostAndTryAsyncReply \nMailboxProcessor\u003C\u0027Msg\u003E.Receive \nReceive \nMailboxProcessor\u003C\u0027Msg\u003E.Scan \nScan \nMailboxProcessor\u003C\u0027Msg\u003E.Start \nStart \nMailboxProcessor\u003C\u0027Msg\u003E.StartImmediate \nStartImmediate \nMailboxProcessor\u003C\u0027Msg\u003E.TryPostAndReply \nTryPostAndReply \nMailboxProcessor\u003C\u0027Msg\u003E.TryReceive \nTryReceive \nMailboxProcessor\u003C\u0027Msg\u003E.TryScan \nTryScan \nMailboxProcessor\u003C\u0027Msg\u003E.DefaultTimeout \nDefaultTimeout \nMailboxProcessor\u003C\u0027Msg\u003E.CurrentQueueLength \nCurrentQueueLength \nMailboxProcessor\u003C\u0027Msg\u003E.Error \nError \nMailboxProcessor\u003C\u0027Msg\u003E.Start \nStart \nMailboxProcessor\u003C\u0027Msg\u003E.Start \nStart \nMailboxProcessor\u003C\u0027Msg\u003E.StartImmediate \nStartImmediate \nMailboxProcessor\u003C\u0027Msg\u003E.StartImmediate \nStartImmediate","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#\u0060\u0060.ctor\u0060\u0060","title":"MailboxProcessor\u003C\u0027Msg\u003E.\u0060\u0060.ctor\u0060\u0060","content":"MailboxProcessor\u003C\u0027Msg\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an agent. The \u003Ccode\u003Ebody\u003C/code\u003E function is used to generate the asynchronous\n computation executed by the agent. This function is not executed until\n \u003Ccode\u003EStart\u003C/code\u003E is called.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#\u0060\u0060.ctor\u0060\u0060","title":"MailboxProcessor\u003C\u0027Msg\u003E.\u0060\u0060.ctor\u0060\u0060","content":"MailboxProcessor\u003C\u0027Msg\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an agent. The \u003Ccode\u003Ebody\u003C/code\u003E function is used to generate the asynchronous\n computation executed by the agent. This function is not executed until\n \u003Ccode\u003EStart\u003C/code\u003E is called.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#Dispose","title":"MailboxProcessor\u003C\u0027Msg\u003E.Dispose","content":"MailboxProcessor\u003C\u0027Msg\u003E.Dispose \nDispose \nDisposes the agent\u0027s internal resources.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#Post","title":"MailboxProcessor\u003C\u0027Msg\u003E.Post","content":"MailboxProcessor\u003C\u0027Msg\u003E.Post \nPost \nPosts a message to the message queue of the MailboxProcessor, asynchronously.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#PostAndAsyncReply","title":"MailboxProcessor\u003C\u0027Msg\u003E.PostAndAsyncReply","content":"MailboxProcessor\u003C\u0027Msg\u003E.PostAndAsyncReply \nPostAndAsyncReply \nPosts a message to an agent and await a reply on the channel, asynchronously. \nThe message is generated by applying \u003Ccode\u003EbuildMessage\u003C/code\u003E to a new reply channel\n to be incorporated into the message. The receiving agent must process this\n message and invoke the Reply method on this reply channel precisely once.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#PostAndReply","title":"MailboxProcessor\u003C\u0027Msg\u003E.PostAndReply","content":"MailboxProcessor\u003C\u0027Msg\u003E.PostAndReply \nPostAndReply \nPosts a message to an agent and await a reply on the channel, synchronously. \nThe message is generated by applying \u003Ccode\u003EbuildMessage\u003C/code\u003E to a new reply channel\n to be incorporated into the message. The receiving agent must process this\n message and invoke the Reply method on this reply channel precisely once.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#PostAndTryAsyncReply","title":"MailboxProcessor\u003C\u0027Msg\u003E.PostAndTryAsyncReply","content":"MailboxProcessor\u003C\u0027Msg\u003E.PostAndTryAsyncReply \nPostAndTryAsyncReply \nLike AsyncPostAndReply, but returns None if no reply within the timeout period.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#Receive","title":"MailboxProcessor\u003C\u0027Msg\u003E.Receive","content":"MailboxProcessor\u003C\u0027Msg\u003E.Receive \nReceive \nWaits for a message. This will consume the first message in arrival order. \nThis method is for use within the body of the agent.\n\n This method is for use within the body of the agent. For each agent, at most\n one concurrent reader may be active, so no more than one concurrent call to\n Receive, TryReceive, Scan and/or TryScan may be active.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#Scan","title":"MailboxProcessor\u003C\u0027Msg\u003E.Scan","content":"MailboxProcessor\u003C\u0027Msg\u003E.Scan \nScan \nScans for a message by looking through messages in arrival order until \u003Ccode\u003Escanner\u003C/code\u003E\n returns a Some value. Other messages remain in the queue. \nReturns None if a timeout is given and the timeout is exceeded.\n\n This method is for use within the body of the agent. For each agent, at most\n one concurrent reader may be active, so no more than one concurrent call to\n Receive, TryReceive, Scan and/or TryScan may be active.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#Start","title":"MailboxProcessor\u003C\u0027Msg\u003E.Start","content":"MailboxProcessor\u003C\u0027Msg\u003E.Start \nStart \nStarts the agent.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#StartImmediate","title":"MailboxProcessor\u003C\u0027Msg\u003E.StartImmediate","content":"MailboxProcessor\u003C\u0027Msg\u003E.StartImmediate \nStartImmediate \nStarts the agent immediately on the current operating system thread.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#TryPostAndReply","title":"MailboxProcessor\u003C\u0027Msg\u003E.TryPostAndReply","content":"MailboxProcessor\u003C\u0027Msg\u003E.TryPostAndReply \nTryPostAndReply \nLike PostAndReply, but returns None if no reply within the timeout period.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#TryReceive","title":"MailboxProcessor\u003C\u0027Msg\u003E.TryReceive","content":"MailboxProcessor\u003C\u0027Msg\u003E.TryReceive \nTryReceive \nWaits for a message. This will consume the first message in arrival order. \nThis method is for use within the body of the agent.\n\n Returns None if a timeout is given and the timeout is exceeded.\n\n This method is for use within the body of the agent. For each agent, at most\n one concurrent reader may be active, so no more than one concurrent call to\n Receive, TryReceive, Scan and/or TryScan may be active.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#TryScan","title":"MailboxProcessor\u003C\u0027Msg\u003E.TryScan","content":"MailboxProcessor\u003C\u0027Msg\u003E.TryScan \nTryScan \nScans for a message by looking through messages in arrival order until \u003Ccode\u003Escanner\u003C/code\u003E\n returns a Some value. Other messages remain in the queue. \nThis method is for use within the body of the agent. For each agent, at most\n one concurrent reader may be active, so no more than one concurrent call to\n Receive, TryReceive, Scan and/or TryScan may be active.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#DefaultTimeout","title":"MailboxProcessor\u003C\u0027Msg\u003E.DefaultTimeout","content":"MailboxProcessor\u003C\u0027Msg\u003E.DefaultTimeout \nDefaultTimeout \nRaises a timeout exception if a message not received in this amount of time. By default\n no timeout is used.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#CurrentQueueLength","title":"MailboxProcessor\u003C\u0027Msg\u003E.CurrentQueueLength","content":"MailboxProcessor\u003C\u0027Msg\u003E.CurrentQueueLength \nCurrentQueueLength \nReturns the number of unprocessed messages in the message queue of the agent.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#Error","title":"MailboxProcessor\u003C\u0027Msg\u003E.Error","content":"MailboxProcessor\u003C\u0027Msg\u003E.Error \nError \nOccurs when the execution of the agent results in an exception.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#Start","title":"MailboxProcessor\u003C\u0027Msg\u003E.Start","content":"MailboxProcessor\u003C\u0027Msg\u003E.Start \nStart \nCreates and starts an agent. The \u003Ccode\u003Ebody\u003C/code\u003E function is used to generate the asynchronous\n computation executed by the agent.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#Start","title":"MailboxProcessor\u003C\u0027Msg\u003E.Start","content":"MailboxProcessor\u003C\u0027Msg\u003E.Start \nStart \nCreates and starts an agent. The \u003Ccode\u003Ebody\u003C/code\u003E function is used to generate the asynchronous\n computation executed by the agent.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#StartImmediate","title":"MailboxProcessor\u003C\u0027Msg\u003E.StartImmediate","content":"MailboxProcessor\u003C\u0027Msg\u003E.StartImmediate \nStartImmediate \nCreates and starts an agent immediately on the current operating system thread. The \u003Ccode\u003Ebody\u003C/code\u003E\n function is used to generate the asynchronous computation executed by the agent.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-fsharpmailboxprocessor-1.html#StartImmediate","title":"MailboxProcessor\u003C\u0027Msg\u003E.StartImmediate","content":"MailboxProcessor\u003C\u0027Msg\u003E.StartImmediate \nStartImmediate \nCreates and starts an agent immediately on the current operating system thread. The \u003Ccode\u003Ebody\u003C/code\u003E\n function is used to generate the asynchronous computation executed by the agent.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilder.html","title":"TaskBuilder","content":"TaskBuilder \n Contains methods to build tasks using the F# computation expression syntax \nTaskBuilder.Run \nRun \nTaskBuilder.RunDynamic \nRunDynamic","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilder.html#Run","title":"TaskBuilder.Run","content":"TaskBuilder.Run \nRun \n Hosts the task code in a state machine and starts the task.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilder.html#RunDynamic","title":"TaskBuilder.RunDynamic","content":"TaskBuilder.RunDynamic \nRunDynamic \n The entry point for the dynamic implementation of the corresponding operation. Do not use directly, only used when executing quotations that involve tasks or other reflective execution of F# code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderbase.html","title":"TaskBuilderBase","content":"TaskBuilderBase \n Contains methods to build tasks using the F# computation expression syntax \nTaskBuilderBase.Combine \nCombine \nTaskBuilderBase.Delay \nDelay \nTaskBuilderBase.For \nFor \nTaskBuilderBase.Return \nReturn \nTaskBuilderBase.TryFinally \nTryFinally \nTaskBuilderBase.TryWith \nTryWith \nTaskBuilderBase.Using \nUsing \nTaskBuilderBase.While \nWhile \nTaskBuilderBase.Zero \nZero","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderbase.html#Combine","title":"TaskBuilderBase.Combine","content":"TaskBuilderBase.Combine \nCombine \n Specifies the sequential composition of two units of task code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderbase.html#Delay","title":"TaskBuilderBase.Delay","content":"TaskBuilderBase.Delay \nDelay \n Specifies the delayed execution of a unit of task code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderbase.html#For","title":"TaskBuilderBase.For","content":"TaskBuilderBase.For \nFor \n Specifies the iterative execution of a unit of task code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderbase.html#Return","title":"TaskBuilderBase.Return","content":"TaskBuilderBase.Return \nReturn \n Specifies a unit of task code which returns a value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderbase.html#TryFinally","title":"TaskBuilderBase.TryFinally","content":"TaskBuilderBase.TryFinally \nTryFinally \n Specifies a unit of task code which executed using try/finally semantics","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderbase.html#TryWith","title":"TaskBuilderBase.TryWith","content":"TaskBuilderBase.TryWith \nTryWith \n Specifies a unit of task code which executed using try/with semantics","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderbase.html#Using","title":"TaskBuilderBase.Using","content":"TaskBuilderBase.Using \nUsing \n Specifies a unit of task code which binds to the resource implementing IAsyncDisposable and disposes it asynchronously","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderbase.html#While","title":"TaskBuilderBase.While","content":"TaskBuilderBase.While \nWhile \n Specifies the iterative execution of a unit of task code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderbase.html#Zero","title":"TaskBuilderBase.Zero","content":"TaskBuilderBase.Zero \nZero \n Specifies a unit of task code which produces no result","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskcode-2.html","title":"TaskCode\u003C\u0027TOverall, \u0027T\u003E","content":"TaskCode\u003C\u0027TOverall, \u0027T\u003E \n A special compiler-recognised delegate type for specifying blocks of task code\n with access to the state machine.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskresumptionfunc-1.html","title":"TaskResumptionFunc\u003C\u0027TOverall\u003E","content":"TaskResumptionFunc\u003C\u0027TOverall\u003E \n Represents the runtime continuation of a task state machine created dynamically","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskstatemachine-1.html","title":"TaskStateMachine\u003C\u0027TOverall\u003E","content":"TaskStateMachine\u003C\u0027TOverall\u003E \n This is used by the compiler as a template for creating state machine structs","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskstatemachinedata-1.html","title":"TaskStateMachineData\u003C\u0027T\u003E","content":"TaskStateMachineData\u003C\u0027T\u003E \n The extra data stored in ResumableStateMachine for tasks \nTaskStateMachineData\u003C\u0027T\u003E.Result \nResult \nTaskStateMachineData\u003C\u0027T\u003E.MethodBuilder \nMethodBuilder","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskstatemachinedata-1.html#Result","title":"TaskStateMachineData\u003C\u0027T\u003E.Result","content":"TaskStateMachineData\u003C\u0027T\u003E.Result \nResult \n Holds the final result of the state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskstatemachinedata-1.html#MethodBuilder","title":"TaskStateMachineData\u003C\u0027T\u003E.MethodBuilder","content":"TaskStateMachineData\u003C\u0027T\u003E.MethodBuilder \nMethodBuilder \n Holds the MethodBuilder for the state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-highpriority.html","title":"HighPriority","content":"HighPriority \n Contains high-priority overloads for the \u0060task\u0060 computation expression builder. \nHighPriority.Bind \nBind \nHighPriority.ReturnFrom \nReturnFrom \nHighPriority.BindDynamic \nBindDynamic","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-highpriority.html#Bind","title":"HighPriority.Bind","content":"HighPriority.Bind \nBind \n Specifies a unit of task code which draws a result from a task then calls a continuation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-highpriority.html#ReturnFrom","title":"HighPriority.ReturnFrom","content":"HighPriority.ReturnFrom \nReturnFrom \n Specifies a unit of task code which draws a result from a task.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-highpriority.html#BindDynamic","title":"HighPriority.BindDynamic","content":"HighPriority.BindDynamic \nBindDynamic \n The entry point for the dynamic implementation of the corresponding operation. Do not use directly, only used when executing quotations that involve tasks or other reflective execution of F# code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-lowpriority.html","title":"LowPriority","content":"LowPriority \n Contains low-priority overloads for the \u0060task\u0060 computation expression builder. \nLowPriority.Bind \nBind \nLowPriority.ReturnFrom \nReturnFrom \nLowPriority.BindDynamic \nBindDynamic \nLowPriority.Using \nUsing","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-lowpriority.html#Bind","title":"LowPriority.Bind","content":"LowPriority.Bind \nBind \n Specifies a unit of task code which draws a result from a task-like value\n satisfying the GetAwaiter pattern and calls a continuation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-lowpriority.html#ReturnFrom","title":"LowPriority.ReturnFrom","content":"LowPriority.ReturnFrom \nReturnFrom \n Specifies a unit of task code which draws its result from a task-like value\n satisfying the GetAwaiter pattern.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-lowpriority.html#BindDynamic","title":"LowPriority.BindDynamic","content":"LowPriority.BindDynamic \nBindDynamic \n The entry point for the dynamic implementation of the corresponding operation. Do not use directly, only used when executing quotations that involve tasks or other reflective execution of F# code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-lowpriority.html#Using","title":"LowPriority.Using","content":"LowPriority.Using \nUsing \n Specifies a unit of task code which binds to the resource implementing IDisposable and disposes it synchronously","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-mediumpriority.html","title":"MediumPriority","content":"MediumPriority \n Contains medium-priority overloads for the \u0060task\u0060 computation expression builder. \nMediumPriority.Bind \nBind \nMediumPriority.ReturnFrom \nReturnFrom","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-mediumpriority.html#Bind","title":"MediumPriority.Bind","content":"MediumPriority.Bind \nBind \n Specifies a unit of task code which draws a result from an F# async value then calls a continuation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-control-taskbuilderextensions-mediumpriority.html#ReturnFrom","title":"MediumPriority.ReturnFrom","content":"MediumPriority.ReturnFrom \nReturnFrom \n Specifies a unit of task code which draws a result from an F# async value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-byrefkinds.html","title":"ByRefKinds","content":"ByRefKinds \nRepresents the types of byrefs in F# 4.5\u002B \nByRefKinds.In \nIn \nByRefKinds.InOut \nInOut \nByRefKinds.Out \nOut","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-byrefkinds-in.html","title":"In","content":"In \n Represents a byref that can be read","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-byrefkinds-inout.html","title":"InOut","content":"InOut \n Represents a byref that can be both read and written","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-byrefkinds-out.html","title":"Out","content":"Out \n Represents a byref that can be written","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html","title":"ExtraTopLevelOperators","content":"ExtraTopLevelOperators \nA set of extra operators and functions. This module is automatically opened in all F# code. \nExtraTopLevelOperators.Checked \nChecked \nExtraTopLevelOperators.printf \nprintf \nExtraTopLevelOperators.printfn \nprintfn \nExtraTopLevelOperators.eprintf \neprintf \nExtraTopLevelOperators.eprintfn \neprintfn \nExtraTopLevelOperators.sprintf \nsprintf \nExtraTopLevelOperators.failwithf \nfailwithf \nExtraTopLevelOperators.fprintf \nfprintf \nExtraTopLevelOperators.fprintfn \nfprintfn \nExtraTopLevelOperators.set \nset \nExtraTopLevelOperators.async \nasync \nExtraTopLevelOperators.single \nsingle \nExtraTopLevelOperators.double \ndouble \nExtraTopLevelOperators.uint8 \nuint8 \nExtraTopLevelOperators.int8 \nint8 \nExtraTopLevelOperators.dict \ndict \nExtraTopLevelOperators.readOnlyDict \nreadOnlyDict \nExtraTopLevelOperators.array2D \narray2D \nExtraTopLevelOperators.(~%) \n(~%) \nExtraTopLevelOperators.(~%%) \n(~%%) \nExtraTopLevelOperators.query \nquery \nExtraTopLevelOperators.(|Lazy|) \n(|Lazy|)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#printf","title":"ExtraTopLevelOperators.printf","content":"ExtraTopLevelOperators.printf \nprintf \nPrint to \u003Ccode\u003Estdout\u003C/code\u003E using the given format.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#printfn","title":"ExtraTopLevelOperators.printfn","content":"ExtraTopLevelOperators.printfn \nprintfn \nPrint to \u003Ccode\u003Estdout\u003C/code\u003E using the given format, and add a newline.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#eprintf","title":"ExtraTopLevelOperators.eprintf","content":"ExtraTopLevelOperators.eprintf \neprintf \nPrint to \u003Ccode\u003Estderr\u003C/code\u003E using the given format.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#eprintfn","title":"ExtraTopLevelOperators.eprintfn","content":"ExtraTopLevelOperators.eprintfn \neprintfn \nPrint to \u003Ccode\u003Estderr\u003C/code\u003E using the given format, and add a newline.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#sprintf","title":"ExtraTopLevelOperators.sprintf","content":"ExtraTopLevelOperators.sprintf \nsprintf \nPrint to a string using the given format.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#failwithf","title":"ExtraTopLevelOperators.failwithf","content":"ExtraTopLevelOperators.failwithf \nfailwithf \nPrint to a string buffer and raise an exception with the given\n result. Helper printers must return strings.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#fprintf","title":"ExtraTopLevelOperators.fprintf","content":"ExtraTopLevelOperators.fprintf \nfprintf \nPrint to a file using the given format.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#fprintfn","title":"ExtraTopLevelOperators.fprintfn","content":"ExtraTopLevelOperators.fprintfn \nfprintfn \nPrint to a file using the given format, and add a newline.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#set","title":"ExtraTopLevelOperators.set","content":"ExtraTopLevelOperators.set \nset \nBuilds a set from a sequence of objects. The objects are indexed using generic comparison.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#async","title":"ExtraTopLevelOperators.async","content":"ExtraTopLevelOperators.async \nasync \nBuilds an asynchronous workflow using computation expression syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#single","title":"ExtraTopLevelOperators.single","content":"ExtraTopLevelOperators.single \nsingle \nConverts the argument to 32-bit float. \nThis is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003ESingle.Parse()\u003C/code\u003E with InvariantCulture settings. Otherwise the operation requires and invokes a \u003Ccode\u003EToSingle\u003C/code\u003E method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#double","title":"ExtraTopLevelOperators.double","content":"ExtraTopLevelOperators.double \ndouble \nConverts the argument to 64-bit float. \nThis is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EDouble.Parse()\u003C/code\u003E with InvariantCulture settings. Otherwise the operation requires and invokes a \u003Ccode\u003EToDouble\u003C/code\u003E method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#uint8","title":"ExtraTopLevelOperators.uint8","content":"ExtraTopLevelOperators.uint8 \nuint8 \nConverts the argument to byte. \nThis is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EByte.Parse()\u003C/code\u003E on strings and otherwise requires a \u003Ccode\u003EToByte\u003C/code\u003E method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#int8","title":"ExtraTopLevelOperators.int8","content":"ExtraTopLevelOperators.int8 \nint8 \nConverts the argument to signed byte. \nThis is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003ESByte.Parse()\u003C/code\u003E with InvariantCulture settings.\n Otherwise the operation requires and invokes a \u003Ccode\u003EToSByte\u003C/code\u003E method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#dict","title":"ExtraTopLevelOperators.dict","content":"ExtraTopLevelOperators.dict \ndict \nBuilds a read-only lookup table from a sequence of key/value pairs. The key objects are indexed using generic hashing and equality.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#readOnlyDict","title":"ExtraTopLevelOperators.readOnlyDict","content":"ExtraTopLevelOperators.readOnlyDict \nreadOnlyDict \nBuilds a read-only lookup table from a sequence of key/value pairs. The key objects are indexed using generic hashing and equality.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#array2D","title":"ExtraTopLevelOperators.array2D","content":"ExtraTopLevelOperators.array2D \narray2D \nBuilds a 2D array from a sequence of sequences of elements.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#(~%)","title":"ExtraTopLevelOperators.(~%)","content":"ExtraTopLevelOperators.(~%) \n(~%) \nSpecial prefix operator for splicing typed expressions into quotation holes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#(~%%)","title":"ExtraTopLevelOperators.(~%%)","content":"ExtraTopLevelOperators.(~%%) \n(~%%) \nSpecial prefix operator for splicing untyped expressions into quotation holes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#query","title":"ExtraTopLevelOperators.query","content":"ExtraTopLevelOperators.query \nquery \nBuilds a query using query syntax and operators.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators.html#(|Lazy|)","title":"ExtraTopLevelOperators.(|Lazy|)","content":"ExtraTopLevelOperators.(|Lazy|) \n(|Lazy|) \nAn active pattern to force the execution of values of type \u003Ccode\u003ELazy\u0026lt;_\u0026gt;\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators-checked.html","title":"Checked","content":"Checked \n \nChecked.uint8 \nuint8 \nChecked.int8 \nint8","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators-checked.html#uint8","title":"Checked.uint8","content":"Checked.uint8 \nuint8 \nConverts the argument to byte. \nThis is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EByte.Parse()\u003C/code\u003E on strings and otherwise requires a \u003Ccode\u003EToByte\u003C/code\u003E method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-extratopleveloperators-checked.html#int8","title":"Checked.int8","content":"Checked.int8 \nint8 \nConverts the argument to signed byte. \nThis is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003ESByte.Parse()\u003C/code\u003E with InvariantCulture settings.\n Otherwise the operation requires and invokes a \u003Ccode\u003EToSByte\u003C/code\u003E method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html","title":"LanguagePrimitives","content":"LanguagePrimitives \nLanguage primitives associated with the F# language \nLanguagePrimitives.ErrorStrings \nErrorStrings \nLanguagePrimitives.HashCompare \nHashCompare \nLanguagePrimitives.IntrinsicFunctions \nIntrinsicFunctions \nLanguagePrimitives.IntrinsicOperators \nIntrinsicOperators \nLanguagePrimitives.GenericEquality \nGenericEquality \nLanguagePrimitives.GenericEqualityER \nGenericEqualityER \nLanguagePrimitives.GenericEqualityWithComparer \nGenericEqualityWithComparer \nLanguagePrimitives.GenericComparison \nGenericComparison \nLanguagePrimitives.GenericComparisonWithComparer \nGenericComparisonWithComparer \nLanguagePrimitives.GenericLessThan \nGenericLessThan \nLanguagePrimitives.GenericGreaterThan \nGenericGreaterThan \nLanguagePrimitives.GenericLessOrEqual \nGenericLessOrEqual \nLanguagePrimitives.GenericGreaterOrEqual \nGenericGreaterOrEqual \nLanguagePrimitives.GenericMinimum \nGenericMinimum \nLanguagePrimitives.GenericMaximum \nGenericMaximum \nLanguagePrimitives.PhysicalEquality \nPhysicalEquality \nLanguagePrimitives.PhysicalHash \nPhysicalHash \nLanguagePrimitives.GenericEqualityComparer \nGenericEqualityComparer \nLanguagePrimitives.GenericEqualityERComparer \nGenericEqualityERComparer \nLanguagePrimitives.GenericComparer \nGenericComparer \nLanguagePrimitives.FastGenericComparer \nFastGenericComparer \nLanguagePrimitives.FastGenericEqualityComparer \nFastGenericEqualityComparer \nLanguagePrimitives.FastLimitedGenericEqualityComparer \nFastLimitedGenericEqualityComparer \nLanguagePrimitives.FastGenericEqualityComparerFromTable \nFastGenericEqualityComparerFromTable \nLanguagePrimitives.FastGenericComparerFromTable \nFastGenericComparerFromTable \nLanguagePrimitives.GenericHash \nGenericHash \nLanguagePrimitives.GenericLimitedHash \nGenericLimitedHash \nLanguagePrimitives.GenericHashWithComparer \nGenericHashWithComparer \nLanguagePrimitives.EnumOfValue \nEnumOfValue \nLanguagePrimitives.EnumToValue \nEnumToValue \nLanguagePrimitives.FloatWithMeasure \nFloatWithMeasure \nLanguagePrimitives.Float32WithMeasure \nFloat32WithMeasure \nLanguagePrimitives.DecimalWithMeasure \nDecimalWithMeasure \nLanguagePrimitives.Int32WithMeasure \nInt32WithMeasure \nLanguagePrimitives.Int64WithMeasure \nInt64WithMeasure \nLanguagePrimitives.Int16WithMeasure \nInt16WithMeasure \nLanguagePrimitives.SByteWithMeasure \nSByteWithMeasure \nLanguagePrimitives.IntPtrWithMeasure \nIntPtrWithMeasure \nLanguagePrimitives.UInt32WithMeasure \nUInt32WithMeasure \nLanguagePrimitives.UInt64WithMeasure \nUInt64WithMeasure \nLanguagePrimitives.UInt16WithMeasure \nUInt16WithMeasure \nLanguagePrimitives.ByteWithMeasure \nByteWithMeasure \nLanguagePrimitives.UIntPtrWithMeasure \nUIntPtrWithMeasure \nLanguagePrimitives.ParseInt32 \nParseInt32 \nLanguagePrimitives.ParseUInt32 \nParseUInt32 \nLanguagePrimitives.ParseInt64 \nParseInt64 \nLanguagePrimitives.ParseUInt64 \nParseUInt64 \nLanguagePrimitives.GenericZeroDynamic \nGenericZeroDynamic \nLanguagePrimitives.GenericOneDynamic \nGenericOneDynamic \nLanguagePrimitives.AdditionDynamic \nAdditionDynamic \nLanguagePrimitives.CheckedAdditionDynamic \nCheckedAdditionDynamic \nLanguagePrimitives.MultiplyDynamic \nMultiplyDynamic \nLanguagePrimitives.CheckedMultiplyDynamic \nCheckedMultiplyDynamic \nLanguagePrimitives.SubtractionDynamic \nSubtractionDynamic \nLanguagePrimitives.DivisionDynamic \nDivisionDynamic \nLanguagePrimitives.UnaryNegationDynamic \nUnaryNegationDynamic \nLanguagePrimitives.ModulusDynamic \nModulusDynamic \nLanguagePrimitives.CheckedSubtractionDynamic \nCheckedSubtractionDynamic \nLanguagePrimitives.CheckedUnaryNegationDynamic \nCheckedUnaryNegationDynamic \nLanguagePrimitives.LeftShiftDynamic \nLeftShiftDynamic \nLanguagePrimitives.RightShiftDynamic \nRightShiftDynamic \nLanguagePrimitives.BitwiseAndDynamic \nBitwiseAndDynamic \nLanguagePrimitives.BitwiseOrDynamic \nBitwiseOrDynamic \nLanguagePrimitives.ExclusiveOrDynamic \nExclusiveOrDynamic \nLanguagePrimitives.LogicalNotDynamic \nLogicalNotDynamic \nLanguagePrimitives.ExplicitDynamic \nExplicitDynamic \nLanguagePrimitives.CheckedExplicitDynamic \nCheckedExplicitDynamic \nLanguagePrimitives.LessThanDynamic \nLessThanDynamic \nLanguagePrimitives.GreaterThanDynamic \nGreaterThanDynamic \nLanguagePrimitives.LessThanOrEqualDynamic \nLessThanOrEqualDynamic \nLanguagePrimitives.GreaterThanOrEqualDynamic \nGreaterThanOrEqualDynamic \nLanguagePrimitives.EqualityDynamic \nEqualityDynamic \nLanguagePrimitives.InequalityDynamic \nInequalityDynamic \nLanguagePrimitives.DivideByIntDynamic \nDivideByIntDynamic \nLanguagePrimitives.GenericZero \nGenericZero \nLanguagePrimitives.GenericOne \nGenericOne \nLanguagePrimitives.DivideByInt \nDivideByInt","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericEquality","title":"LanguagePrimitives.GenericEquality","content":"LanguagePrimitives.GenericEquality \nGenericEquality \nCompare two values for equality using partial equivalence relation semantics ([nan] \u003C\u003E [nan])","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericEqualityER","title":"LanguagePrimitives.GenericEqualityER","content":"LanguagePrimitives.GenericEqualityER \nGenericEqualityER \nCompare two values for equality using equivalence relation semantics ([nan] = [nan])","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericEqualityWithComparer","title":"LanguagePrimitives.GenericEqualityWithComparer","content":"LanguagePrimitives.GenericEqualityWithComparer \nGenericEqualityWithComparer \nCompare two values for equality","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericComparison","title":"LanguagePrimitives.GenericComparison","content":"LanguagePrimitives.GenericComparison \nGenericComparison \nCompare two values ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericComparisonWithComparer","title":"LanguagePrimitives.GenericComparisonWithComparer","content":"LanguagePrimitives.GenericComparisonWithComparer \nGenericComparisonWithComparer \nCompare two values. May be called as a recursive case from an implementation of System.IComparable to\n ensure consistent NaN comparison semantics.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericLessThan","title":"LanguagePrimitives.GenericLessThan","content":"LanguagePrimitives.GenericLessThan \nGenericLessThan \nCompare two values ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericGreaterThan","title":"LanguagePrimitives.GenericGreaterThan","content":"LanguagePrimitives.GenericGreaterThan \nGenericGreaterThan \nCompare two values ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericLessOrEqual","title":"LanguagePrimitives.GenericLessOrEqual","content":"LanguagePrimitives.GenericLessOrEqual \nGenericLessOrEqual \nCompare two values ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericGreaterOrEqual","title":"LanguagePrimitives.GenericGreaterOrEqual","content":"LanguagePrimitives.GenericGreaterOrEqual \nGenericGreaterOrEqual \nCompare two values ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericMinimum","title":"LanguagePrimitives.GenericMinimum","content":"LanguagePrimitives.GenericMinimum \nGenericMinimum \nTake the minimum of two values structurally according to the order given by GenericComparison","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericMaximum","title":"LanguagePrimitives.GenericMaximum","content":"LanguagePrimitives.GenericMaximum \nGenericMaximum \nTake the maximum of two values structurally according to the order given by GenericComparison","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#PhysicalEquality","title":"LanguagePrimitives.PhysicalEquality","content":"LanguagePrimitives.PhysicalEquality \nPhysicalEquality \nReference/physical equality. \n True if the inputs are reference-equal, false otherwise.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#PhysicalHash","title":"LanguagePrimitives.PhysicalHash","content":"LanguagePrimitives.PhysicalHash \nPhysicalHash \nThe physical hash. Hashes on the object identity.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericEqualityComparer","title":"LanguagePrimitives.GenericEqualityComparer","content":"LanguagePrimitives.GenericEqualityComparer \nGenericEqualityComparer \n\u003Cpre\u003EReturn an F# comparer object suitable for hashing and equality. This hashing behaviour\n of the returned comparer is not limited by an overall node count when hashing F#\n records, lists and union types.\u003C/pre\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericEqualityERComparer","title":"LanguagePrimitives.GenericEqualityERComparer","content":"LanguagePrimitives.GenericEqualityERComparer \nGenericEqualityERComparer \n\u003Cpre\u003EReturn an F# comparer object suitable for hashing and equality. This hashing behaviour\n of the returned comparer is not limited by an overall node count when hashing F#\n records, lists and union types. This equality comparer has equivalence \n relation semantics ([nan] = [nan]).\u003C/pre\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericComparer","title":"LanguagePrimitives.GenericComparer","content":"LanguagePrimitives.GenericComparer \nGenericComparer \nA static F# comparer object","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#FastGenericComparer","title":"LanguagePrimitives.FastGenericComparer","content":"LanguagePrimitives.FastGenericComparer \nFastGenericComparer \nMake an F# comparer object for the given type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#FastGenericEqualityComparer","title":"LanguagePrimitives.FastGenericEqualityComparer","content":"LanguagePrimitives.FastGenericEqualityComparer \nFastGenericEqualityComparer \nMake an F# hash/equality object for the given type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#FastLimitedGenericEqualityComparer","title":"LanguagePrimitives.FastLimitedGenericEqualityComparer","content":"LanguagePrimitives.FastLimitedGenericEqualityComparer \nFastLimitedGenericEqualityComparer \nMake an F# hash/equality object for the given type using node-limited hashing when hashing F#\n records, lists and union types.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#FastGenericEqualityComparerFromTable","title":"LanguagePrimitives.FastGenericEqualityComparerFromTable","content":"LanguagePrimitives.FastGenericEqualityComparerFromTable \nFastGenericEqualityComparerFromTable \nMake an F# hash/equality object for the given type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#FastGenericComparerFromTable","title":"LanguagePrimitives.FastGenericComparerFromTable","content":"LanguagePrimitives.FastGenericComparerFromTable \nFastGenericComparerFromTable \nMake an F# comparer object for the given type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericHash","title":"LanguagePrimitives.GenericHash","content":"LanguagePrimitives.GenericHash \nGenericHash \nHash a value according to its structure. This hash is not limited by an overall node count when hashing F#\n records, lists and union types.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericLimitedHash","title":"LanguagePrimitives.GenericLimitedHash","content":"LanguagePrimitives.GenericLimitedHash \nGenericLimitedHash \nHash a value according to its structure. Use the given limit to restrict the hash when hashing F#\n records, lists and union types.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericHashWithComparer","title":"LanguagePrimitives.GenericHashWithComparer","content":"LanguagePrimitives.GenericHashWithComparer \nGenericHashWithComparer \nRecursively hash a part of a value according to its structure. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#EnumOfValue","title":"LanguagePrimitives.EnumOfValue","content":"LanguagePrimitives.EnumOfValue \nEnumOfValue \nBuild an enum value from an underlying value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#EnumToValue","title":"LanguagePrimitives.EnumToValue","content":"LanguagePrimitives.EnumToValue \nEnumToValue \nGet the underlying value for an enum value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#FloatWithMeasure","title":"LanguagePrimitives.FloatWithMeasure","content":"LanguagePrimitives.FloatWithMeasure \nFloatWithMeasure \nCreates a float value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#Float32WithMeasure","title":"LanguagePrimitives.Float32WithMeasure","content":"LanguagePrimitives.Float32WithMeasure \nFloat32WithMeasure \nCreates a float32 value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#DecimalWithMeasure","title":"LanguagePrimitives.DecimalWithMeasure","content":"LanguagePrimitives.DecimalWithMeasure \nDecimalWithMeasure \nCreates a decimal value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#Int32WithMeasure","title":"LanguagePrimitives.Int32WithMeasure","content":"LanguagePrimitives.Int32WithMeasure \nInt32WithMeasure \nCreates an int32 value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#Int64WithMeasure","title":"LanguagePrimitives.Int64WithMeasure","content":"LanguagePrimitives.Int64WithMeasure \nInt64WithMeasure \nCreates an int64 value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#Int16WithMeasure","title":"LanguagePrimitives.Int16WithMeasure","content":"LanguagePrimitives.Int16WithMeasure \nInt16WithMeasure \nCreates an int16 value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#SByteWithMeasure","title":"LanguagePrimitives.SByteWithMeasure","content":"LanguagePrimitives.SByteWithMeasure \nSByteWithMeasure \nCreates an sbyte value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#IntPtrWithMeasure","title":"LanguagePrimitives.IntPtrWithMeasure","content":"LanguagePrimitives.IntPtrWithMeasure \nIntPtrWithMeasure \nCreates a nativeint value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#UInt32WithMeasure","title":"LanguagePrimitives.UInt32WithMeasure","content":"LanguagePrimitives.UInt32WithMeasure \nUInt32WithMeasure \nCreates a uint value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#UInt64WithMeasure","title":"LanguagePrimitives.UInt64WithMeasure","content":"LanguagePrimitives.UInt64WithMeasure \nUInt64WithMeasure \nCreates a uint64 value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#UInt16WithMeasure","title":"LanguagePrimitives.UInt16WithMeasure","content":"LanguagePrimitives.UInt16WithMeasure \nUInt16WithMeasure \nCreates a uint16 value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#ByteWithMeasure","title":"LanguagePrimitives.ByteWithMeasure","content":"LanguagePrimitives.ByteWithMeasure \nByteWithMeasure \nCreates a byte value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#UIntPtrWithMeasure","title":"LanguagePrimitives.UIntPtrWithMeasure","content":"LanguagePrimitives.UIntPtrWithMeasure \nUIntPtrWithMeasure \nCreates a unativeint value with units-of-measure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#ParseInt32","title":"LanguagePrimitives.ParseInt32","content":"LanguagePrimitives.ParseInt32 \nParseInt32 \nParse an int32 according to the rules used by the overloaded \u0027int32\u0027 conversion operator when applied to strings","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#ParseUInt32","title":"LanguagePrimitives.ParseUInt32","content":"LanguagePrimitives.ParseUInt32 \nParseUInt32 \nParse an uint32 according to the rules used by the overloaded \u0027uint32\u0027 conversion operator when applied to strings","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#ParseInt64","title":"LanguagePrimitives.ParseInt64","content":"LanguagePrimitives.ParseInt64 \nParseInt64 \nParse an int64 according to the rules used by the overloaded \u0027int64\u0027 conversion operator when applied to strings","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#ParseUInt64","title":"LanguagePrimitives.ParseUInt64","content":"LanguagePrimitives.ParseUInt64 \nParseUInt64 \nParse an uint64 according to the rules used by the overloaded \u0027uint64\u0027 conversion operator when applied to strings","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericZeroDynamic","title":"LanguagePrimitives.GenericZeroDynamic","content":"LanguagePrimitives.GenericZeroDynamic \nGenericZeroDynamic \nResolves to the zero value for any primitive numeric type or any type with a static member called \u0027Zero\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericOneDynamic","title":"LanguagePrimitives.GenericOneDynamic","content":"LanguagePrimitives.GenericOneDynamic \nGenericOneDynamic \nResolves to the value \u0027one\u0027 for any primitive numeric type or any type with a static member called \u0027One\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#AdditionDynamic","title":"LanguagePrimitives.AdditionDynamic","content":"LanguagePrimitives.AdditionDynamic \nAdditionDynamic \nA compiler intrinsic that implements dynamic invocations to the \u0027\u002B\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#CheckedAdditionDynamic","title":"LanguagePrimitives.CheckedAdditionDynamic","content":"LanguagePrimitives.CheckedAdditionDynamic \nCheckedAdditionDynamic \nA compiler intrinsic that implements dynamic invocations to the checked \u0027\u002B\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#MultiplyDynamic","title":"LanguagePrimitives.MultiplyDynamic","content":"LanguagePrimitives.MultiplyDynamic \nMultiplyDynamic \nA compiler intrinsic that implements dynamic invocations to the \u0027*\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#CheckedMultiplyDynamic","title":"LanguagePrimitives.CheckedMultiplyDynamic","content":"LanguagePrimitives.CheckedMultiplyDynamic \nCheckedMultiplyDynamic \nA compiler intrinsic that implements dynamic invocations to the checked \u0027*\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#SubtractionDynamic","title":"LanguagePrimitives.SubtractionDynamic","content":"LanguagePrimitives.SubtractionDynamic \nSubtractionDynamic \nA compiler intrinsic that implements dynamic invocations to the \u0027-\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#DivisionDynamic","title":"LanguagePrimitives.DivisionDynamic","content":"LanguagePrimitives.DivisionDynamic \nDivisionDynamic \nA compiler intrinsic that implements dynamic invocations to the \u0027/\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#UnaryNegationDynamic","title":"LanguagePrimitives.UnaryNegationDynamic","content":"LanguagePrimitives.UnaryNegationDynamic \nUnaryNegationDynamic \nA compiler intrinsic that implements dynamic invocations to the unary \u0027-\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#ModulusDynamic","title":"LanguagePrimitives.ModulusDynamic","content":"LanguagePrimitives.ModulusDynamic \nModulusDynamic \nA compiler intrinsic that implements dynamic invocations to the \u0027%\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#CheckedSubtractionDynamic","title":"LanguagePrimitives.CheckedSubtractionDynamic","content":"LanguagePrimitives.CheckedSubtractionDynamic \nCheckedSubtractionDynamic \nA compiler intrinsic that implements dynamic invocations to the checked \u0027-\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#CheckedUnaryNegationDynamic","title":"LanguagePrimitives.CheckedUnaryNegationDynamic","content":"LanguagePrimitives.CheckedUnaryNegationDynamic \nCheckedUnaryNegationDynamic \nA compiler intrinsic that implements dynamic invocations to the checked unary \u0027-\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#LeftShiftDynamic","title":"LanguagePrimitives.LeftShiftDynamic","content":"LanguagePrimitives.LeftShiftDynamic \nLeftShiftDynamic \nA compiler intrinsic that implements dynamic invocations to the \u0027\u003C\u003C\u003C\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#RightShiftDynamic","title":"LanguagePrimitives.RightShiftDynamic","content":"LanguagePrimitives.RightShiftDynamic \nRightShiftDynamic \nA compiler intrinsic that implements dynamic invocations to the \u0027\u003E\u003E\u003E\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#BitwiseAndDynamic","title":"LanguagePrimitives.BitwiseAndDynamic","content":"LanguagePrimitives.BitwiseAndDynamic \nBitwiseAndDynamic \nA compiler intrinsic that implements dynamic invocations to the \u0027\u0026\u0026\u0026\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#BitwiseOrDynamic","title":"LanguagePrimitives.BitwiseOrDynamic","content":"LanguagePrimitives.BitwiseOrDynamic \nBitwiseOrDynamic \nA compiler intrinsic that implements dynamic invocations to the \u0027|||\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#ExclusiveOrDynamic","title":"LanguagePrimitives.ExclusiveOrDynamic","content":"LanguagePrimitives.ExclusiveOrDynamic \nExclusiveOrDynamic \nA compiler intrinsic that implements dynamic invocations related to the \u0027^^^\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#LogicalNotDynamic","title":"LanguagePrimitives.LogicalNotDynamic","content":"LanguagePrimitives.LogicalNotDynamic \nLogicalNotDynamic \nA compiler intrinsic that implements dynamic invocations related to the \u0027~~~\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#ExplicitDynamic","title":"LanguagePrimitives.ExplicitDynamic","content":"LanguagePrimitives.ExplicitDynamic \nExplicitDynamic \nA compiler intrinsic that implements dynamic invocations related to conversion operators.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#CheckedExplicitDynamic","title":"LanguagePrimitives.CheckedExplicitDynamic","content":"LanguagePrimitives.CheckedExplicitDynamic \nCheckedExplicitDynamic \nA compiler intrinsic that implements dynamic invocations related to checked conversion operators.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#LessThanDynamic","title":"LanguagePrimitives.LessThanDynamic","content":"LanguagePrimitives.LessThanDynamic \nLessThanDynamic \nA compiler intrinsic that implements dynamic invocations related to the \u0027\u003C\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GreaterThanDynamic","title":"LanguagePrimitives.GreaterThanDynamic","content":"LanguagePrimitives.GreaterThanDynamic \nGreaterThanDynamic \nA compiler intrinsic that implements dynamic invocations related to the \u0027\u003E\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#LessThanOrEqualDynamic","title":"LanguagePrimitives.LessThanOrEqualDynamic","content":"LanguagePrimitives.LessThanOrEqualDynamic \nLessThanOrEqualDynamic \nA compiler intrinsic that implements dynamic invocations related to the \u0027\u003C=\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GreaterThanOrEqualDynamic","title":"LanguagePrimitives.GreaterThanOrEqualDynamic","content":"LanguagePrimitives.GreaterThanOrEqualDynamic \nGreaterThanOrEqualDynamic \nA compiler intrinsic that implements dynamic invocations related to the \u0027\u003E=\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#EqualityDynamic","title":"LanguagePrimitives.EqualityDynamic","content":"LanguagePrimitives.EqualityDynamic \nEqualityDynamic \nA compiler intrinsic that implements dynamic invocations related to the \u0027=\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#InequalityDynamic","title":"LanguagePrimitives.InequalityDynamic","content":"LanguagePrimitives.InequalityDynamic \nInequalityDynamic \nA compiler intrinsic that implements dynamic invocations related to the \u0027=\u0027 operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#DivideByIntDynamic","title":"LanguagePrimitives.DivideByIntDynamic","content":"LanguagePrimitives.DivideByIntDynamic \nDivideByIntDynamic \nA compiler intrinsic that implements dynamic invocations for the DivideByInt primitive.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericZero","title":"LanguagePrimitives.GenericZero","content":"LanguagePrimitives.GenericZero \nGenericZero \nResolves to the zero value for any primitive numeric type or any type with a static member called \u0027Zero\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#GenericOne","title":"LanguagePrimitives.GenericOne","content":"LanguagePrimitives.GenericOne \nGenericOne \nResolves to the value \u0027one\u0027 for any primitive numeric type or any type with a static member called \u0027One\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives.html#DivideByInt","title":"LanguagePrimitives.DivideByInt","content":"LanguagePrimitives.DivideByInt \nDivideByInt \nDivides a value by an integer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-errorstrings.html","title":"ErrorStrings","content":"ErrorStrings \nFor compiler use only \nErrorStrings.InputSequenceEmptyString \nInputSequenceEmptyString \nErrorStrings.InputArrayEmptyString \nInputArrayEmptyString \nErrorStrings.AddressOpNotFirstClassString \nAddressOpNotFirstClassString \nErrorStrings.NoNegateMinValueString \nNoNegateMinValueString \nErrorStrings.InputMustBeNonNegativeString \nInputMustBeNonNegativeString","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-errorstrings.html#InputSequenceEmptyString","title":"ErrorStrings.InputSequenceEmptyString","content":"ErrorStrings.InputSequenceEmptyString \nInputSequenceEmptyString \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-errorstrings.html#InputArrayEmptyString","title":"ErrorStrings.InputArrayEmptyString","content":"ErrorStrings.InputArrayEmptyString \nInputArrayEmptyString \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-errorstrings.html#AddressOpNotFirstClassString","title":"ErrorStrings.AddressOpNotFirstClassString","content":"ErrorStrings.AddressOpNotFirstClassString \nAddressOpNotFirstClassString \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-errorstrings.html#NoNegateMinValueString","title":"ErrorStrings.NoNegateMinValueString","content":"ErrorStrings.NoNegateMinValueString \nNoNegateMinValueString \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-errorstrings.html#InputMustBeNonNegativeString","title":"ErrorStrings.InputMustBeNonNegativeString","content":"ErrorStrings.InputMustBeNonNegativeString \nInputMustBeNonNegativeString \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html","title":"HashCompare","content":"HashCompare \nThe F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs \nHashCompare.PhysicalHashIntrinsic \nPhysicalHashIntrinsic \nHashCompare.PhysicalEqualityIntrinsic \nPhysicalEqualityIntrinsic \nHashCompare.GenericHashIntrinsic \nGenericHashIntrinsic \nHashCompare.LimitedGenericHashIntrinsic \nLimitedGenericHashIntrinsic \nHashCompare.GenericHashWithComparerIntrinsic \nGenericHashWithComparerIntrinsic \nHashCompare.GenericComparisonWithComparerIntrinsic \nGenericComparisonWithComparerIntrinsic \nHashCompare.GenericComparisonIntrinsic \nGenericComparisonIntrinsic \nHashCompare.GenericEqualityIntrinsic \nGenericEqualityIntrinsic \nHashCompare.GenericEqualityERIntrinsic \nGenericEqualityERIntrinsic \nHashCompare.GenericEqualityWithComparerIntrinsic \nGenericEqualityWithComparerIntrinsic \nHashCompare.GenericLessThanIntrinsic \nGenericLessThanIntrinsic \nHashCompare.GenericGreaterThanIntrinsic \nGenericGreaterThanIntrinsic \nHashCompare.GenericGreaterOrEqualIntrinsic \nGenericGreaterOrEqualIntrinsic \nHashCompare.GenericLessOrEqualIntrinsic \nGenericLessOrEqualIntrinsic \nHashCompare.FastHashTuple2 \nFastHashTuple2 \nHashCompare.FastHashTuple3 \nFastHashTuple3 \nHashCompare.FastHashTuple4 \nFastHashTuple4 \nHashCompare.FastHashTuple5 \nFastHashTuple5 \nHashCompare.FastEqualsTuple2 \nFastEqualsTuple2 \nHashCompare.FastEqualsTuple3 \nFastEqualsTuple3 \nHashCompare.FastEqualsTuple4 \nFastEqualsTuple4 \nHashCompare.FastEqualsTuple5 \nFastEqualsTuple5 \nHashCompare.FastCompareTuple2 \nFastCompareTuple2 \nHashCompare.FastCompareTuple3 \nFastCompareTuple3 \nHashCompare.FastCompareTuple4 \nFastCompareTuple4 \nHashCompare.FastCompareTuple5 \nFastCompareTuple5","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#PhysicalHashIntrinsic","title":"HashCompare.PhysicalHashIntrinsic","content":"HashCompare.PhysicalHashIntrinsic \nPhysicalHashIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#PhysicalEqualityIntrinsic","title":"HashCompare.PhysicalEqualityIntrinsic","content":"HashCompare.PhysicalEqualityIntrinsic \nPhysicalEqualityIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericHashIntrinsic","title":"HashCompare.GenericHashIntrinsic","content":"HashCompare.GenericHashIntrinsic \nGenericHashIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#LimitedGenericHashIntrinsic","title":"HashCompare.LimitedGenericHashIntrinsic","content":"HashCompare.LimitedGenericHashIntrinsic \nLimitedGenericHashIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericHashWithComparerIntrinsic","title":"HashCompare.GenericHashWithComparerIntrinsic","content":"HashCompare.GenericHashWithComparerIntrinsic \nGenericHashWithComparerIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericComparisonWithComparerIntrinsic","title":"HashCompare.GenericComparisonWithComparerIntrinsic","content":"HashCompare.GenericComparisonWithComparerIntrinsic \nGenericComparisonWithComparerIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericComparisonIntrinsic","title":"HashCompare.GenericComparisonIntrinsic","content":"HashCompare.GenericComparisonIntrinsic \nGenericComparisonIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericEqualityIntrinsic","title":"HashCompare.GenericEqualityIntrinsic","content":"HashCompare.GenericEqualityIntrinsic \nGenericEqualityIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericEqualityERIntrinsic","title":"HashCompare.GenericEqualityERIntrinsic","content":"HashCompare.GenericEqualityERIntrinsic \nGenericEqualityERIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericEqualityWithComparerIntrinsic","title":"HashCompare.GenericEqualityWithComparerIntrinsic","content":"HashCompare.GenericEqualityWithComparerIntrinsic \nGenericEqualityWithComparerIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericLessThanIntrinsic","title":"HashCompare.GenericLessThanIntrinsic","content":"HashCompare.GenericLessThanIntrinsic \nGenericLessThanIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericGreaterThanIntrinsic","title":"HashCompare.GenericGreaterThanIntrinsic","content":"HashCompare.GenericGreaterThanIntrinsic \nGenericGreaterThanIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericGreaterOrEqualIntrinsic","title":"HashCompare.GenericGreaterOrEqualIntrinsic","content":"HashCompare.GenericGreaterOrEqualIntrinsic \nGenericGreaterOrEqualIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#GenericLessOrEqualIntrinsic","title":"HashCompare.GenericLessOrEqualIntrinsic","content":"HashCompare.GenericLessOrEqualIntrinsic \nGenericLessOrEqualIntrinsic \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastHashTuple2","title":"HashCompare.FastHashTuple2","content":"HashCompare.FastHashTuple2 \nFastHashTuple2 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastHashTuple3","title":"HashCompare.FastHashTuple3","content":"HashCompare.FastHashTuple3 \nFastHashTuple3 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastHashTuple4","title":"HashCompare.FastHashTuple4","content":"HashCompare.FastHashTuple4 \nFastHashTuple4 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastHashTuple5","title":"HashCompare.FastHashTuple5","content":"HashCompare.FastHashTuple5 \nFastHashTuple5 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastEqualsTuple2","title":"HashCompare.FastEqualsTuple2","content":"HashCompare.FastEqualsTuple2 \nFastEqualsTuple2 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastEqualsTuple3","title":"HashCompare.FastEqualsTuple3","content":"HashCompare.FastEqualsTuple3 \nFastEqualsTuple3 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastEqualsTuple4","title":"HashCompare.FastEqualsTuple4","content":"HashCompare.FastEqualsTuple4 \nFastEqualsTuple4 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastEqualsTuple5","title":"HashCompare.FastEqualsTuple5","content":"HashCompare.FastEqualsTuple5 \nFastEqualsTuple5 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastCompareTuple2","title":"HashCompare.FastCompareTuple2","content":"HashCompare.FastCompareTuple2 \nFastCompareTuple2 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastCompareTuple3","title":"HashCompare.FastCompareTuple3","content":"HashCompare.FastCompareTuple3 \nFastCompareTuple3 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastCompareTuple4","title":"HashCompare.FastCompareTuple4","content":"HashCompare.FastCompareTuple4 \nFastCompareTuple4 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-hashcompare.html#FastCompareTuple5","title":"HashCompare.FastCompareTuple5","content":"HashCompare.FastCompareTuple5 \nFastCompareTuple5 \nA primitive entry point used by the F# compiler for optimization purposes.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html","title":"IntrinsicFunctions","content":"IntrinsicFunctions \nThe F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs \nIntrinsicFunctions.UnboxGeneric \nUnboxGeneric \nIntrinsicFunctions.UnboxFast \nUnboxFast \nIntrinsicFunctions.TypeTestGeneric \nTypeTestGeneric \nIntrinsicFunctions.TypeTestFast \nTypeTestFast \nIntrinsicFunctions.GetString \nGetString \nIntrinsicFunctions.CreateInstance \nCreateInstance \nIntrinsicFunctions.MakeDecimal \nMakeDecimal \nIntrinsicFunctions.Dispose \nDispose \nIntrinsicFunctions.FailInit \nFailInit \nIntrinsicFunctions.FailStaticInit \nFailStaticInit \nIntrinsicFunctions.CheckThis \nCheckThis \nIntrinsicFunctions.GetArray \nGetArray \nIntrinsicFunctions.GetArray2D \nGetArray2D \nIntrinsicFunctions.GetArray3D \nGetArray3D \nIntrinsicFunctions.GetArray4D \nGetArray4D \nIntrinsicFunctions.SetArray \nSetArray \nIntrinsicFunctions.SetArray2D \nSetArray2D \nIntrinsicFunctions.SetArray3D \nSetArray3D \nIntrinsicFunctions.SetArray4D \nSetArray4D","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#UnboxGeneric","title":"IntrinsicFunctions.UnboxGeneric","content":"IntrinsicFunctions.UnboxGeneric \nUnboxGeneric \nA compiler intrinsic that implements the \u0027:?\u003E\u0027 operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#UnboxFast","title":"IntrinsicFunctions.UnboxFast","content":"IntrinsicFunctions.UnboxFast \nUnboxFast \nA compiler intrinsic that implements the \u0027:?\u003E\u0027 operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#TypeTestGeneric","title":"IntrinsicFunctions.TypeTestGeneric","content":"IntrinsicFunctions.TypeTestGeneric \nTypeTestGeneric \nA compiler intrinsic that implements the \u0027:?\u0027 operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#TypeTestFast","title":"IntrinsicFunctions.TypeTestFast","content":"IntrinsicFunctions.TypeTestFast \nTypeTestFast \nA compiler intrinsic that implements the \u0027:?\u0027 operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#GetString","title":"IntrinsicFunctions.GetString","content":"IntrinsicFunctions.GetString \nGetString \nPrimitive used by pattern match compilation","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#CreateInstance","title":"IntrinsicFunctions.CreateInstance","content":"IntrinsicFunctions.CreateInstance \nCreateInstance \n\u003Cpre\u003EThis function implements calls to default constructors\n accessed by \u0027new\u0027 constraints.\u003C/pre\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#MakeDecimal","title":"IntrinsicFunctions.MakeDecimal","content":"IntrinsicFunctions.MakeDecimal \nMakeDecimal \nThis function implements parsing of decimal constants","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#Dispose","title":"IntrinsicFunctions.Dispose","content":"IntrinsicFunctions.Dispose \nDispose \nA compiler intrinsic for the efficient compilation of sequence expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#FailInit","title":"IntrinsicFunctions.FailInit","content":"IntrinsicFunctions.FailInit \nFailInit \nA compiler intrinsic for checking initialization soundness of recursive bindings","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#FailStaticInit","title":"IntrinsicFunctions.FailStaticInit","content":"IntrinsicFunctions.FailStaticInit \nFailStaticInit \nA compiler intrinsic for checking initialization soundness of recursive static bindings","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#CheckThis","title":"IntrinsicFunctions.CheckThis","content":"IntrinsicFunctions.CheckThis \nCheckThis \nA compiler intrinsic for checking initialization soundness of recursive bindings","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#GetArray","title":"IntrinsicFunctions.GetArray","content":"IntrinsicFunctions.GetArray \nGetArray \nThe standard overloaded associative (indexed) lookup operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#GetArray2D","title":"IntrinsicFunctions.GetArray2D","content":"IntrinsicFunctions.GetArray2D \nGetArray2D \nThe standard overloaded associative (2-indexed) lookup operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#GetArray3D","title":"IntrinsicFunctions.GetArray3D","content":"IntrinsicFunctions.GetArray3D \nGetArray3D \nThe standard overloaded associative (3-indexed) lookup operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#GetArray4D","title":"IntrinsicFunctions.GetArray4D","content":"IntrinsicFunctions.GetArray4D \nGetArray4D \nThe standard overloaded associative (4-indexed) lookup operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#SetArray","title":"IntrinsicFunctions.SetArray","content":"IntrinsicFunctions.SetArray \nSetArray \nThe standard overloaded associative (indexed) mutation operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#SetArray2D","title":"IntrinsicFunctions.SetArray2D","content":"IntrinsicFunctions.SetArray2D \nSetArray2D \nThe standard overloaded associative (2-indexed) mutation operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#SetArray3D","title":"IntrinsicFunctions.SetArray3D","content":"IntrinsicFunctions.SetArray3D \nSetArray3D \nThe standard overloaded associative (3-indexed) mutation operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicfunctions.html#SetArray4D","title":"IntrinsicFunctions.SetArray4D","content":"IntrinsicFunctions.SetArray4D \nSetArray4D \n The standard overloaded associative (4-indexed) mutation operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicoperators.html","title":"IntrinsicOperators","content":"IntrinsicOperators \nThe F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs \nIntrinsicOperators.(\u0026) \n(\u0026) \nIntrinsicOperators.(\u0026\u0026) \n(\u0026\u0026) \nIntrinsicOperators.\u0060\u0060or\u0060\u0060 \n\u0060\u0060or\u0060\u0060 \nIntrinsicOperators.(||) \n(||) \nIntrinsicOperators.(~\u0026) \n(~\u0026) \nIntrinsicOperators.(~\u0026\u0026) \n(~\u0026\u0026)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicoperators.html#(\u0026)","title":"IntrinsicOperators.(\u0026)","content":"IntrinsicOperators.(\u0026) \n(\u0026) \nBinary \u0027and\u0027. When used as a binary operator the right hand value is evaluated only on demand.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicoperators.html#(\u0026\u0026)","title":"IntrinsicOperators.(\u0026\u0026)","content":"IntrinsicOperators.(\u0026\u0026) \n(\u0026\u0026) \nBinary \u0027and\u0027. When used as a binary operator the right hand value is evaluated only on demand","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicoperators.html#\u0060\u0060or\u0060\u0060","title":"IntrinsicOperators.\u0060\u0060or\u0060\u0060","content":"IntrinsicOperators.\u0060\u0060or\u0060\u0060 \n\u0060\u0060or\u0060\u0060 \nBinary \u0027or\u0027. When used as a binary operator the right hand value is evaluated only on demand.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicoperators.html#(||)","title":"IntrinsicOperators.(||)","content":"IntrinsicOperators.(||) \n(||) \nBinary \u0027or\u0027. When used as a binary operator the right hand value is evaluated only on demand","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicoperators.html#(~\u0026)","title":"IntrinsicOperators.(~\u0026)","content":"IntrinsicOperators.(~\u0026) \n(~\u0026) \nAddress-of. Uses of this value may result in the generation of unverifiable code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-languageprimitives-intrinsicoperators.html#(~\u0026\u0026)","title":"IntrinsicOperators.(~\u0026\u0026)","content":"IntrinsicOperators.(~\u0026\u0026) \n(~\u0026\u0026) \nAddress-of. Uses of this value may result in the generation of unverifiable code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-numericliterals.html","title":"NumericLiterals","content":"NumericLiterals \nProvides a default implementations of F# numeric literal syntax for literals of the form \u0027dddI\u0027 \nNumericLiterals.NumericLiteralI \nNumericLiteralI","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-numericliterals-numericliterali.html","title":"NumericLiteralI","content":"NumericLiteralI \n Provides a default implementations of F# numeric literal syntax for literals of the form \u0027dddI\u0027 \nNumericLiteralI.FromZero \nFromZero \nNumericLiteralI.FromOne \nFromOne \nNumericLiteralI.FromInt32 \nFromInt32 \nNumericLiteralI.FromInt64 \nFromInt64 \nNumericLiteralI.FromString \nFromString \nNumericLiteralI.FromInt64Dynamic \nFromInt64Dynamic \nNumericLiteralI.FromStringDynamic \nFromStringDynamic","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-numericliterals-numericliterali.html#FromZero","title":"NumericLiteralI.FromZero","content":"NumericLiteralI.FromZero \nFromZero \n Provides a default implementations of F# numeric literal syntax for literals of the form \u0027dddI\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-numericliterals-numericliterali.html#FromOne","title":"NumericLiteralI.FromOne","content":"NumericLiteralI.FromOne \nFromOne \n Provides a default implementations of F# numeric literal syntax for literals of the form \u0027dddI\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-numericliterals-numericliterali.html#FromInt32","title":"NumericLiteralI.FromInt32","content":"NumericLiteralI.FromInt32 \nFromInt32 \n Provides a default implementations of F# numeric literal syntax for literals of the form \u0027dddI\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-numericliterals-numericliterali.html#FromInt64","title":"NumericLiteralI.FromInt64","content":"NumericLiteralI.FromInt64 \nFromInt64 \n Provides a default implementations of F# numeric literal syntax for literals of the form \u0027dddI\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-numericliterals-numericliterali.html#FromString","title":"NumericLiteralI.FromString","content":"NumericLiteralI.FromString \nFromString \n Provides a default implementations of F# numeric literal syntax for literals of the form \u0027dddI\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-numericliterals-numericliterali.html#FromInt64Dynamic","title":"NumericLiteralI.FromInt64Dynamic","content":"NumericLiteralI.FromInt64Dynamic \nFromInt64Dynamic \n Provides a default implementations of F# numeric literal syntax for literals of the form \u0027dddI\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-numericliterals-numericliterali.html#FromStringDynamic","title":"NumericLiteralI.FromStringDynamic","content":"NumericLiteralI.FromStringDynamic \nFromStringDynamic \n Provides a default implementations of F# numeric literal syntax for literals of the form \u0027dddI\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html","title":"Operators","content":"Operators \nBasic F# Operators. This module is automatically opened in all F# code. \nOperators.ArrayExtensions \nArrayExtensions \nOperators.Checked \nChecked \nOperators.NonStructuralComparison \nNonStructuralComparison \nOperators.OperatorIntrinsics \nOperatorIntrinsics \nOperators.Unchecked \nUnchecked \nOperators.(~-) \n(~-) \nOperators.(\u002B) \n(\u002B) \nOperators.(-) \n(-) \nOperators.(*) \n(*) \nOperators.(/) \n(/) \nOperators.(%) \n(%) \nOperators.(\u0026\u0026\u0026) \n(\u0026\u0026\u0026) \nOperators.(|||) \n(|||) \nOperators.(^^^) \n(^^^) \nOperators.(\u003C\u003C\u003C) \n(\u003C\u003C\u003C) \nOperators.(\u003E\u003E\u003E) \n(\u003E\u003E\u003E) \nOperators.(~~~) \n(~~~) \nOperators.(~\u002B) \n(~\u002B) \nOperators.(\u003C) \n(\u003C) \nOperators.(\u003E) \n(\u003E) \nOperators.(\u003E=) \n(\u003E=) \nOperators.(\u003C=) \n(\u003C=) \nOperators.(=) \n(=) \nOperators.(\u003C\u003E) \n(\u003C\u003E) \nOperators.(\u003E\u003E) \n(\u003E\u003E) \nOperators.(\u003C\u003C) \n(\u003C\u003C) \nOperators.(|\u003E) \n(|\u003E) \nOperators.(||\u003E) \n(||\u003E) \nOperators.(|||\u003E) \n(|||\u003E) \nOperators.(\u003C|) \n(\u003C|) \nOperators.(\u003C||) \n(\u003C||) \nOperators.(\u003C|||) \n(\u003C|||) \nOperators.defaultArg \ndefaultArg \nOperators.defaultValueArg \ndefaultValueArg \nOperators.(^) \n(^) \nOperators.raise \nraise \nOperators.rethrow \nrethrow \nOperators.reraise \nreraise \nOperators.Failure \nFailure \nOperators.fst \nfst \nOperators.snd \nsnd \nOperators.compare \ncompare \nOperators.max \nmax \nOperators.min \nmin \nOperators.ignore \nignore \nOperators.unbox \nunbox \nOperators.box \nbox \nOperators.tryUnbox \ntryUnbox \nOperators.isNull \nisNull \nOperators.failwith \nfailwith \nOperators.invalidArg \ninvalidArg \nOperators.nullArg \nnullArg \nOperators.invalidOp \ninvalidOp \nOperators.id \nid \nOperators.ref \nref \nOperators.(:=) \n(:=) \nOperators.(!) \n(!) \nOperators.decr \ndecr \nOperators.incr \nincr \nOperators.(@) \n(@) \nOperators.\u0060\u0060not\u0060\u0060 \n\u0060\u0060not\u0060\u0060 \nOperators.seq \nseq \nOperators.exit \nexit \nOperators.infinity \ninfinity \nOperators.nan \nnan \nOperators.infinityf \ninfinityf \nOperators.nanf \nnanf \nOperators.stdin \nstdin \nOperators.stderr \nstderr \nOperators.stdout \nstdout \nOperators.(..) \n(..) \nOperators.(.. ..) \n(.. ..) \nOperators.lock \nlock \nOperators.using \nusing \nOperators.typeof \ntypeof \nOperators.nameof \nnameof \nOperators.methodhandleof \nmethodhandleof \nOperators.typedefof \ntypedefof \nOperators.sizeof \nsizeof \nOperators.hash \nhash \nOperators.limitedHash \nlimitedHash \nOperators.abs \nabs \nOperators.acos \nacos \nOperators.asin \nasin \nOperators.atan \natan \nOperators.atan2 \natan2 \nOperators.ceil \nceil \nOperators.exp \nexp \nOperators.floor \nfloor \nOperators.sign \nsign \nOperators.round \nround \nOperators.log \nlog \nOperators.log10 \nlog10 \nOperators.sqrt \nsqrt \nOperators.cos \ncos \nOperators.cosh \ncosh \nOperators.sin \nsin \nOperators.sinh \nsinh \nOperators.tan \ntan \nOperators.tanh \ntanh \nOperators.truncate \ntruncate \nOperators.( ** ) \n( ** ) \nOperators.pown \npown \nOperators.byte \nbyte \nOperators.sbyte \nsbyte \nOperators.int16 \nint16 \nOperators.uint16 \nuint16 \nOperators.int \nint \nOperators.uint \nuint \nOperators.enum \nenum \nOperators.int32 \nint32 \nOperators.uint32 \nuint32 \nOperators.int64 \nint64 \nOperators.uint64 \nuint64 \nOperators.float32 \nfloat32 \nOperators.float \nfloat \nOperators.nativeint \nnativeint \nOperators.unativeint \nunativeint \nOperators.string \nstring \nOperators.decimal \ndecimal \nOperators.char \nchar \nOperators.(|Failure|_|) \n(|Failure|_|) \nOperators.(|Null|NonNull|) \n(|Null|NonNull|) \nOperators.(|KeyValue|) \n(|KeyValue|)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(~-)","title":"Operators.(~-)","content":"Operators.(~-) \n(~-) \nOverloaded unary negation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u002B)","title":"Operators.(\u002B)","content":"Operators.(\u002B) \n(\u002B) \nOverloaded addition operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(-)","title":"Operators.(-)","content":"Operators.(-) \n(-) \nOverloaded subtraction operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(*)","title":"Operators.(*)","content":"Operators.(*) \n(*) \nOverloaded multiplication operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(/)","title":"Operators.(/)","content":"Operators.(/) \n(/) \nOverloaded division operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(%)","title":"Operators.(%)","content":"Operators.(%) \n(%) \nOverloaded modulo operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u0026\u0026\u0026)","title":"Operators.(\u0026\u0026\u0026)","content":"Operators.(\u0026\u0026\u0026) \n(\u0026\u0026\u0026) \nOverloaded bitwise-AND operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(|||)","title":"Operators.(|||)","content":"Operators.(|||) \n(|||) \nOverloaded bitwise-OR operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(^^^)","title":"Operators.(^^^)","content":"Operators.(^^^) \n(^^^) \nOverloaded bitwise-XOR operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003C\u003C\u003C)","title":"Operators.(\u003C\u003C\u003C)","content":"Operators.(\u003C\u003C\u003C) \n(\u003C\u003C\u003C) \nOverloaded byte-shift left operator by a specified number of bits","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003E\u003E\u003E)","title":"Operators.(\u003E\u003E\u003E)","content":"Operators.(\u003E\u003E\u003E) \n(\u003E\u003E\u003E) \nOverloaded byte-shift right operator by a specified number of bits","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(~~~)","title":"Operators.(~~~)","content":"Operators.(~~~) \n(~~~) \nOverloaded bitwise-NOT operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(~\u002B)","title":"Operators.(~\u002B)","content":"Operators.(~\u002B) \n(~\u002B) \nOverloaded prefix-plus operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003C)","title":"Operators.(\u003C)","content":"Operators.(\u003C) \n(\u003C) \nStructural less-than comparison","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003E)","title":"Operators.(\u003E)","content":"Operators.(\u003E) \n(\u003E) \nStructural greater-than","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003E=)","title":"Operators.(\u003E=)","content":"Operators.(\u003E=) \n(\u003E=) \nStructural greater-than-or-equal","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003C=)","title":"Operators.(\u003C=)","content":"Operators.(\u003C=) \n(\u003C=) \nStructural less-than-or-equal comparison","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(=)","title":"Operators.(=)","content":"Operators.(=) \n(=) \nStructural equality","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003C\u003E)","title":"Operators.(\u003C\u003E)","content":"Operators.(\u003C\u003E) \n(\u003C\u003E) \nStructural inequality","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003E\u003E)","title":"Operators.(\u003E\u003E)","content":"Operators.(\u003E\u003E) \n(\u003E\u003E) \nCompose two functions, the function on the left being applied first","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003C\u003C)","title":"Operators.(\u003C\u003C)","content":"Operators.(\u003C\u003C) \n(\u003C\u003C) \nCompose two functions, the function on the right being applied first","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(|\u003E)","title":"Operators.(|\u003E)","content":"Operators.(|\u003E) \n(|\u003E) \nApply a function to a value, the value being on the left, the function on the right","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(||\u003E)","title":"Operators.(||\u003E)","content":"Operators.(||\u003E) \n(||\u003E) \nApply a function to two values, the values being a pair on the left, the function on the right","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(|||\u003E)","title":"Operators.(|||\u003E)","content":"Operators.(|||\u003E) \n(|||\u003E) \nApply a function to three values, the values being a triple on the left, the function on the right","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003C|)","title":"Operators.(\u003C|)","content":"Operators.(\u003C|) \n(\u003C|) \nApply a function to a value, the value being on the right, the function on the left","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003C||)","title":"Operators.(\u003C||)","content":"Operators.(\u003C||) \n(\u003C||) \nApply a function to two values, the values being a pair on the right, the function on the left","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(\u003C|||)","title":"Operators.(\u003C|||)","content":"Operators.(\u003C|||) \n(\u003C|||) \nApply a function to three values, the values being a triple on the right, the function on the left","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#defaultArg","title":"Operators.defaultArg","content":"Operators.defaultArg \ndefaultArg \nUsed to specify a default value for an optional argument in the implementation of a function","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#defaultValueArg","title":"Operators.defaultValueArg","content":"Operators.defaultValueArg \ndefaultValueArg \nUsed to specify a default value for an optional argument in the implementation of a function","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(^)","title":"Operators.(^)","content":"Operators.(^) \n(^) \nConcatenate two strings. The operator \u0027\u002B\u0027 may also be used.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#raise","title":"Operators.raise","content":"Operators.raise \nraise \nRaises an exception","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#rethrow","title":"Operators.rethrow","content":"Operators.rethrow \nrethrow \nRethrows an exception. This should only be used when handling an exception","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#reraise","title":"Operators.reraise","content":"Operators.reraise \nreraise \nRethrows an exception. This should only be used when handling an exception","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#Failure","title":"Operators.Failure","content":"Operators.Failure \nFailure \nBuilds a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.exception\u0022\u003EException\u003C/a\u003E object.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#fst","title":"Operators.fst","content":"Operators.fst \nfst \nReturn the first element of a tuple, \u003Ccode\u003Efst (a,b) = a\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#snd","title":"Operators.snd","content":"Operators.snd \nsnd \nReturn the second element of a tuple, \u003Ccode\u003Esnd (a,b) = b\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#compare","title":"Operators.compare","content":"Operators.compare \ncompare \nGeneric comparison.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#max","title":"Operators.max","content":"Operators.max \nmax \nMaximum based on generic comparison","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#min","title":"Operators.min","content":"Operators.min \nmin \nMinimum based on generic comparison","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#ignore","title":"Operators.ignore","content":"Operators.ignore \nignore \nIgnore the passed value. This is often used to throw away results of a computation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#unbox","title":"Operators.unbox","content":"Operators.unbox \nunbox \nUnbox a strongly typed value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#box","title":"Operators.box","content":"Operators.box \nbox \nBoxes a strongly typed value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#tryUnbox","title":"Operators.tryUnbox","content":"Operators.tryUnbox \ntryUnbox \nTry to unbox a strongly typed value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#isNull","title":"Operators.isNull","content":"Operators.isNull \nisNull \nDetermines whether the given value is null.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#failwith","title":"Operators.failwith","content":"Operators.failwith \nfailwith \nThrow a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.exception\u0022\u003EException\u003C/a\u003E exception.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#invalidArg","title":"Operators.invalidArg","content":"Operators.invalidArg \ninvalidArg \nThrow a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E exception with\n the given argument name and message.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#nullArg","title":"Operators.nullArg","content":"Operators.nullArg \nnullArg \nThrow a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentnullexception\u0022\u003EArgumentNullException\u003C/a\u003E exception","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#invalidOp","title":"Operators.invalidOp","content":"Operators.invalidOp \ninvalidOp \nThrow a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.invalidoperationexception\u0022\u003EInvalidOperationException\u003C/a\u003E exception","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#id","title":"Operators.id","content":"Operators.id \nid \nThe identity function","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#ref","title":"Operators.ref","content":"Operators.ref \nref \nCreate a mutable reference cell","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(:=)","title":"Operators.(:=)","content":"Operators.(:=) \n(:=) \nAssign to a mutable reference cell","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(!)","title":"Operators.(!)","content":"Operators.(!) \n(!) \nDereference a mutable reference cell","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#decr","title":"Operators.decr","content":"Operators.decr \ndecr \nDecrement a mutable reference cell containing an integer","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#incr","title":"Operators.incr","content":"Operators.incr \nincr \nIncrement a mutable reference cell containing an integer","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(@)","title":"Operators.(@)","content":"Operators.(@) \n(@) \nConcatenate two lists.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#\u0060\u0060not\u0060\u0060","title":"Operators.\u0060\u0060not\u0060\u0060","content":"Operators.\u0060\u0060not\u0060\u0060 \n\u0060\u0060not\u0060\u0060 \nNegate a logical value. Not True equals False and not False equals True","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#seq","title":"Operators.seq","content":"Operators.seq \nseq \nBuilds a sequence using sequence expression syntax","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#exit","title":"Operators.exit","content":"Operators.exit \nexit \nExit the current hardware isolated process, if security settings permit,\n otherwise raise an exception. Calls \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.environment.exit\u0022\u003EEnvironment.Exit\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#infinity","title":"Operators.infinity","content":"Operators.infinity \ninfinity \nEquivalent to \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.double.positiveinfinity\u0022\u003EDouble.PositiveInfinity\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#nan","title":"Operators.nan","content":"Operators.nan \nnan \nEquivalent to \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.double.nan\u0022\u003EDouble.NaN\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#infinityf","title":"Operators.infinityf","content":"Operators.infinityf \ninfinityf \nEquivalent to \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.single.positiveinfinity\u0022\u003ESingle.PositiveInfinity\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#nanf","title":"Operators.nanf","content":"Operators.nanf \nnanf \nEquivalent to \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.single.nan\u0022\u003ESingle.NaN\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#stdin","title":"Operators.stdin","content":"Operators.stdin \nstdin \nReads the value of the property \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.console.in\u0022\u003EConsole.In\u003C/a\u003E. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#stderr","title":"Operators.stderr","content":"Operators.stderr \nstderr \nReads the value of the property \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.console.error\u0022\u003EConsole.Error\u003C/a\u003E. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#stdout","title":"Operators.stdout","content":"Operators.stdout \nstdout \nReads the value of the property \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.console.out\u0022\u003EConsole.Out\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(..)","title":"Operators.(..)","content":"Operators.(..) \n(..) \nThe standard overloaded range operator, e.g. \u003Ccode\u003E[n..m]\u003C/code\u003E for lists, \u003Ccode\u003Eseq {n..m}\u003C/code\u003E for sequences","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(.. ..)","title":"Operators.(.. ..)","content":"Operators.(.. ..) \n(.. ..) \nThe standard overloaded skip range operator, e.g. \u003Ccode\u003E[n..skip..m]\u003C/code\u003E for lists, \u003Ccode\u003Eseq {n..skip..m}\u003C/code\u003E for sequences","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#lock","title":"Operators.lock","content":"Operators.lock \nlock \nExecute the function as a mutual-exclusion region using the input value as a lock. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#using","title":"Operators.using","content":"Operators.using \nusing \nClean up resources associated with the input object after the completion of the given function.\n Cleanup occurs even when an exception is raised by the protected\n code. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#typeof","title":"Operators.typeof","content":"Operators.typeof \ntypeof \nGenerate a System.Type runtime representation of a static type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#nameof","title":"Operators.nameof","content":"Operators.nameof \nnameof \nReturns the name of the given symbol.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#methodhandleof","title":"Operators.methodhandleof","content":"Operators.methodhandleof \nmethodhandleof \n\u003Cpre\u003EAn internal, library-only compiler intrinsic for compile-time \n generation of a RuntimeMethodHandle.\u003C/pre\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#typedefof","title":"Operators.typedefof","content":"Operators.typedefof \ntypedefof \nGenerate a System.Type representation for a type definition. If the\n input type is a generic type instantiation then return the \n generic type definition associated with all such instantiations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#sizeof","title":"Operators.sizeof","content":"Operators.sizeof \nsizeof \nReturns the internal size of a type in bytes. For example, \u003Ccode\u003Esizeof\u0026lt;int\u0026gt;\u003C/code\u003E returns 4.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#hash","title":"Operators.hash","content":"Operators.hash \nhash \nA generic hash function, designed to return equal hash values for items that are \n equal according to the \u0022=\u0022 operator. By default it will use structural hashing\n for F# union, record and tuple types, hashing the complete contents of the \n type. The exact behaviour of the function can be adjusted on a \n type-by-type basis by implementing GetHashCode for each type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#limitedHash","title":"Operators.limitedHash","content":"Operators.limitedHash \nlimitedHash \nA generic hash function. This function has the same behaviour as \u0027hash\u0027, \n however the default structural hashing for F# union, record and tuple \n types stops when the given limit of nodes is reached. The exact behaviour of \n the function can be adjusted on a type-by-type basis by implementing \n GetHashCode for each type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#abs","title":"Operators.abs","content":"Operators.abs \nabs \nAbsolute value of the given number.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#acos","title":"Operators.acos","content":"Operators.acos \nacos \nInverse cosine of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#asin","title":"Operators.asin","content":"Operators.asin \nasin \nInverse sine of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#atan","title":"Operators.atan","content":"Operators.atan \natan \nInverse tangent of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#atan2","title":"Operators.atan2","content":"Operators.atan2 \natan2 \nInverse tangent of \u003Ccode\u003Ex/y\u003C/code\u003E where \u003Ccode\u003Ex\u003C/code\u003E and \u003Ccode\u003Ey\u003C/code\u003E are specified separately","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#ceil","title":"Operators.ceil","content":"Operators.ceil \nceil \nCeiling of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#exp","title":"Operators.exp","content":"Operators.exp \nexp \nExponential of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#floor","title":"Operators.floor","content":"Operators.floor \nfloor \nFloor of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#sign","title":"Operators.sign","content":"Operators.sign \nsign \nSign of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#round","title":"Operators.round","content":"Operators.round \nround \nRound the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#log","title":"Operators.log","content":"Operators.log \nlog \nNatural logarithm of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#log10","title":"Operators.log10","content":"Operators.log10 \nlog10 \nLogarithm to base 10 of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#sqrt","title":"Operators.sqrt","content":"Operators.sqrt \nsqrt \nSquare root of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#cos","title":"Operators.cos","content":"Operators.cos \ncos \nCosine of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#cosh","title":"Operators.cosh","content":"Operators.cosh \ncosh \nHyperbolic cosine of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#sin","title":"Operators.sin","content":"Operators.sin \nsin \nSine of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#sinh","title":"Operators.sinh","content":"Operators.sinh \nsinh \nHyperbolic sine of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#tan","title":"Operators.tan","content":"Operators.tan \ntan \nTangent of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#tanh","title":"Operators.tanh","content":"Operators.tanh \ntanh \nHyperbolic tangent of the given number","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#truncate","title":"Operators.truncate","content":"Operators.truncate \ntruncate \nOverloaded truncate operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#( ** )","title":"Operators.( ** )","content":"Operators.( ** ) \n( ** ) \nOverloaded power operator.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#pown","title":"Operators.pown","content":"Operators.pown \npown \nOverloaded power operator. If \u003Ccode\u003En \u0026gt; 0\u003C/code\u003E then equivalent to \u003Ccode\u003Ex*...*x\u003C/code\u003E for \u003Ccode\u003En\u003C/code\u003E occurrences of \u003Ccode\u003Ex\u003C/code\u003E. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#byte","title":"Operators.byte","content":"Operators.byte \nbyte \nConverts the argument to byte. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EByte.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#sbyte","title":"Operators.sbyte","content":"Operators.sbyte \nsbyte \nConverts the argument to signed byte. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003ESByte.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#int16","title":"Operators.int16","content":"Operators.int16 \nint16 \nConverts the argument to signed 16-bit integer. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EInt16.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#uint16","title":"Operators.uint16","content":"Operators.uint16 \nuint16 \nConverts the argument to unsigned 16-bit integer. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EUInt16.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#int","title":"Operators.int","content":"Operators.int \nint \nConverts the argument to signed 32-bit integer. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EInt32.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#uint","title":"Operators.uint","content":"Operators.uint \nuint \nConverts the argument to an unsigned 32-bit integer. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EUInt32.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#enum","title":"Operators.enum","content":"Operators.enum \nenum \nConverts the argument to a particular enum type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#int32","title":"Operators.int32","content":"Operators.int32 \nint32 \nConverts the argument to signed 32-bit integer. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EInt32.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#uint32","title":"Operators.uint32","content":"Operators.uint32 \nuint32 \nConverts the argument to unsigned 32-bit integer. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EUInt32.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#int64","title":"Operators.int64","content":"Operators.int64 \nint64 \nConverts the argument to signed 64-bit integer. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EInt64.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#uint64","title":"Operators.uint64","content":"Operators.uint64 \nuint64 \nConverts the argument to unsigned 64-bit integer. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EUInt64.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#float32","title":"Operators.float32","content":"Operators.float32 \nfloat32 \nConverts the argument to 32-bit float. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003ESingle.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#float","title":"Operators.float","content":"Operators.float \nfloat \nConverts the argument to 64-bit float. This is a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EDouble.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#nativeint","title":"Operators.nativeint","content":"Operators.nativeint \nnativeint \nConverts the argument to signed native integer. This is a direct conversion for all \n primitive numeric types. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#unativeint","title":"Operators.unativeint","content":"Operators.unativeint \nunativeint \nConverts the argument to unsigned native integer using a direct conversion for all \n primitive numeric types. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#string","title":"Operators.string","content":"Operators.string \nstring \nConverts the argument to a string using \u003Ccode\u003EToString\u003C/code\u003E. \nFor standard integer and floating point values and any type that implements \u003Ccode\u003EIFormattable\u003C/code\u003E\u003Ccode\u003EToString\u003C/code\u003E conversion uses \u003Ccode\u003ECultureInfo.InvariantCulture\u003C/code\u003E. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#decimal","title":"Operators.decimal","content":"Operators.decimal \ndecimal \nConverts the argument to System.Decimal using a direct conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ccode\u003EUInt64.Parse()\u003C/code\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#char","title":"Operators.char","content":"Operators.char \nchar \nConverts the argument to character. Numeric inputs are converted according to the UTF-16 \n encoding for characters. String inputs must be exactly one character long. For other\n input types the operation requires an appropriate static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(|Failure|_|)","title":"Operators.(|Failure|_|)","content":"Operators.(|Failure|_|) \n(|Failure|_|) \nMatches \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.exception\u0022\u003EException\u003C/a\u003E objects whose runtime type is precisely \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.exception\u0022\u003EException\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(|Null|NonNull|)","title":"Operators.(|Null|NonNull|)","content":"Operators.(|Null|NonNull|) \n(|Null|NonNull|) \nDetermines whether the given value is null.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators.html#(|KeyValue|)","title":"Operators.(|KeyValue|)","content":"Operators.(|KeyValue|) \n(|KeyValue|) \nAn active pattern to match values of type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.collections.generic.keyvaluepair\u0022\u003EKeyValuePair\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-arrayextensions.html","title":"ArrayExtensions","content":"ArrayExtensions \n\u003Cpre\u003EContains extension methods to allow the use of F# indexer notation with arrays.\n This module is automatically opened in all F# code.\u003C/pre\u003E \nArrayExtensions.GetReverseIndex \nGetReverseIndex \nArrayExtensions.GetReverseIndex \nGetReverseIndex \nArrayExtensions.GetReverseIndex \nGetReverseIndex \nArrayExtensions.GetReverseIndex \nGetReverseIndex \nArrayExtensions.GetReverseIndex \nGetReverseIndex","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-arrayextensions.html#GetReverseIndex","title":"ArrayExtensions.GetReverseIndex","content":"ArrayExtensions.GetReverseIndex \nGetReverseIndex \nGet the index for the element offset elements away from the end of the collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-arrayextensions.html#GetReverseIndex","title":"ArrayExtensions.GetReverseIndex","content":"ArrayExtensions.GetReverseIndex \nGetReverseIndex \nGet the index for the element offset elements away from the end of the collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-arrayextensions.html#GetReverseIndex","title":"ArrayExtensions.GetReverseIndex","content":"ArrayExtensions.GetReverseIndex \nGetReverseIndex \nGet the index for the element offset elements away from the end of the collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-arrayextensions.html#GetReverseIndex","title":"ArrayExtensions.GetReverseIndex","content":"ArrayExtensions.GetReverseIndex \nGetReverseIndex \nGet the index for the element offset elements away from the end of the collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-arrayextensions.html#GetReverseIndex","title":"ArrayExtensions.GetReverseIndex","content":"ArrayExtensions.GetReverseIndex \nGetReverseIndex \nGet the index for the element offset elements away from the end of the collection.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html","title":"Checked","content":"Checked \nThis module contains the basic arithmetic operations with overflow checks. \nChecked.(~-) \n(~-) \nChecked.(-) \n(-) \nChecked.(\u002B) \n(\u002B) \nChecked.(*) \n(*) \nChecked.byte \nbyte \nChecked.sbyte \nsbyte \nChecked.int16 \nint16 \nChecked.uint16 \nuint16 \nChecked.int \nint \nChecked.int32 \nint32 \nChecked.uint32 \nuint32 \nChecked.int64 \nint64 \nChecked.uint64 \nuint64 \nChecked.nativeint \nnativeint \nChecked.unativeint \nunativeint \nChecked.char \nchar","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#(~-)","title":"Checked.(~-)","content":"Checked.(~-) \n(~-) \nOverloaded unary negation (checks for overflow)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#(-)","title":"Checked.(-)","content":"Checked.(-) \n(-) \nOverloaded subtraction operator (checks for overflow)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#(\u002B)","title":"Checked.(\u002B)","content":"Checked.(\u002B) \n(\u002B) \nOverloaded addition operator (checks for overflow)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#(*)","title":"Checked.(*)","content":"Checked.(*) \n(*) \nOverloaded multiplication operator (checks for overflow)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#byte","title":"Checked.byte","content":"Checked.byte \nbyte \nConverts the argument to \u003Ccode\u003Ebyte\u003C/code\u003E. This is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.byte.parse\u0022\u003EByte.Parse\u003C/a\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#sbyte","title":"Checked.sbyte","content":"Checked.sbyte \nsbyte \nConverts the argument to \u003Ccode\u003Esbyte\u003C/code\u003E. This is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.sbyte.parse\u0022\u003ESByte.Parse\u003C/a\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#int16","title":"Checked.int16","content":"Checked.int16 \nint16 \nConverts the argument to \u003Ccode\u003Eint16\u003C/code\u003E. This is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int16.parse\u0022\u003EInt16.Parse\u003C/a\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#uint16","title":"Checked.uint16","content":"Checked.uint16 \nuint16 \nConverts the argument to \u003Ccode\u003Euint16\u003C/code\u003E. This is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint16.parse\u0022\u003EUInt16.Parse\u003C/a\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#int","title":"Checked.int","content":"Checked.int \nint \nConverts the argument to \u003Ccode\u003Eint\u003C/code\u003E. This is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int32.parse\u0022\u003EInt32.Parse\u003C/a\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#int32","title":"Checked.int32","content":"Checked.int32 \nint32 \nConverts the argument to \u003Ccode\u003Eint32\u003C/code\u003E. This is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int32.parse\u0022\u003EInt32.Parse\u003C/a\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#uint32","title":"Checked.uint32","content":"Checked.uint32 \nuint32 \nConverts the argument to \u003Ccode\u003Euint32\u003C/code\u003E. This is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint32.parse\u0022\u003EUInt32.Parse\u003C/a\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#int64","title":"Checked.int64","content":"Checked.int64 \nint64 \nConverts the argument to \u003Ccode\u003Eint64\u003C/code\u003E. This is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int64.parse\u0022\u003EInt64.Parse\u003C/a\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#uint64","title":"Checked.uint64","content":"Checked.uint64 \nuint64 \nConverts the argument to \u003Ccode\u003Euint64\u003C/code\u003E. This is a direct, checked conversion for all \n primitive numeric types. For strings, the input is converted using \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint64.parse\u0022\u003EUInt64.Parse\u003C/a\u003E \n with InvariantCulture settings. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#nativeint","title":"Checked.nativeint","content":"Checked.nativeint \nnativeint \nConverts the argument to \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nativeint.html\u0022\u003Enativeint\u003C/a\u003E. This is a direct, checked conversion for all \n primitive numeric types. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#unativeint","title":"Checked.unativeint","content":"Checked.unativeint \nunativeint \nConverts the argument to \u003Ccode\u003Eunativeint\u003C/code\u003E. This is a direct, checked conversion for all \n primitive numeric types. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-checked.html#char","title":"Checked.char","content":"Checked.char \nchar \nConverts the argument to \u003Ccode\u003Echar\u003C/code\u003E. Numeric inputs are converted using a checked \n conversion according to the UTF-16 encoding for characters. String inputs must \n be exactly one character long. For other input types the operation requires an \n appropriate static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html","title":"NonStructuralComparison","content":"NonStructuralComparison \n\u003Cpre\u003EA module of comparison and equality operators that are statically resolved, but which are not fully generic and do not make structural comparison. Opening this\n module may make code that relies on structural or generic comparison no longer compile.\u003C/pre\u003E \nNonStructuralComparison.(\u003C) \n(\u003C) \nNonStructuralComparison.(\u003E) \n(\u003E) \nNonStructuralComparison.(\u003E=) \n(\u003E=) \nNonStructuralComparison.(\u003C=) \n(\u003C=) \nNonStructuralComparison.(=) \n(=) \nNonStructuralComparison.(\u003C\u003E) \n(\u003C\u003E) \nNonStructuralComparison.compare \ncompare \nNonStructuralComparison.max \nmax \nNonStructuralComparison.min \nmin \nNonStructuralComparison.hash \nhash","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html#(\u003C)","title":"NonStructuralComparison.(\u003C)","content":"NonStructuralComparison.(\u003C) \n(\u003C) \nCompares the two values for less-than","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html#(\u003E)","title":"NonStructuralComparison.(\u003E)","content":"NonStructuralComparison.(\u003E) \n(\u003E) \nCompares the two values for greater-than","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html#(\u003E=)","title":"NonStructuralComparison.(\u003E=)","content":"NonStructuralComparison.(\u003E=) \n(\u003E=) \nCompares the two values for greater-than-or-equal","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html#(\u003C=)","title":"NonStructuralComparison.(\u003C=)","content":"NonStructuralComparison.(\u003C=) \n(\u003C=) \nCompares the two values for less-than-or-equal","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html#(=)","title":"NonStructuralComparison.(=)","content":"NonStructuralComparison.(=) \n(=) \nCompares the two values for equality","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html#(\u003C\u003E)","title":"NonStructuralComparison.(\u003C\u003E)","content":"NonStructuralComparison.(\u003C\u003E) \n(\u003C\u003E) \nCompares the two values for inequality","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html#compare","title":"NonStructuralComparison.compare","content":"NonStructuralComparison.compare \ncompare \nCompares the two values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html#max","title":"NonStructuralComparison.max","content":"NonStructuralComparison.max \nmax \nMaximum of the two values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html#min","title":"NonStructuralComparison.min","content":"NonStructuralComparison.min \nmin \nMinimum of the two values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-nonstructuralcomparison.html#hash","title":"NonStructuralComparison.hash","content":"NonStructuralComparison.hash \nhash \nCalls GetHashCode() on the value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html","title":"OperatorIntrinsics","content":"OperatorIntrinsics \n\u003Cpre\u003EA module of compiler intrinsic functions for efficient implementations of F# integer ranges\n and dynamic invocations of other F# operators\u003C/pre\u003E \nOperatorIntrinsics.GetArraySlice \nGetArraySlice \nOperatorIntrinsics.SetArraySlice \nSetArraySlice \nOperatorIntrinsics.GetArraySlice2D \nGetArraySlice2D \nOperatorIntrinsics.GetArraySlice2DFixed1 \nGetArraySlice2DFixed1 \nOperatorIntrinsics.GetArraySlice2DFixed2 \nGetArraySlice2DFixed2 \nOperatorIntrinsics.SetArraySlice2D \nSetArraySlice2D \nOperatorIntrinsics.SetArraySlice2DFixed1 \nSetArraySlice2DFixed1 \nOperatorIntrinsics.SetArraySlice2DFixed2 \nSetArraySlice2DFixed2 \nOperatorIntrinsics.GetArraySlice3D \nGetArraySlice3D \nOperatorIntrinsics.GetArraySlice3DFixedSingle1 \nGetArraySlice3DFixedSingle1 \nOperatorIntrinsics.GetArraySlice3DFixedSingle2 \nGetArraySlice3DFixedSingle2 \nOperatorIntrinsics.GetArraySlice3DFixedSingle3 \nGetArraySlice3DFixedSingle3 \nOperatorIntrinsics.GetArraySlice3DFixedDouble1 \nGetArraySlice3DFixedDouble1 \nOperatorIntrinsics.GetArraySlice3DFixedDouble2 \nGetArraySlice3DFixedDouble2 \nOperatorIntrinsics.GetArraySlice3DFixedDouble3 \nGetArraySlice3DFixedDouble3 \nOperatorIntrinsics.SetArraySlice3D \nSetArraySlice3D \nOperatorIntrinsics.SetArraySlice3DFixedSingle1 \nSetArraySlice3DFixedSingle1 \nOperatorIntrinsics.SetArraySlice3DFixedSingle2 \nSetArraySlice3DFixedSingle2 \nOperatorIntrinsics.SetArraySlice3DFixedSingle3 \nSetArraySlice3DFixedSingle3 \nOperatorIntrinsics.SetArraySlice3DFixedDouble1 \nSetArraySlice3DFixedDouble1 \nOperatorIntrinsics.SetArraySlice3DFixedDouble2 \nSetArraySlice3DFixedDouble2 \nOperatorIntrinsics.SetArraySlice3DFixedDouble3 \nSetArraySlice3DFixedDouble3 \nOperatorIntrinsics.GetArraySlice4D \nGetArraySlice4D \nOperatorIntrinsics.GetArraySlice4DFixedSingle1 \nGetArraySlice4DFixedSingle1 \nOperatorIntrinsics.GetArraySlice4DFixedSingle2 \nGetArraySlice4DFixedSingle2 \nOperatorIntrinsics.GetArraySlice4DFixedSingle3 \nGetArraySlice4DFixedSingle3 \nOperatorIntrinsics.GetArraySlice4DFixedSingle4 \nGetArraySlice4DFixedSingle4 \nOperatorIntrinsics.GetArraySlice4DFixedDouble1 \nGetArraySlice4DFixedDouble1 \nOperatorIntrinsics.GetArraySlice4DFixedDouble2 \nGetArraySlice4DFixedDouble2 \nOperatorIntrinsics.GetArraySlice4DFixedDouble3 \nGetArraySlice4DFixedDouble3 \nOperatorIntrinsics.GetArraySlice4DFixedDouble4 \nGetArraySlice4DFixedDouble4 \nOperatorIntrinsics.GetArraySlice4DFixedDouble5 \nGetArraySlice4DFixedDouble5 \nOperatorIntrinsics.GetArraySlice4DFixedDouble6 \nGetArraySlice4DFixedDouble6 \nOperatorIntrinsics.GetArraySlice4DFixedTriple4 \nGetArraySlice4DFixedTriple4 \nOperatorIntrinsics.GetArraySlice4DFixedTriple3 \nGetArraySlice4DFixedTriple3 \nOperatorIntrinsics.GetArraySlice4DFixedTriple2 \nGetArraySlice4DFixedTriple2 \nOperatorIntrinsics.GetArraySlice4DFixedTriple1 \nGetArraySlice4DFixedTriple1 \nOperatorIntrinsics.SetArraySlice4DFixedSingle1 \nSetArraySlice4DFixedSingle1 \nOperatorIntrinsics.SetArraySlice4DFixedSingle2 \nSetArraySlice4DFixedSingle2 \nOperatorIntrinsics.SetArraySlice4DFixedSingle3 \nSetArraySlice4DFixedSingle3 \nOperatorIntrinsics.SetArraySlice4DFixedSingle4 \nSetArraySlice4DFixedSingle4 \nOperatorIntrinsics.SetArraySlice4DFixedDouble1 \nSetArraySlice4DFixedDouble1 \nOperatorIntrinsics.SetArraySlice4DFixedDouble2 \nSetArraySlice4DFixedDouble2 \nOperatorIntrinsics.SetArraySlice4DFixedDouble3 \nSetArraySlice4DFixedDouble3 \nOperatorIntrinsics.SetArraySlice4DFixedDouble4 \nSetArraySlice4DFixedDouble4 \nOperatorIntrinsics.SetArraySlice4DFixedDouble5 \nSetArraySlice4DFixedDouble5 \nOperatorIntrinsics.SetArraySlice4DFixedDouble6 \nSetArraySlice4DFixedDouble6 \nOperatorIntrinsics.SetArraySlice4DFixedTriple4 \nSetArraySlice4DFixedTriple4 \nOperatorIntrinsics.SetArraySlice4DFixedTriple3 \nSetArraySlice4DFixedTriple3 \nOperatorIntrinsics.SetArraySlice4DFixedTriple2 \nSetArraySlice4DFixedTriple2 \nOperatorIntrinsics.SetArraySlice4DFixedTriple1 \nSetArraySlice4DFixedTriple1 \nOperatorIntrinsics.SetArraySlice4D \nSetArraySlice4D \nOperatorIntrinsics.GetStringSlice \nGetStringSlice \nOperatorIntrinsics.RangeInt32 \nRangeInt32 \nOperatorIntrinsics.RangeDouble \nRangeDouble \nOperatorIntrinsics.RangeSingle \nRangeSingle \nOperatorIntrinsics.RangeInt64 \nRangeInt64 \nOperatorIntrinsics.RangeUInt64 \nRangeUInt64 \nOperatorIntrinsics.RangeUInt32 \nRangeUInt32 \nOperatorIntrinsics.RangeIntPtr \nRangeIntPtr \nOperatorIntrinsics.RangeUIntPtr \nRangeUIntPtr \nOperatorIntrinsics.RangeInt16 \nRangeInt16 \nOperatorIntrinsics.RangeUInt16 \nRangeUInt16 \nOperatorIntrinsics.RangeSByte \nRangeSByte \nOperatorIntrinsics.RangeByte \nRangeByte \nOperatorIntrinsics.RangeChar \nRangeChar \nOperatorIntrinsics.RangeGeneric \nRangeGeneric \nOperatorIntrinsics.RangeStepGeneric \nRangeStepGeneric \nOperatorIntrinsics.AbsDynamic \nAbsDynamic \nOperatorIntrinsics.AcosDynamic \nAcosDynamic \nOperatorIntrinsics.AsinDynamic \nAsinDynamic \nOperatorIntrinsics.AtanDynamic \nAtanDynamic \nOperatorIntrinsics.Atan2Dynamic \nAtan2Dynamic \nOperatorIntrinsics.CeilingDynamic \nCeilingDynamic \nOperatorIntrinsics.ExpDynamic \nExpDynamic \nOperatorIntrinsics.FloorDynamic \nFloorDynamic \nOperatorIntrinsics.TruncateDynamic \nTruncateDynamic \nOperatorIntrinsics.RoundDynamic \nRoundDynamic \nOperatorIntrinsics.SignDynamic \nSignDynamic \nOperatorIntrinsics.LogDynamic \nLogDynamic \nOperatorIntrinsics.Log10Dynamic \nLog10Dynamic \nOperatorIntrinsics.SqrtDynamic \nSqrtDynamic \nOperatorIntrinsics.CosDynamic \nCosDynamic \nOperatorIntrinsics.CoshDynamic \nCoshDynamic \nOperatorIntrinsics.SinDynamic \nSinDynamic \nOperatorIntrinsics.SinhDynamic \nSinhDynamic \nOperatorIntrinsics.TanDynamic \nTanDynamic \nOperatorIntrinsics.TanhDynamic \nTanhDynamic \nOperatorIntrinsics.PowDynamic \nPowDynamic \nOperatorIntrinsics.PowByte \nPowByte \nOperatorIntrinsics.PowSByte \nPowSByte \nOperatorIntrinsics.PowInt16 \nPowInt16 \nOperatorIntrinsics.PowUInt16 \nPowUInt16 \nOperatorIntrinsics.PowInt32 \nPowInt32 \nOperatorIntrinsics.PowUInt32 \nPowUInt32 \nOperatorIntrinsics.PowInt64 \nPowInt64 \nOperatorIntrinsics.PowUInt64 \nPowUInt64 \nOperatorIntrinsics.PowIntPtr \nPowIntPtr \nOperatorIntrinsics.PowUIntPtr \nPowUIntPtr \nOperatorIntrinsics.PowSingle \nPowSingle \nOperatorIntrinsics.PowDouble \nPowDouble \nOperatorIntrinsics.PowDecimal \nPowDecimal \nOperatorIntrinsics.PowGeneric \nPowGeneric","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice","title":"OperatorIntrinsics.GetArraySlice","content":"OperatorIntrinsics.GetArraySlice \nGetArraySlice \nGets a slice of an array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice","title":"OperatorIntrinsics.SetArraySlice","content":"OperatorIntrinsics.SetArraySlice \nSetArraySlice \nSets a slice of an array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice2D","title":"OperatorIntrinsics.GetArraySlice2D","content":"OperatorIntrinsics.GetArraySlice2D \nGetArraySlice2D \nGets a region slice of an array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice2DFixed1","title":"OperatorIntrinsics.GetArraySlice2DFixed1","content":"OperatorIntrinsics.GetArraySlice2DFixed1 \nGetArraySlice2DFixed1 \nGets a vector slice of a 2D array. The index of the first dimension is fixed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice2DFixed2","title":"OperatorIntrinsics.GetArraySlice2DFixed2","content":"OperatorIntrinsics.GetArraySlice2DFixed2 \nGetArraySlice2DFixed2 \nGets a vector slice of a 2D array. The index of the second dimension is fixed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice2D","title":"OperatorIntrinsics.SetArraySlice2D","content":"OperatorIntrinsics.SetArraySlice2D \nSetArraySlice2D \nSets a region slice of an array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice2DFixed1","title":"OperatorIntrinsics.SetArraySlice2DFixed1","content":"OperatorIntrinsics.SetArraySlice2DFixed1 \nSetArraySlice2DFixed1 \nSets a vector slice of a 2D array. The index of the first dimension is fixed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice2DFixed2","title":"OperatorIntrinsics.SetArraySlice2DFixed2","content":"OperatorIntrinsics.SetArraySlice2DFixed2 \nSetArraySlice2DFixed2 \nSets a vector slice of a 2D array. The index of the second dimension is fixed.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice3D","title":"OperatorIntrinsics.GetArraySlice3D","content":"OperatorIntrinsics.GetArraySlice3D \nGetArraySlice3D \nGets a slice of an array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice3DFixedSingle1","title":"OperatorIntrinsics.GetArraySlice3DFixedSingle1","content":"OperatorIntrinsics.GetArraySlice3DFixedSingle1 \nGetArraySlice3DFixedSingle1 \nGets a 2D slice of a 3D array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice3DFixedSingle2","title":"OperatorIntrinsics.GetArraySlice3DFixedSingle2","content":"OperatorIntrinsics.GetArraySlice3DFixedSingle2 \nGetArraySlice3DFixedSingle2 \nGets a 2D slice of a 3D array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice3DFixedSingle3","title":"OperatorIntrinsics.GetArraySlice3DFixedSingle3","content":"OperatorIntrinsics.GetArraySlice3DFixedSingle3 \nGetArraySlice3DFixedSingle3 \nGets a 2D slice of a 3D array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice3DFixedDouble1","title":"OperatorIntrinsics.GetArraySlice3DFixedDouble1","content":"OperatorIntrinsics.GetArraySlice3DFixedDouble1 \nGetArraySlice3DFixedDouble1 \nGets a 1D slice of a 3D array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice3DFixedDouble2","title":"OperatorIntrinsics.GetArraySlice3DFixedDouble2","content":"OperatorIntrinsics.GetArraySlice3DFixedDouble2 \nGetArraySlice3DFixedDouble2 \nGets a 1D slice of a 3D array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice3DFixedDouble3","title":"OperatorIntrinsics.GetArraySlice3DFixedDouble3","content":"OperatorIntrinsics.GetArraySlice3DFixedDouble3 \nGetArraySlice3DFixedDouble3 \nGets a 1D slice of a 3D array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice3D","title":"OperatorIntrinsics.SetArraySlice3D","content":"OperatorIntrinsics.SetArraySlice3D \nSetArraySlice3D \nSets a slice of an array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice3DFixedSingle1","title":"OperatorIntrinsics.SetArraySlice3DFixedSingle1","content":"OperatorIntrinsics.SetArraySlice3DFixedSingle1 \nSetArraySlice3DFixedSingle1 \nSets a 2D slice of a 3D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice3DFixedSingle2","title":"OperatorIntrinsics.SetArraySlice3DFixedSingle2","content":"OperatorIntrinsics.SetArraySlice3DFixedSingle2 \nSetArraySlice3DFixedSingle2 \nSets a 2D slice of a 3D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice3DFixedSingle3","title":"OperatorIntrinsics.SetArraySlice3DFixedSingle3","content":"OperatorIntrinsics.SetArraySlice3DFixedSingle3 \nSetArraySlice3DFixedSingle3 \nSets a 2D slice of a 3D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice3DFixedDouble1","title":"OperatorIntrinsics.SetArraySlice3DFixedDouble1","content":"OperatorIntrinsics.SetArraySlice3DFixedDouble1 \nSetArraySlice3DFixedDouble1 \nSets a 1D slice of a 3D array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice3DFixedDouble2","title":"OperatorIntrinsics.SetArraySlice3DFixedDouble2","content":"OperatorIntrinsics.SetArraySlice3DFixedDouble2 \nSetArraySlice3DFixedDouble2 \nSets a 1D slice of a 3D array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice3DFixedDouble3","title":"OperatorIntrinsics.SetArraySlice3DFixedDouble3","content":"OperatorIntrinsics.SetArraySlice3DFixedDouble3 \nSetArraySlice3DFixedDouble3 \nSets a 1D slice of a 3D array.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4D","title":"OperatorIntrinsics.GetArraySlice4D","content":"OperatorIntrinsics.GetArraySlice4D \nGetArraySlice4D \nGets a slice of an array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedSingle1","title":"OperatorIntrinsics.GetArraySlice4DFixedSingle1","content":"OperatorIntrinsics.GetArraySlice4DFixedSingle1 \nGetArraySlice4DFixedSingle1 \nGets a 3D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedSingle2","title":"OperatorIntrinsics.GetArraySlice4DFixedSingle2","content":"OperatorIntrinsics.GetArraySlice4DFixedSingle2 \nGetArraySlice4DFixedSingle2 \nGets a 3D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedSingle3","title":"OperatorIntrinsics.GetArraySlice4DFixedSingle3","content":"OperatorIntrinsics.GetArraySlice4DFixedSingle3 \nGetArraySlice4DFixedSingle3 \nGets a 3D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedSingle4","title":"OperatorIntrinsics.GetArraySlice4DFixedSingle4","content":"OperatorIntrinsics.GetArraySlice4DFixedSingle4 \nGetArraySlice4DFixedSingle4 \nGets a 3D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedDouble1","title":"OperatorIntrinsics.GetArraySlice4DFixedDouble1","content":"OperatorIntrinsics.GetArraySlice4DFixedDouble1 \nGetArraySlice4DFixedDouble1 \nGets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedDouble2","title":"OperatorIntrinsics.GetArraySlice4DFixedDouble2","content":"OperatorIntrinsics.GetArraySlice4DFixedDouble2 \nGetArraySlice4DFixedDouble2 \nGets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedDouble3","title":"OperatorIntrinsics.GetArraySlice4DFixedDouble3","content":"OperatorIntrinsics.GetArraySlice4DFixedDouble3 \nGetArraySlice4DFixedDouble3 \nGets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedDouble4","title":"OperatorIntrinsics.GetArraySlice4DFixedDouble4","content":"OperatorIntrinsics.GetArraySlice4DFixedDouble4 \nGetArraySlice4DFixedDouble4 \nGets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedDouble5","title":"OperatorIntrinsics.GetArraySlice4DFixedDouble5","content":"OperatorIntrinsics.GetArraySlice4DFixedDouble5 \nGetArraySlice4DFixedDouble5 \nGets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedDouble6","title":"OperatorIntrinsics.GetArraySlice4DFixedDouble6","content":"OperatorIntrinsics.GetArraySlice4DFixedDouble6 \nGetArraySlice4DFixedDouble6 \nGets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedTriple4","title":"OperatorIntrinsics.GetArraySlice4DFixedTriple4","content":"OperatorIntrinsics.GetArraySlice4DFixedTriple4 \nGetArraySlice4DFixedTriple4 \nGets a 1D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedTriple3","title":"OperatorIntrinsics.GetArraySlice4DFixedTriple3","content":"OperatorIntrinsics.GetArraySlice4DFixedTriple3 \nGetArraySlice4DFixedTriple3 \nGets a 1D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedTriple2","title":"OperatorIntrinsics.GetArraySlice4DFixedTriple2","content":"OperatorIntrinsics.GetArraySlice4DFixedTriple2 \nGetArraySlice4DFixedTriple2 \nGets a 1D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetArraySlice4DFixedTriple1","title":"OperatorIntrinsics.GetArraySlice4DFixedTriple1","content":"OperatorIntrinsics.GetArraySlice4DFixedTriple1 \nGetArraySlice4DFixedTriple1 \nGets a 1D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedSingle1","title":"OperatorIntrinsics.SetArraySlice4DFixedSingle1","content":"OperatorIntrinsics.SetArraySlice4DFixedSingle1 \nSetArraySlice4DFixedSingle1 \nSets a 3D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedSingle2","title":"OperatorIntrinsics.SetArraySlice4DFixedSingle2","content":"OperatorIntrinsics.SetArraySlice4DFixedSingle2 \nSetArraySlice4DFixedSingle2 \nSets a 3D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedSingle3","title":"OperatorIntrinsics.SetArraySlice4DFixedSingle3","content":"OperatorIntrinsics.SetArraySlice4DFixedSingle3 \nSetArraySlice4DFixedSingle3 \nSets a 3D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedSingle4","title":"OperatorIntrinsics.SetArraySlice4DFixedSingle4","content":"OperatorIntrinsics.SetArraySlice4DFixedSingle4 \nSetArraySlice4DFixedSingle4 \nSets a 3D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedDouble1","title":"OperatorIntrinsics.SetArraySlice4DFixedDouble1","content":"OperatorIntrinsics.SetArraySlice4DFixedDouble1 \nSetArraySlice4DFixedDouble1 \nSets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedDouble2","title":"OperatorIntrinsics.SetArraySlice4DFixedDouble2","content":"OperatorIntrinsics.SetArraySlice4DFixedDouble2 \nSetArraySlice4DFixedDouble2 \nSets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedDouble3","title":"OperatorIntrinsics.SetArraySlice4DFixedDouble3","content":"OperatorIntrinsics.SetArraySlice4DFixedDouble3 \nSetArraySlice4DFixedDouble3 \nSets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedDouble4","title":"OperatorIntrinsics.SetArraySlice4DFixedDouble4","content":"OperatorIntrinsics.SetArraySlice4DFixedDouble4 \nSetArraySlice4DFixedDouble4 \nSets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedDouble5","title":"OperatorIntrinsics.SetArraySlice4DFixedDouble5","content":"OperatorIntrinsics.SetArraySlice4DFixedDouble5 \nSetArraySlice4DFixedDouble5 \nSets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedDouble6","title":"OperatorIntrinsics.SetArraySlice4DFixedDouble6","content":"OperatorIntrinsics.SetArraySlice4DFixedDouble6 \nSetArraySlice4DFixedDouble6 \nSets a 2D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedTriple4","title":"OperatorIntrinsics.SetArraySlice4DFixedTriple4","content":"OperatorIntrinsics.SetArraySlice4DFixedTriple4 \nSetArraySlice4DFixedTriple4 \nSets a 1D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedTriple3","title":"OperatorIntrinsics.SetArraySlice4DFixedTriple3","content":"OperatorIntrinsics.SetArraySlice4DFixedTriple3 \nSetArraySlice4DFixedTriple3 \nSets a 1D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedTriple2","title":"OperatorIntrinsics.SetArraySlice4DFixedTriple2","content":"OperatorIntrinsics.SetArraySlice4DFixedTriple2 \nSetArraySlice4DFixedTriple2 \nSets a 1D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4DFixedTriple1","title":"OperatorIntrinsics.SetArraySlice4DFixedTriple1","content":"OperatorIntrinsics.SetArraySlice4DFixedTriple1 \nSetArraySlice4DFixedTriple1 \nSets a 1D slice of a 4D array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SetArraySlice4D","title":"OperatorIntrinsics.SetArraySlice4D","content":"OperatorIntrinsics.SetArraySlice4D \nSetArraySlice4D \nSets a slice of an array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#GetStringSlice","title":"OperatorIntrinsics.GetStringSlice","content":"OperatorIntrinsics.GetStringSlice \nGetStringSlice \nGets a slice from a string","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeInt32","title":"OperatorIntrinsics.RangeInt32","content":"OperatorIntrinsics.RangeInt32 \nRangeInt32 \nGenerate a range of integers","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeDouble","title":"OperatorIntrinsics.RangeDouble","content":"OperatorIntrinsics.RangeDouble \nRangeDouble \nGenerate a range of float values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeSingle","title":"OperatorIntrinsics.RangeSingle","content":"OperatorIntrinsics.RangeSingle \nRangeSingle \nGenerate a range of float32 values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeInt64","title":"OperatorIntrinsics.RangeInt64","content":"OperatorIntrinsics.RangeInt64 \nRangeInt64 \nGenerate a range of int64 values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeUInt64","title":"OperatorIntrinsics.RangeUInt64","content":"OperatorIntrinsics.RangeUInt64 \nRangeUInt64 \nGenerate a range of uint64 values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeUInt32","title":"OperatorIntrinsics.RangeUInt32","content":"OperatorIntrinsics.RangeUInt32 \nRangeUInt32 \nGenerate a range of uint32 values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeIntPtr","title":"OperatorIntrinsics.RangeIntPtr","content":"OperatorIntrinsics.RangeIntPtr \nRangeIntPtr \nGenerate a range of nativeint values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeUIntPtr","title":"OperatorIntrinsics.RangeUIntPtr","content":"OperatorIntrinsics.RangeUIntPtr \nRangeUIntPtr \nGenerate a range of unativeint values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeInt16","title":"OperatorIntrinsics.RangeInt16","content":"OperatorIntrinsics.RangeInt16 \nRangeInt16 \nGenerate a range of int16 values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeUInt16","title":"OperatorIntrinsics.RangeUInt16","content":"OperatorIntrinsics.RangeUInt16 \nRangeUInt16 \nGenerate a range of uint16 values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeSByte","title":"OperatorIntrinsics.RangeSByte","content":"OperatorIntrinsics.RangeSByte \nRangeSByte \nGenerate a range of sbyte values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeByte","title":"OperatorIntrinsics.RangeByte","content":"OperatorIntrinsics.RangeByte \nRangeByte \nGenerate a range of byte values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeChar","title":"OperatorIntrinsics.RangeChar","content":"OperatorIntrinsics.RangeChar \nRangeChar \nGenerate a range of char values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeGeneric","title":"OperatorIntrinsics.RangeGeneric","content":"OperatorIntrinsics.RangeGeneric \nRangeGeneric \nGenerate a range of values using the given zero, add, start, step and stop values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RangeStepGeneric","title":"OperatorIntrinsics.RangeStepGeneric","content":"OperatorIntrinsics.RangeStepGeneric \nRangeStepGeneric \nGenerate a range of values using the given zero, add, start, step and stop values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#AbsDynamic","title":"OperatorIntrinsics.AbsDynamic","content":"OperatorIntrinsics.AbsDynamic \nAbsDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#AcosDynamic","title":"OperatorIntrinsics.AcosDynamic","content":"OperatorIntrinsics.AcosDynamic \nAcosDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#AsinDynamic","title":"OperatorIntrinsics.AsinDynamic","content":"OperatorIntrinsics.AsinDynamic \nAsinDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#AtanDynamic","title":"OperatorIntrinsics.AtanDynamic","content":"OperatorIntrinsics.AtanDynamic \nAtanDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#Atan2Dynamic","title":"OperatorIntrinsics.Atan2Dynamic","content":"OperatorIntrinsics.Atan2Dynamic \nAtan2Dynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#CeilingDynamic","title":"OperatorIntrinsics.CeilingDynamic","content":"OperatorIntrinsics.CeilingDynamic \nCeilingDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#ExpDynamic","title":"OperatorIntrinsics.ExpDynamic","content":"OperatorIntrinsics.ExpDynamic \nExpDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#FloorDynamic","title":"OperatorIntrinsics.FloorDynamic","content":"OperatorIntrinsics.FloorDynamic \nFloorDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#TruncateDynamic","title":"OperatorIntrinsics.TruncateDynamic","content":"OperatorIntrinsics.TruncateDynamic \nTruncateDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#RoundDynamic","title":"OperatorIntrinsics.RoundDynamic","content":"OperatorIntrinsics.RoundDynamic \nRoundDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SignDynamic","title":"OperatorIntrinsics.SignDynamic","content":"OperatorIntrinsics.SignDynamic \nSignDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#LogDynamic","title":"OperatorIntrinsics.LogDynamic","content":"OperatorIntrinsics.LogDynamic \nLogDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#Log10Dynamic","title":"OperatorIntrinsics.Log10Dynamic","content":"OperatorIntrinsics.Log10Dynamic \nLog10Dynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SqrtDynamic","title":"OperatorIntrinsics.SqrtDynamic","content":"OperatorIntrinsics.SqrtDynamic \nSqrtDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#CosDynamic","title":"OperatorIntrinsics.CosDynamic","content":"OperatorIntrinsics.CosDynamic \nCosDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#CoshDynamic","title":"OperatorIntrinsics.CoshDynamic","content":"OperatorIntrinsics.CoshDynamic \nCoshDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SinDynamic","title":"OperatorIntrinsics.SinDynamic","content":"OperatorIntrinsics.SinDynamic \nSinDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#SinhDynamic","title":"OperatorIntrinsics.SinhDynamic","content":"OperatorIntrinsics.SinhDynamic \nSinhDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#TanDynamic","title":"OperatorIntrinsics.TanDynamic","content":"OperatorIntrinsics.TanDynamic \nTanDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#TanhDynamic","title":"OperatorIntrinsics.TanhDynamic","content":"OperatorIntrinsics.TanhDynamic \nTanhDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowDynamic","title":"OperatorIntrinsics.PowDynamic","content":"OperatorIntrinsics.PowDynamic \nPowDynamic \nThis is a library intrinsic. Calls to this function may be generated by evaluating quotations.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowByte","title":"OperatorIntrinsics.PowByte","content":"OperatorIntrinsics.PowByte \nPowByte \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027byte\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowSByte","title":"OperatorIntrinsics.PowSByte","content":"OperatorIntrinsics.PowSByte \nPowSByte \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027sbyte\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowInt16","title":"OperatorIntrinsics.PowInt16","content":"OperatorIntrinsics.PowInt16 \nPowInt16 \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027int16\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowUInt16","title":"OperatorIntrinsics.PowUInt16","content":"OperatorIntrinsics.PowUInt16 \nPowUInt16 \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027uint16\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowInt32","title":"OperatorIntrinsics.PowInt32","content":"OperatorIntrinsics.PowInt32 \nPowInt32 \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027int32\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowUInt32","title":"OperatorIntrinsics.PowUInt32","content":"OperatorIntrinsics.PowUInt32 \nPowUInt32 \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027uint32\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowInt64","title":"OperatorIntrinsics.PowInt64","content":"OperatorIntrinsics.PowInt64 \nPowInt64 \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027int64\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowUInt64","title":"OperatorIntrinsics.PowUInt64","content":"OperatorIntrinsics.PowUInt64 \nPowUInt64 \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027uint64\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowIntPtr","title":"OperatorIntrinsics.PowIntPtr","content":"OperatorIntrinsics.PowIntPtr \nPowIntPtr \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027nativeint\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowUIntPtr","title":"OperatorIntrinsics.PowUIntPtr","content":"OperatorIntrinsics.PowUIntPtr \nPowUIntPtr \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027unativeint\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowSingle","title":"OperatorIntrinsics.PowSingle","content":"OperatorIntrinsics.PowSingle \nPowSingle \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027float32\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowDouble","title":"OperatorIntrinsics.PowDouble","content":"OperatorIntrinsics.PowDouble \nPowDouble \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027float\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowDecimal","title":"OperatorIntrinsics.PowDecimal","content":"OperatorIntrinsics.PowDecimal \nPowDecimal \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator on values of type \u0027decimal\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-operatorintrinsics.html#PowGeneric","title":"OperatorIntrinsics.PowGeneric","content":"OperatorIntrinsics.PowGeneric \nPowGeneric \nThis is a library intrinsic. Calls to this function may be generated by uses of the generic \u0027pown\u0027 operator","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-unchecked.html","title":"Unchecked","content":"Unchecked \nThis module contains basic operations which do not apply runtime and/or static checks \nUnchecked.unbox \nunbox \nUnchecked.defaultof \ndefaultof \nUnchecked.compare \ncompare \nUnchecked.equals \nequals \nUnchecked.hash \nhash \nUnchecked.nonNull \nnonNull \nUnchecked.(|NonNullQuick|) \n(|NonNullQuick|)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-unchecked.html#unbox","title":"Unchecked.unbox","content":"Unchecked.unbox \nunbox \nUnboxes a strongly typed value. This is the inverse of \u003Ccode\u003Ebox\u003C/code\u003E, unbox\u003Ct\u003E(box\u003Ct\u003E a) equals a.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-unchecked.html#defaultof","title":"Unchecked.defaultof","content":"Unchecked.defaultof \ndefaultof \nGenerate a default value for any type. This is null for reference types, \n For structs, this is struct value where all fields have the default value. \n This function is unsafe in the sense that some F# values do not have proper \u003Ccode\u003Enull\u003C/code\u003E values.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-unchecked.html#compare","title":"Unchecked.compare","content":"Unchecked.compare \ncompare \nPerform generic comparison on two values where the type of the values is not\n statically required to have the \u0027comparison\u0027 constraint. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-unchecked.html#equals","title":"Unchecked.equals","content":"Unchecked.equals \nequals \nPerform generic equality on two values where the type of the values is not\n statically required to satisfy the \u0027equality\u0027 constraint. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-unchecked.html#hash","title":"Unchecked.hash","content":"Unchecked.hash \nhash \nPerform generic hashing on a value where the type of the value is not\n statically required to satisfy the \u0027equality\u0027 constraint. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-unchecked.html#nonNull","title":"Unchecked.nonNull","content":"Unchecked.nonNull \nnonNull \nUnsafely retypes the value from (\u0027T | null) to \u0027T without doing any null check at runtime. This is an unsafe operation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-operators-unchecked.html#(|NonNullQuick|)","title":"Unchecked.(|NonNullQuick|)","content":"Unchecked.(|NonNullQuick|) \n(|NonNullQuick|) \nWhen used in a pattern forgets \u0027nullness\u0027 of the value without any runtime check. This is an unsafe operation, as null check is being skipped and null value can be returned.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures.html","title":"OptimizedClosures","content":"OptimizedClosures \nAn implementation module used to hold some private implementations of function\n value invocation. \nOptimizedClosures.FSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E \nOptimizedClosures.FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E \nOptimizedClosures.FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E \nOptimizedClosures.FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-3.html","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E \n\u003Cpre\u003EThe CLI type used to represent F# function values that accept\n two iterated (curried) arguments without intervening execution. This type should not\n typically used directly from either F# code or from other CLI languages.\u003C/pre\u003E \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E.Invoke \nInvoke \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E.Adapt \nAdapt","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-3.html#\u0060\u0060.ctor\u0060\u0060","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nConstruct an optimized function value that can accept two curried \n arguments without intervening execution.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-3.html#Invoke","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E.Invoke","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E.Invoke \nInvoke \nInvoke the optimized function value with two curried arguments ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-3.html#Adapt","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E.Adapt","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027U\u003E.Adapt \nAdapt \nAdapt an F# first class function value to be an optimized function value that can \n accept two curried arguments without intervening execution. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-4.html","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E \n\u003Cpre\u003EThe CLI type used to represent F# function values that accept\n three iterated (curried) arguments without intervening execution. This type should not\n typically used directly from either F# code or from other CLI languages.\u003C/pre\u003E \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E.Invoke \nInvoke \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E.Adapt \nAdapt","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-4.html#\u0060\u0060.ctor\u0060\u0060","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nConstruct an optimized function value that can accept three curried \n arguments without intervening execution.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-4.html#Invoke","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E.Invoke","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E.Invoke \nInvoke \nInvoke an F# first class function value that accepts three curried arguments \n without intervening execution","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-4.html#Adapt","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E.Adapt","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027U\u003E.Adapt \nAdapt \nAdapt an F# first class function value to be an optimized function value that can \n accept three curried arguments without intervening execution. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-5.html","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E \n\u003Cpre\u003EThe CLI type used to represent F# function values that accept four curried arguments \n without intervening execution. This type should not typically used directly from \n either F# code or from other CLI languages.\u003C/pre\u003E \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E.Invoke \nInvoke \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E.Adapt \nAdapt","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-5.html#\u0060\u0060.ctor\u0060\u0060","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nConstruct an optimized function value that can accept four curried \n arguments without intervening execution.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-5.html#Invoke","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E.Invoke","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E.Invoke \nInvoke \nInvoke an F# first class function value that accepts four curried arguments \n without intervening execution","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-5.html#Adapt","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E.Adapt","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027U\u003E.Adapt \nAdapt \nAdapt an F# first class function value to be an optimized function value that can \n accept four curried arguments without intervening execution. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-6.html","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E \n\u003Cpre\u003EThe CLI type used to represent F# function values that accept five curried arguments \n without intervening execution. This type should not typically used directly from \n either F# code or from other CLI languages.\u003C/pre\u003E \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E.Invoke \nInvoke \nFSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E.Adapt \nAdapt","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-6.html#\u0060\u0060.ctor\u0060\u0060","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nConstruct an optimized function value that can accept five curried \n arguments without intervening execution.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-6.html#Invoke","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E.Invoke","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E.Invoke \nInvoke \nInvoke an F# first class function value that accepts five curried arguments \n without intervening execution","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optimizedclosures-fsharpfunc-6.html#Adapt","title":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E.Adapt","content":"FSharpFunc\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027U\u003E.Adapt \nAdapt \nAdapt an F# first class function value to be an optimized function value that can \n accept five curried arguments without intervening execution. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html","title":"Option","content":"Option \nContains operations for working with options. \nOption.isSome \nisSome \nOption.isNone \nisNone \nOption.defaultValue \ndefaultValue \nOption.defaultWith \ndefaultWith \nOption.orElse \norElse \nOption.orElseWith \norElseWith \nOption.get \nget \nOption.count \ncount \nOption.fold \nfold \nOption.foldBack \nfoldBack \nOption.exists \nexists \nOption.forall \nforall \nOption.contains \ncontains \nOption.iter \niter \nOption.map \nmap \nOption.map2 \nmap2 \nOption.map3 \nmap3 \nOption.bind \nbind \nOption.flatten \nflatten \nOption.filter \nfilter \nOption.toArray \ntoArray \nOption.toList \ntoList \nOption.toNullable \ntoNullable \nOption.ofNullable \nofNullable \nOption.ofObj \nofObj \nOption.toObj \ntoObj \nOption.ofValueOption \nofValueOption \nOption.toValueOption \ntoValueOption","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#isSome","title":"Option.isSome","content":"Option.isSome \nisSome \nReturns true if the option is not None.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#isNone","title":"Option.isNone","content":"Option.isNone \nisNone \nReturns true if the option is None.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#defaultValue","title":"Option.defaultValue","content":"Option.defaultValue \ndefaultValue \nGets the value of the option if the option is \u003Ccode\u003ESome\u003C/code\u003E, otherwise returns the specified default value. \nIdentical to the built-in \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/defaultarg\u0022\u003EdefaultArg\u003C/a\u003E operator, except with the arguments swapped.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#defaultWith","title":"Option.defaultWith","content":"Option.defaultWith \ndefaultWith \nGets the value of the option if the option is \u003Ccode\u003ESome\u003C/code\u003E, otherwise evaluates \u003Cspan class=\u0022fsdocs-param-name\u0022\u003EdefThunk\u003C/span\u003E and returns the result. \n\u003Cspan class=\u0022fsdocs-param-name\u0022\u003EdefThunk\u003C/span\u003E is not evaluated unless \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Eoption\u003C/span\u003E is \u003Ccode\u003ENone\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#orElse","title":"Option.orElse","content":"Option.orElse \norElse \nReturns \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Eoption\u003C/span\u003E if it is \u003Ccode\u003ESome\u003C/code\u003E, otherwise returns \u003Cspan class=\u0022fsdocs-param-name\u0022\u003EifNone\u003C/span\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#orElseWith","title":"Option.orElseWith","content":"Option.orElseWith \norElseWith \nReturns \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Eoption\u003C/span\u003E if it is \u003Ccode\u003ESome\u003C/code\u003E, otherwise evaluates \u003Cspan class=\u0022fsdocs-param-name\u0022\u003EifNoneThunk\u003C/span\u003E and returns the result. \n\u003Cspan class=\u0022fsdocs-param-name\u0022\u003EifNoneThunk\u003C/span\u003E is not evaluated unless \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Eoption\u003C/span\u003E is \u003Ccode\u003ENone\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#get","title":"Option.get","content":"Option.get \nget \nGets the value associated with the option.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#count","title":"Option.count","content":"Option.count \ncount \n\u003Ccode\u003Ecount inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with None -\u0026gt; 0 | Some _ -\u0026gt; 1\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#fold","title":"Option.fold","content":"Option.fold \nfold \n\u003Ccode\u003Efold f s inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with None -\u0026gt; s | Some x -\u0026gt; f s x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#foldBack","title":"Option.foldBack","content":"Option.foldBack \nfoldBack \n\u003Ccode\u003Efold f inp s\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with None -\u0026gt; s | Some x -\u0026gt; f x s\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#exists","title":"Option.exists","content":"Option.exists \nexists \n\u003Ccode\u003Eexists p inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with None -\u0026gt; false | Some x -\u0026gt; p x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#forall","title":"Option.forall","content":"Option.forall \nforall \n\u003Ccode\u003Eforall p inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with None -\u0026gt; true | Some x -\u0026gt; p x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#contains","title":"Option.contains","content":"Option.contains \ncontains \nEvaluates to true if \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Eoption\u003C/span\u003E is \u003Ccode\u003ESome\u003C/code\u003E and its value is equal to \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Evalue\u003C/span\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#iter","title":"Option.iter","content":"Option.iter \niter \n\u003Ccode\u003Eiter f inp\u003C/code\u003E executes \u003Ccode\u003Ematch inp with None -\u0026gt; () | Some x -\u0026gt; f x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#map","title":"Option.map","content":"Option.map \nmap \n\u003Ccode\u003Emap f inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with None -\u0026gt; None | Some x -\u0026gt; Some (f x)\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#map2","title":"Option.map2","content":"Option.map2 \nmap2 \n\u003Ccode\u003Emap f option1 option2\u003C/code\u003E evaluates to \u003Ccode\u003Ematch option1, option2 with Some x, Some y -\u0026gt; Some (f x y) | _ -\u0026gt; None\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#map3","title":"Option.map3","content":"Option.map3 \nmap3 \n\u003Ccode\u003Emap f option1 option2 option3\u003C/code\u003E evaluates to \u003Ccode\u003Ematch option1, option2, option3 with Some x, Some y, Some z -\u0026gt; Some (f x y z) | _ -\u0026gt; None\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#bind","title":"Option.bind","content":"Option.bind \nbind \n\u003Ccode\u003Ebind f inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with None -\u0026gt; None | Some x -\u0026gt; f x\u003C/code\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#flatten","title":"Option.flatten","content":"Option.flatten \nflatten \n\u003Ccode\u003Eflatten inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with None -\u0026gt; None | Some x -\u0026gt; x\u003C/code\u003E \n\u003Ccode\u003Eflatten\u003C/code\u003E is equivalent to \u003Ccode\u003Ebind id\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#filter","title":"Option.filter","content":"Option.filter \nfilter \n\u003Ccode\u003Efilter f inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with None -\u0026gt; None | Some x -\u0026gt; if f x then Some x else None\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#toArray","title":"Option.toArray","content":"Option.toArray \ntoArray \nConvert the option to an array of length 0 or 1.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#toList","title":"Option.toList","content":"Option.toList \ntoList \nConvert the option to a list of length 0 or 1.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#toNullable","title":"Option.toNullable","content":"Option.toNullable \ntoNullable \nConvert the option to a Nullable value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#ofNullable","title":"Option.ofNullable","content":"Option.ofNullable \nofNullable \nConvert a Nullable value to an option.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#ofObj","title":"Option.ofObj","content":"Option.ofObj \nofObj \nConvert a potentially null value to an option.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#toObj","title":"Option.toObj","content":"Option.toObj \ntoObj \nConvert an option to a potentially null value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#ofValueOption","title":"Option.ofValueOption","content":"Option.ofValueOption \nofValueOption \nConvert a value option to an option.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionmodule.html#toValueOption","title":"Option.toValueOption","content":"Option.toValueOption \ntoValueOption \nConvert an option to a value option.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html","title":"Printf","content":"Printf \nExtensible printf-style formatting for numbers and other datatypes \nFormat specifications are strings with \u0022%\u0022 markers indicating format\n placeholders. Format placeholders consist of \u003Ccode\u003E%[flags][width][.precision][type]\u003C/code\u003E. \nPrintf.BuilderFormat\u003C\u0027T, \u0027Result\u003E \nBuilderFormat\u003C\u0027T, \u0027Result\u003E \nPrintf.BuilderFormat\u003C\u0027T\u003E \nBuilderFormat\u003C\u0027T\u003E \nPrintf.StringFormat\u003C\u0027T, \u0027Result\u003E \nStringFormat\u003C\u0027T, \u0027Result\u003E \nPrintf.StringFormat\u003C\u0027T\u003E \nStringFormat\u003C\u0027T\u003E \nPrintf.TextWriterFormat\u003C\u0027T, \u0027Result\u003E \nTextWriterFormat\u003C\u0027T, \u0027Result\u003E \nPrintf.TextWriterFormat\u003C\u0027T\u003E \nTextWriterFormat\u003C\u0027T\u003E \nPrintf.bprintf \nbprintf \nPrintf.fprintf \nfprintf \nPrintf.fprintfn \nfprintfn \nPrintf.eprintf \neprintf \nPrintf.eprintfn \neprintfn \nPrintf.printf \nprintf \nPrintf.printfn \nprintfn \nPrintf.sprintf \nsprintf \nPrintf.kbprintf \nkbprintf \nPrintf.kfprintf \nkfprintf \nPrintf.kprintf \nkprintf \nPrintf.ksprintf \nksprintf \nPrintf.failwithf \nfailwithf","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#bprintf","title":"Printf.bprintf","content":"Printf.bprintf \nbprintf \nPrint to a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.text.stringbuilder\u0022\u003EStringBuilder\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#fprintf","title":"Printf.fprintf","content":"Printf.fprintf \nfprintf \nPrint to a text writer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#fprintfn","title":"Printf.fprintfn","content":"Printf.fprintfn \nfprintfn \nPrint to a text writer, adding a newline","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#eprintf","title":"Printf.eprintf","content":"Printf.eprintf \neprintf \nFormatted printing to stderr","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#eprintfn","title":"Printf.eprintfn","content":"Printf.eprintfn \neprintfn \nFormatted printing to stderr, adding a newline ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#printf","title":"Printf.printf","content":"Printf.printf \nprintf \nFormatted printing to stdout","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#printfn","title":"Printf.printfn","content":"Printf.printfn \nprintfn \nFormatted printing to stdout, adding a newline.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#sprintf","title":"Printf.sprintf","content":"Printf.sprintf \nsprintf \nPrint to a string via an internal string buffer and return\n the result as a string. Helper printers must return strings.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#kbprintf","title":"Printf.kbprintf","content":"Printf.kbprintf \nkbprintf \nbprintf, but call the given \u0027final\u0027 function to generate the result.\n See \u003Ccode\u003Ekprintf\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#kfprintf","title":"Printf.kfprintf","content":"Printf.kfprintf \nkfprintf \nfprintf, but call the given \u0027final\u0027 function to generate the result.\n See \u003Ccode\u003Ekprintf\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#kprintf","title":"Printf.kprintf","content":"Printf.kprintf \nkprintf \nprintf, but call the given \u0027final\u0027 function to generate the result.\n For example, these let the printing force a flush after all output has\n been entered onto the channel, but not before. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#ksprintf","title":"Printf.ksprintf","content":"Printf.ksprintf \nksprintf \nsprintf, but call the given \u0027final\u0027 function to generate the result.\n See \u003Ccode\u003Ekprintf\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule.html#failwithf","title":"Printf.failwithf","content":"Printf.failwithf \nfailwithf \nPrint to a string buffer and raise an exception with the given\n result. Helper printers must return strings.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-builderformat-2.html","title":"BuilderFormat\u003C\u0027T, \u0027Result\u003E","content":"BuilderFormat\u003C\u0027T, \u0027Result\u003E \nRepresents a statically-analyzed format associated with writing to a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.text.stringbuilder\u0022\u003EStringBuilder\u003C/a\u003E. The first type parameter indicates the\n arguments of the format operation and the last the overall return type. \nBuilderFormat\u003C\u0027T, \u0027Result\u003E.Value \nValue \nBuilderFormat\u003C\u0027T, \u0027Result\u003E.CaptureTypes \nCaptureTypes \nBuilderFormat\u003C\u0027T, \u0027Result\u003E.Captures \nCaptures","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-builderformat-2.html#Value","title":"BuilderFormat\u003C\u0027T, \u0027Result\u003E.Value","content":"BuilderFormat\u003C\u0027T, \u0027Result\u003E.Value \nValue \nThe raw text of the format string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-builderformat-2.html#CaptureTypes","title":"BuilderFormat\u003C\u0027T, \u0027Result\u003E.CaptureTypes","content":"BuilderFormat\u003C\u0027T, \u0027Result\u003E.CaptureTypes \nCaptureTypes \nThe capture types associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-builderformat-2.html#Captures","title":"BuilderFormat\u003C\u0027T, \u0027Result\u003E.Captures","content":"BuilderFormat\u003C\u0027T, \u0027Result\u003E.Captures \nCaptures \nThe captures associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-builderformat-1.html","title":"BuilderFormat\u003C\u0027T\u003E","content":"BuilderFormat\u003C\u0027T\u003E \nRepresents a statically-analyzed format associated with writing to a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.text.stringbuilder\u0022\u003EStringBuilder\u003C/a\u003E. The type parameter indicates the\n arguments and return type of the format operation. \nBuilderFormat\u003C\u0027T\u003E.Value \nValue \nBuilderFormat\u003C\u0027T\u003E.CaptureTypes \nCaptureTypes \nBuilderFormat\u003C\u0027T\u003E.Captures \nCaptures","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-builderformat-1.html#Value","title":"BuilderFormat\u003C\u0027T\u003E.Value","content":"BuilderFormat\u003C\u0027T\u003E.Value \nValue \nThe raw text of the format string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-builderformat-1.html#CaptureTypes","title":"BuilderFormat\u003C\u0027T\u003E.CaptureTypes","content":"BuilderFormat\u003C\u0027T\u003E.CaptureTypes \nCaptureTypes \nThe capture types associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-builderformat-1.html#Captures","title":"BuilderFormat\u003C\u0027T\u003E.Captures","content":"BuilderFormat\u003C\u0027T\u003E.Captures \nCaptures \nThe captures associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-stringformat-2.html","title":"StringFormat\u003C\u0027T, \u0027Result\u003E","content":"StringFormat\u003C\u0027T, \u0027Result\u003E \n\u003Cpre\u003ERepresents a statically-analyzed format when formatting builds a string. The first type parameter indicates the\n arguments of the format operation and the last the overall return type.\u003C/pre\u003E \nStringFormat\u003C\u0027T, \u0027Result\u003E.Value \nValue \nStringFormat\u003C\u0027T, \u0027Result\u003E.CaptureTypes \nCaptureTypes \nStringFormat\u003C\u0027T, \u0027Result\u003E.Captures \nCaptures","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-stringformat-2.html#Value","title":"StringFormat\u003C\u0027T, \u0027Result\u003E.Value","content":"StringFormat\u003C\u0027T, \u0027Result\u003E.Value \nValue \nThe raw text of the format string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-stringformat-2.html#CaptureTypes","title":"StringFormat\u003C\u0027T, \u0027Result\u003E.CaptureTypes","content":"StringFormat\u003C\u0027T, \u0027Result\u003E.CaptureTypes \nCaptureTypes \nThe capture types associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-stringformat-2.html#Captures","title":"StringFormat\u003C\u0027T, \u0027Result\u003E.Captures","content":"StringFormat\u003C\u0027T, \u0027Result\u003E.Captures \nCaptures \nThe captures associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-stringformat-1.html","title":"StringFormat\u003C\u0027T\u003E","content":"StringFormat\u003C\u0027T\u003E \n\u003Cpre\u003ERepresents a statically-analyzed format when formatting builds a string. The type parameter indicates the\n arguments and return type of the format operation.\u003C/pre\u003E \nStringFormat\u003C\u0027T\u003E.Value \nValue \nStringFormat\u003C\u0027T\u003E.CaptureTypes \nCaptureTypes \nStringFormat\u003C\u0027T\u003E.Captures \nCaptures","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-stringformat-1.html#Value","title":"StringFormat\u003C\u0027T\u003E.Value","content":"StringFormat\u003C\u0027T\u003E.Value \nValue \nThe raw text of the format string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-stringformat-1.html#CaptureTypes","title":"StringFormat\u003C\u0027T\u003E.CaptureTypes","content":"StringFormat\u003C\u0027T\u003E.CaptureTypes \nCaptureTypes \nThe capture types associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-stringformat-1.html#Captures","title":"StringFormat\u003C\u0027T\u003E.Captures","content":"StringFormat\u003C\u0027T\u003E.Captures \nCaptures \nThe captures associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-textwriterformat-2.html","title":"TextWriterFormat\u003C\u0027T, \u0027Result\u003E","content":"TextWriterFormat\u003C\u0027T, \u0027Result\u003E \nRepresents a statically-analyzed format associated with writing to a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.io.textwriter\u0022\u003ETextWriter\u003C/a\u003E. The first type parameter indicates the\n arguments of the format operation and the last the overall return type. \nTextWriterFormat\u003C\u0027T, \u0027Result\u003E.Value \nValue \nTextWriterFormat\u003C\u0027T, \u0027Result\u003E.CaptureTypes \nCaptureTypes \nTextWriterFormat\u003C\u0027T, \u0027Result\u003E.Captures \nCaptures","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-textwriterformat-2.html#Value","title":"TextWriterFormat\u003C\u0027T, \u0027Result\u003E.Value","content":"TextWriterFormat\u003C\u0027T, \u0027Result\u003E.Value \nValue \nThe raw text of the format string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-textwriterformat-2.html#CaptureTypes","title":"TextWriterFormat\u003C\u0027T, \u0027Result\u003E.CaptureTypes","content":"TextWriterFormat\u003C\u0027T, \u0027Result\u003E.CaptureTypes \nCaptureTypes \nThe capture types associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-textwriterformat-2.html#Captures","title":"TextWriterFormat\u003C\u0027T, \u0027Result\u003E.Captures","content":"TextWriterFormat\u003C\u0027T, \u0027Result\u003E.Captures \nCaptures \nThe captures associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-textwriterformat-1.html","title":"TextWriterFormat\u003C\u0027T\u003E","content":"TextWriterFormat\u003C\u0027T\u003E \nRepresents a statically-analyzed format associated with writing to a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.io.textwriter\u0022\u003ETextWriter\u003C/a\u003E. The type parameter indicates the\n arguments and return type of the format operation. \nTextWriterFormat\u003C\u0027T\u003E.Value \nValue \nTextWriterFormat\u003C\u0027T\u003E.CaptureTypes \nCaptureTypes \nTextWriterFormat\u003C\u0027T\u003E.Captures \nCaptures","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-textwriterformat-1.html#Value","title":"TextWriterFormat\u003C\u0027T\u003E.Value","content":"TextWriterFormat\u003C\u0027T\u003E.Value \nValue \nThe raw text of the format string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-textwriterformat-1.html#CaptureTypes","title":"TextWriterFormat\u003C\u0027T\u003E.CaptureTypes","content":"TextWriterFormat\u003C\u0027T\u003E.CaptureTypes \nCaptureTypes \nThe capture types associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfmodule-textwriterformat-1.html#Captures","title":"TextWriterFormat\u003C\u0027T\u003E.Captures","content":"TextWriterFormat\u003C\u0027T\u003E.Captures \nCaptures \nThe captures associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html","title":"Result","content":"Result \nContains operations for working with values of type \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpresult-2.html\u0022\u003EResult\u003C/a\u003E. \nResult.map \nmap \nResult.mapError \nmapError \nResult.bind \nbind \nResult.isOk \nisOk \nResult.isError \nisError \nResult.defaultValue \ndefaultValue \nResult.defaultWith \ndefaultWith \nResult.count \ncount \nResult.fold \nfold \nResult.foldBack \nfoldBack \nResult.exists \nexists \nResult.forall \nforall \nResult.contains \ncontains \nResult.iter \niter \nResult.toArray \ntoArray \nResult.toList \ntoList \nResult.toOption \ntoOption \nResult.toValueOption \ntoValueOption","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#map","title":"Result.map","content":"Result.map \nmap \n\u003Ccode\u003Emap f inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with Error e -\u0026gt; Error e | Ok x -\u0026gt; Ok (f x)\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#mapError","title":"Result.mapError","content":"Result.mapError \nmapError \n\u003Ccode\u003Emap f inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with Error x -\u0026gt; Error (f x) | Ok v -\u0026gt; Ok v\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#bind","title":"Result.bind","content":"Result.bind \nbind \n\u003Ccode\u003Ebind f inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with Error e -\u0026gt; Error e | Ok x -\u0026gt; f x\u003C/code\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#isOk","title":"Result.isOk","content":"Result.isOk \nisOk \nReturns true if the result is Ok.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#isError","title":"Result.isError","content":"Result.isError \nisError \nReturns true if the result is Error.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#defaultValue","title":"Result.defaultValue","content":"Result.defaultValue \ndefaultValue \nGets the value of the result if the result is \u003Ccode\u003EOk\u003C/code\u003E, otherwise returns the specified default value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#defaultWith","title":"Result.defaultWith","content":"Result.defaultWith \ndefaultWith \nGets the value of the result if the result is \u003Ccode\u003EOk\u003C/code\u003E, otherwise evaluates \u003Cspan class=\u0022fsdocs-param-name\u0022\u003EdefThunk\u003C/span\u003E and returns the result. \n\u003Cspan class=\u0022fsdocs-param-name\u0022\u003EdefThunk\u003C/span\u003E is not evaluated unless \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Eresult\u003C/span\u003E is \u003Ccode\u003EError\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#count","title":"Result.count","content":"Result.count \ncount \n\u003Ccode\u003Ecount inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with Error _ -\u0026gt; 0 | Ok _ -\u0026gt; 1\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#fold","title":"Result.fold","content":"Result.fold \nfold \n\u003Ccode\u003Efold f s inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with Error _ -\u0026gt; s | Ok x -\u0026gt; f s x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#foldBack","title":"Result.foldBack","content":"Result.foldBack \nfoldBack \n\u003Ccode\u003EfoldBack f inp s\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with Error _ -\u0026gt; s | Ok x -\u0026gt; f x s\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#exists","title":"Result.exists","content":"Result.exists \nexists \n\u003Ccode\u003Eexists p inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with Error _ -\u0026gt; false | Ok x -\u0026gt; p x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#forall","title":"Result.forall","content":"Result.forall \nforall \n\u003Ccode\u003Eforall p inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with Error _ -\u0026gt; true | Ok x -\u0026gt; p x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#contains","title":"Result.contains","content":"Result.contains \ncontains \nEvaluates to true if \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Eresult\u003C/span\u003E is \u003Ccode\u003EOk\u003C/code\u003E and its value is equal to \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Evalue\u003C/span\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#iter","title":"Result.iter","content":"Result.iter \niter \n\u003Ccode\u003Eiter f inp\u003C/code\u003E executes \u003Ccode\u003Ematch inp with Error _ -\u0026gt; () | Ok x -\u0026gt; f x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#toArray","title":"Result.toArray","content":"Result.toArray \ntoArray \nConvert the result to an array of length 0 or 1.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#toList","title":"Result.toList","content":"Result.toList \ntoList \nConvert the result to a list of length 0 or 1.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#toOption","title":"Result.toOption","content":"Result.toOption \ntoOption \nConvert the result to an Option value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-resultmodule.html#toValueOption","title":"Result.toValueOption","content":"Result.toValueOption \ntoValueOption \nConvert the result to an Option value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html","title":"String","content":"String \nFunctional programming operators for string processing. Further string operations\n are available via the member functions on strings and other functionality in\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.string\u0022\u003ESystem.String\u003C/a\u003E\n and \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.text.regularexpressions\u0022\u003ESystem.Text.RegularExpressions\u003C/a\u003E types.\n \nString.collect \ncollect \nString.concat \nconcat \nString.exists \nexists \nString.filter \nfilter \nString.forall \nforall \nString.init \ninit \nString.iter \niter \nString.iteri \niteri \nString.length \nlength \nString.map \nmap \nString.mapi \nmapi \nString.replicate \nreplicate","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#collect","title":"String.collect","content":"String.collect \ncollect \nBuilds a new string whose characters are the results of applying the function \u003Ccode\u003Emapping\u003C/code\u003E\n to each of the characters of the input string and concatenating the resulting\n strings.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#concat","title":"String.concat","content":"String.concat \nconcat \nReturns a new string made by concatenating the given strings\n with separator \u003Ccode\u003Esep\u003C/code\u003E, that is \u003Ccode\u003Ea1 \u002B sep \u002B ... \u002B sep \u002B aN\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#exists","title":"String.exists","content":"String.exists \nexists \nTests if any character of the string satisfies the given predicate.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#filter","title":"String.filter","content":"String.filter \nfilter \nBuilds a new string containing only the characters of the input string\n for which the given predicate returns \u0022true\u0022. \nReturns an empty string if the input string is null","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#forall","title":"String.forall","content":"String.forall \nforall \nTests if all characters in the string satisfy the given predicate.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#init","title":"String.init","content":"String.init \ninit \nBuilds a new string whose characters are the results of applying the function \u003Ccode\u003Emapping\u003C/code\u003E\n to each index from \u003Ccode\u003E0\u003C/code\u003E to \u003Ccode\u003Ecount-1\u003C/code\u003E and concatenating the resulting\n strings.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#iter","title":"String.iter","content":"String.iter \niter \nApplies the function \u003Ccode\u003Eaction\u003C/code\u003E to each character in the string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#iteri","title":"String.iteri","content":"String.iteri \niteri \nApplies the function \u003Ccode\u003Eaction\u003C/code\u003E to the index of each character in the string and the\n character itself.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#length","title":"String.length","content":"String.length \nlength \nReturns the length of the string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#map","title":"String.map","content":"String.map \nmap \nBuilds a new string whose characters are the results of applying the function \u003Ccode\u003Emapping\u003C/code\u003E\n to each of the characters of the input string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#mapi","title":"String.mapi","content":"String.mapi \nmapi \nBuilds a new string whose characters are the results of applying the function \u003Ccode\u003Emapping\u003C/code\u003E\n to each character and index of the input string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-stringmodule.html#replicate","title":"String.replicate","content":"String.replicate \nreplicate \nReturns a string by concatenating \u003Ccode\u003Ecount\u003C/code\u003E instances of \u003Ccode\u003Estr\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html","title":"ValueOption","content":"ValueOption \nContains operations for working with value options. \nValueOption.isSome \nisSome \nValueOption.isNone \nisNone \nValueOption.defaultValue \ndefaultValue \nValueOption.defaultWith \ndefaultWith \nValueOption.orElse \norElse \nValueOption.orElseWith \norElseWith \nValueOption.get \nget \nValueOption.count \ncount \nValueOption.fold \nfold \nValueOption.foldBack \nfoldBack \nValueOption.exists \nexists \nValueOption.forall \nforall \nValueOption.contains \ncontains \nValueOption.iter \niter \nValueOption.map \nmap \nValueOption.map2 \nmap2 \nValueOption.map3 \nmap3 \nValueOption.bind \nbind \nValueOption.flatten \nflatten \nValueOption.filter \nfilter \nValueOption.toArray \ntoArray \nValueOption.toList \ntoList \nValueOption.toNullable \ntoNullable \nValueOption.ofNullable \nofNullable \nValueOption.ofObj \nofObj \nValueOption.toObj \ntoObj \nValueOption.ofOption \nofOption \nValueOption.toOption \ntoOption","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#isSome","title":"ValueOption.isSome","content":"ValueOption.isSome \nisSome \nReturns true if the value option is not ValueNone.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#isNone","title":"ValueOption.isNone","content":"ValueOption.isNone \nisNone \nReturns true if the value option is ValueNone.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#defaultValue","title":"ValueOption.defaultValue","content":"ValueOption.defaultValue \ndefaultValue \nGets the value of the value option if the option is \u003Ccode\u003EValueSome\u003C/code\u003E, otherwise returns the specified default value. \nIdentical to the built-in \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/defaultarg\u0022\u003EdefaultArg\u003C/a\u003E operator, except with the arguments swapped.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#defaultWith","title":"ValueOption.defaultWith","content":"ValueOption.defaultWith \ndefaultWith \nGets the value of the voption if the voption is \u003Ccode\u003EValueSome\u003C/code\u003E, otherwise evaluates \u003Cspan class=\u0022fsdocs-param-name\u0022\u003EdefThunk\u003C/span\u003E and returns the result. \n\u003Cspan class=\u0022fsdocs-param-name\u0022\u003EdefThunk\u003C/span\u003E is not evaluated unless \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Evoption\u003C/span\u003E is \u003Ccode\u003EValueNone\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#orElse","title":"ValueOption.orElse","content":"ValueOption.orElse \norElse \nReturns \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Evoption\u003C/span\u003E if it is \u003Ccode\u003ESome\u003C/code\u003E, otherwise returns \u003Cspan class=\u0022fsdocs-param-name\u0022\u003EifNone\u003C/span\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#orElseWith","title":"ValueOption.orElseWith","content":"ValueOption.orElseWith \norElseWith \nReturns \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Evoption\u003C/span\u003E if it is \u003Ccode\u003ESome\u003C/code\u003E, otherwise evaluates \u003Cspan class=\u0022fsdocs-param-name\u0022\u003EifNoneThunk\u003C/span\u003E and returns the result. \n\u003Cspan class=\u0022fsdocs-param-name\u0022\u003EifNoneThunk\u003C/span\u003E is not evaluated unless \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Evoption\u003C/span\u003E is \u003Ccode\u003EValueNone\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#get","title":"ValueOption.get","content":"ValueOption.get \nget \nGets the value associated with the option.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#count","title":"ValueOption.count","content":"ValueOption.count \ncount \n\u003Ccode\u003Ecount inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with ValueNone -\u0026gt; 0 | ValueSome _ -\u0026gt; 1\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#fold","title":"ValueOption.fold","content":"ValueOption.fold \nfold \n\u003Ccode\u003Efold f s inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with ValueNone -\u0026gt; s | ValueSome x -\u0026gt; f s x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#foldBack","title":"ValueOption.foldBack","content":"ValueOption.foldBack \nfoldBack \n\u003Ccode\u003Efold f inp s\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with ValueNone -\u0026gt; s | ValueSome x -\u0026gt; f x s\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#exists","title":"ValueOption.exists","content":"ValueOption.exists \nexists \n\u003Ccode\u003Eexists p inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with ValueNone -\u0026gt; false | ValueSome x -\u0026gt; p x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#forall","title":"ValueOption.forall","content":"ValueOption.forall \nforall \n\u003Ccode\u003Eforall p inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with ValueNone -\u0026gt; true | ValueSome x -\u0026gt; p x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#contains","title":"ValueOption.contains","content":"ValueOption.contains \ncontains \nEvaluates to true if \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Evoption\u003C/span\u003E is \u003Ccode\u003EValueSome\u003C/code\u003E and its value is equal to \u003Cspan class=\u0022fsdocs-param-name\u0022\u003Evalue\u003C/span\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#iter","title":"ValueOption.iter","content":"ValueOption.iter \niter \n\u003Ccode\u003Eiter f inp\u003C/code\u003E executes \u003Ccode\u003Ematch inp with ValueNone -\u0026gt; () | ValueSome x -\u0026gt; f x\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#map","title":"ValueOption.map","content":"ValueOption.map \nmap \n\u003Ccode\u003Emap f inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with ValueNone -\u0026gt; ValueNone | ValueSome x -\u0026gt; ValueSome (f x)\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#map2","title":"ValueOption.map2","content":"ValueOption.map2 \nmap2 \n\u003Ccode\u003Emap f voption1 voption2\u003C/code\u003E evaluates to \u003Ccode\u003Ematch voption1, voption2 with ValueSome x, ValueSome y -\u0026gt; ValueSome (f x y) | _ -\u0026gt; ValueNone\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#map3","title":"ValueOption.map3","content":"ValueOption.map3 \nmap3 \n\u003Ccode\u003Emap f voption1 voption2 voption3\u003C/code\u003E evaluates to \u003Ccode\u003Ematch voption1, voption2, voption3 with ValueSome x, ValueSome y, ValueSome z -\u0026gt; ValueSome (f x y z) | _ -\u0026gt; ValueNone\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#bind","title":"ValueOption.bind","content":"ValueOption.bind \nbind \n\u003Ccode\u003Ebind f inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with ValueNone -\u0026gt; ValueNone | ValueSome x -\u0026gt; f x\u003C/code\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#flatten","title":"ValueOption.flatten","content":"ValueOption.flatten \nflatten \n\u003Ccode\u003Eflatten inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with ValueNone -\u0026gt; ValueNone | ValueSome x -\u0026gt; x\u003C/code\u003E \n\u003Ccode\u003Eflatten\u003C/code\u003E is equivalent to \u003Ccode\u003Ebind id\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#filter","title":"ValueOption.filter","content":"ValueOption.filter \nfilter \n\u003Ccode\u003Efilter f inp\u003C/code\u003E evaluates to \u003Ccode\u003Ematch inp with ValueNone -\u0026gt; ValueNone | ValueSome x -\u0026gt; if f x then ValueSome x else ValueNone\u003C/code\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#toArray","title":"ValueOption.toArray","content":"ValueOption.toArray \ntoArray \nConvert the value option to an array of length 0 or 1.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#toList","title":"ValueOption.toList","content":"ValueOption.toList \ntoList \nConvert the value option to a list of length 0 or 1.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#toNullable","title":"ValueOption.toNullable","content":"ValueOption.toNullable \ntoNullable \nConvert the value option to a Nullable value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#ofNullable","title":"ValueOption.ofNullable","content":"ValueOption.ofNullable \nofNullable \nConvert a Nullable value to a value option.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#ofObj","title":"ValueOption.ofObj","content":"ValueOption.ofObj \nofObj \nConvert a potentially null value to a value option.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#toObj","title":"ValueOption.toObj","content":"ValueOption.toObj \ntoObj \nConvert an option to a potentially null value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#ofOption","title":"ValueOption.ofOption","content":"ValueOption.ofOption \nofOption \nConvert an option to a value option.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-valueoption.html#toOption","title":"ValueOption.toOption","content":"ValueOption.toOption \ntoOption \nConvert a value option to an option.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-abstractclassattribute.html","title":"AbstractClassAttribute","content":"AbstractClassAttribute \nAdding this attribute to class definition makes it abstract, which means it need not\n implement all its methods. Instances of abstract classes may not be constructed directly. \nAbstractClassAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-abstractclassattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"AbstractClassAttribute.\u0060\u0060.ctor\u0060\u0060","content":"AbstractClassAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-allownullliteralattribute.html","title":"AllowNullLiteralAttribute","content":"AllowNullLiteralAttribute \nAdding this attribute to a type lets the \u0027null\u0027 literal be used for the type \n within F# code. This attribute may only be added to F#-defined class or \n interface types. \nAllowNullLiteralAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAllowNullLiteralAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAllowNullLiteralAttribute.Value \nValue","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-allownullliteralattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"AllowNullLiteralAttribute.\u0060\u0060.ctor\u0060\u0060","content":"AllowNullLiteralAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute with the specified value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-allownullliteralattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"AllowNullLiteralAttribute.\u0060\u0060.ctor\u0060\u0060","content":"AllowNullLiteralAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-allownullliteralattribute.html#Value","title":"AllowNullLiteralAttribute.Value","content":"AllowNullLiteralAttribute.Value \nValue \nThe value of the attribute, indicating whether the type allows the null literal or not","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-autoopenattribute.html","title":"AutoOpenAttribute","content":"AutoOpenAttribute \nIndicates a construct is automatically opened when brought into scope through\n an assembly reference or then opening of the containing namespace or module. \nWhen applied to an assembly, this attribute must be given a string\n argument, and this indicates a valid module or namespace in that assembly. Source\n code files compiled with a reference to this assembly are processed in an environment\n where the given path is automatically opened.\n\n When applied to a type or module within an assembly, then the attribute must not be given any arguments, and\n the type or module is implicitly opened when its enclosing namespace or module is opened.\n \nAutoOpenAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAutoOpenAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAutoOpenAttribute.Path \nPath","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-autoopenattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"AutoOpenAttribute.\u0060\u0060.ctor\u0060\u0060","content":"AutoOpenAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an attribute used to mark a namespace or module path to be \u0027automatically opened\u0027 when an assembly is referenced","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-autoopenattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"AutoOpenAttribute.\u0060\u0060.ctor\u0060\u0060","content":"AutoOpenAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an attribute used to mark a module as \u0027automatically opened\u0027 when the enclosing namespace is opened","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-autoopenattribute.html#Path","title":"AutoOpenAttribute.Path","content":"AutoOpenAttribute.Path \nPath \n\u003Cpre\u003EIndicates the namespace or module to be automatically opened when an assembly is referenced\n or an enclosing module opened.\u003C/pre\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-autoserializableattribute.html","title":"AutoSerializableAttribute","content":"AutoSerializableAttribute \nAdding this attribute to a type with value \u0027false\u0027 disables the behaviour where F# makes the\n type Serializable by default. \nAutoSerializableAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAutoSerializableAttribute.Value \nValue","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-autoserializableattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"AutoSerializableAttribute.\u0060\u0060.ctor\u0060\u0060","content":"AutoSerializableAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-autoserializableattribute.html#Value","title":"AutoSerializableAttribute.Value","content":"AutoSerializableAttribute.Value \nValue \nThe value of the attribute, indicating whether the type is automatically marked serializable or not","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-clieventattribute.html","title":"CLIEventAttribute","content":"CLIEventAttribute \nAdding this attribute to a property with event type causes it to be compiled with as a CLI\n metadata event, through a syntactic translation to a pair of \u0027add_EventName\u0027 and \n \u0027remove_EventName\u0027 methods. \nCLIEventAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-clieventattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CLIEventAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CLIEventAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-climutableattribute.html","title":"CLIMutableAttribute","content":"CLIMutableAttribute \nAdding this attribute to a record type causes it to be compiled to a CLI representation\n with a default constructor with property getters and setters. \nCLIMutableAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-climutableattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CLIMutableAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CLIMutableAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-2.html","title":"Choice\u003C\u0027T1, \u0027T2\u003E","content":"Choice\u003C\u0027T1, \u0027T2\u003E \nHelper types for active patterns with 2 choices. \nChoice\u003C\u0027T1, \u0027T2\u003E.IsChoice1Of2 \nIsChoice1Of2 \nChoice\u003C\u0027T1, \u0027T2\u003E.IsChoice2Of2 \nIsChoice2Of2 \nChoice\u003C\u0027T1, \u0027T2\u003E.Choice1Of2 \nChoice1Of2 \nChoice\u003C\u0027T1, \u0027T2\u003E.Choice2Of2 \nChoice2Of2","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-2.html#IsChoice1Of2","title":"Choice\u003C\u0027T1, \u0027T2\u003E.IsChoice1Of2","content":"Choice\u003C\u0027T1, \u0027T2\u003E.IsChoice1Of2 \nIsChoice1Of2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-2.html#IsChoice2Of2","title":"Choice\u003C\u0027T1, \u0027T2\u003E.IsChoice2Of2","content":"Choice\u003C\u0027T1, \u0027T2\u003E.IsChoice2Of2 \nIsChoice2Of2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-2.html#Choice1Of2","title":"Choice\u003C\u0027T1, \u0027T2\u003E.Choice1Of2","content":"Choice\u003C\u0027T1, \u0027T2\u003E.Choice1Of2 \nChoice1Of2 \nChoice 1 of 2 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-2.html#Choice2Of2","title":"Choice\u003C\u0027T1, \u0027T2\u003E.Choice2Of2","content":"Choice\u003C\u0027T1, \u0027T2\u003E.Choice2Of2 \nChoice2Of2 \nChoice 2 of 2 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-3.html","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E \nHelper types for active patterns with 3 choices. \nChoice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.IsChoice2Of3 \nIsChoice2Of3 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.IsChoice1Of3 \nIsChoice1Of3 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.IsChoice3Of3 \nIsChoice3Of3 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Choice1Of3 \nChoice1Of3 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Choice2Of3 \nChoice2Of3 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Choice3Of3 \nChoice3Of3","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-3.html#IsChoice2Of3","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.IsChoice2Of3","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.IsChoice2Of3 \nIsChoice2Of3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-3.html#IsChoice1Of3","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.IsChoice1Of3","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.IsChoice1Of3 \nIsChoice1Of3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-3.html#IsChoice3Of3","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.IsChoice3Of3","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.IsChoice3Of3 \nIsChoice3Of3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-3.html#Choice1Of3","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Choice1Of3","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Choice1Of3 \nChoice1Of3 \nChoice 1 of 3 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-3.html#Choice2Of3","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Choice2Of3","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Choice2Of3 \nChoice2Of3 \nChoice 2 of 3 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-3.html#Choice3Of3","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Choice3Of3","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Choice3Of3 \nChoice3Of3 \nChoice 3 of 3 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-4.html","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E \nHelper types for active patterns with 4 choices. \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice4Of4 \nIsChoice4Of4 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice2Of4 \nIsChoice2Of4 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice1Of4 \nIsChoice1Of4 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice3Of4 \nIsChoice3Of4 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice1Of4 \nChoice1Of4 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice2Of4 \nChoice2Of4 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice3Of4 \nChoice3Of4 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice4Of4 \nChoice4Of4","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-4.html#IsChoice4Of4","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice4Of4","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice4Of4 \nIsChoice4Of4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-4.html#IsChoice2Of4","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice2Of4","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice2Of4 \nIsChoice2Of4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-4.html#IsChoice1Of4","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice1Of4","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice1Of4 \nIsChoice1Of4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-4.html#IsChoice3Of4","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice3Of4","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.IsChoice3Of4 \nIsChoice3Of4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-4.html#Choice1Of4","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice1Of4","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice1Of4 \nChoice1Of4 \nChoice 1 of 4 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-4.html#Choice2Of4","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice2Of4","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice2Of4 \nChoice2Of4 \nChoice 2 of 4 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-4.html#Choice3Of4","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice3Of4","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice3Of4 \nChoice3Of4 \nChoice 3 of 4 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-4.html#Choice4Of4","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice4Of4","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Choice4Of4 \nChoice4Of4 \nChoice 4 of 4 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E \nHelper types for active patterns with 5 choices. \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice3Of5 \nIsChoice3Of5 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice2Of5 \nIsChoice2Of5 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice4Of5 \nIsChoice4Of5 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice1Of5 \nIsChoice1Of5 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice5Of5 \nIsChoice5Of5 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice1Of5 \nChoice1Of5 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice2Of5 \nChoice2Of5 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice3Of5 \nChoice3Of5 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice4Of5 \nChoice4Of5 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice5Of5 \nChoice5Of5","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html#IsChoice3Of5","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice3Of5","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice3Of5 \nIsChoice3Of5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html#IsChoice2Of5","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice2Of5","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice2Of5 \nIsChoice2Of5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html#IsChoice4Of5","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice4Of5","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice4Of5 \nIsChoice4Of5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html#IsChoice1Of5","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice1Of5","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice1Of5 \nIsChoice1Of5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html#IsChoice5Of5","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice5Of5","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.IsChoice5Of5 \nIsChoice5Of5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html#Choice1Of5","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice1Of5","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice1Of5 \nChoice1Of5 \nChoice 1 of 5 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html#Choice2Of5","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice2Of5","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice2Of5 \nChoice2Of5 \nChoice 2 of 5 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html#Choice3Of5","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice3Of5","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice3Of5 \nChoice3Of5 \nChoice 3 of 5 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html#Choice4Of5","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice4Of5","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice4Of5 \nChoice4Of5 \nChoice 4 of 5 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-5.html#Choice5Of5","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice5Of5","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Choice5Of5 \nChoice5Of5 \nChoice 5 of 5 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E \nHelper types for active patterns with 6 choices. \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice5Of6 \nIsChoice5Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice6Of6 \nIsChoice6Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice3Of6 \nIsChoice3Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice1Of6 \nIsChoice1Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice2Of6 \nIsChoice2Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice4Of6 \nIsChoice4Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice1Of6 \nChoice1Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice2Of6 \nChoice2Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice3Of6 \nChoice3Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice4Of6 \nChoice4Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice5Of6 \nChoice5Of6 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice6Of6 \nChoice6Of6","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#IsChoice5Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice5Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice5Of6 \nIsChoice5Of6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#IsChoice6Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice6Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice6Of6 \nIsChoice6Of6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#IsChoice3Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice3Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice3Of6 \nIsChoice3Of6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#IsChoice1Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice1Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice1Of6 \nIsChoice1Of6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#IsChoice2Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice2Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice2Of6 \nIsChoice2Of6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#IsChoice4Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice4Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.IsChoice4Of6 \nIsChoice4Of6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#Choice1Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice1Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice1Of6 \nChoice1Of6 \nChoice 1 of 6 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#Choice2Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice2Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice2Of6 \nChoice2Of6 \nChoice 2 of 6 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#Choice3Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice3Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice3Of6 \nChoice3Of6 \nChoice 3 of 6 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#Choice4Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice4Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice4Of6 \nChoice4Of6 \nChoice 4 of 6 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#Choice5Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice5Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice5Of6 \nChoice5Of6 \nChoice 5 of 6 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-6.html#Choice6Of6","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice6Of6","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Choice6Of6 \nChoice6Of6 \nChoice 6 of 6 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E \nHelper types for active patterns with 7 choices. \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice7Of7 \nIsChoice7Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice4Of7 \nIsChoice4Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice3Of7 \nIsChoice3Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice6Of7 \nIsChoice6Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice1Of7 \nIsChoice1Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice5Of7 \nIsChoice5Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice2Of7 \nIsChoice2Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice1Of7 \nChoice1Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice2Of7 \nChoice2Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice3Of7 \nChoice3Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice4Of7 \nChoice4Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice5Of7 \nChoice5Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice6Of7 \nChoice6Of7 \nChoice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice7Of7 \nChoice7Of7","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#IsChoice7Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice7Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice7Of7 \nIsChoice7Of7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#IsChoice4Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice4Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice4Of7 \nIsChoice4Of7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#IsChoice3Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice3Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice3Of7 \nIsChoice3Of7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#IsChoice6Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice6Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice6Of7 \nIsChoice6Of7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#IsChoice1Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice1Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice1Of7 \nIsChoice1Of7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#IsChoice5Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice5Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice5Of7 \nIsChoice5Of7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#IsChoice2Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice2Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.IsChoice2Of7 \nIsChoice2Of7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#Choice1Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice1Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice1Of7 \nChoice1Of7 \nChoice 1 of 7 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#Choice2Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice2Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice2Of7 \nChoice2Of7 \nChoice 2 of 7 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#Choice3Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice3Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice3Of7 \nChoice3Of7 \nChoice 3 of 7 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#Choice4Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice4Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice4Of7 \nChoice4Of7 \nChoice 4 of 7 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#Choice5Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice5Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice5Of7 \nChoice5Of7 \nChoice 5 of 7 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#Choice6Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice6Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice6Of7 \nChoice6Of7 \nChoice 6 of 7 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpchoice-7.html#Choice7Of7","title":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice7Of7","content":"Choice\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Choice7Of7 \nChoice7Of7 \nChoice 7 of 7 choices","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-classattribute.html","title":"ClassAttribute","content":"ClassAttribute \nAdding this attribute to a type causes it to be represented using a CLI class. \nClassAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-classattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"ClassAttribute.\u0060\u0060.ctor\u0060\u0060","content":"ClassAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-comparisonconditionalonattribute.html","title":"ComparisonConditionalOnAttribute","content":"ComparisonConditionalOnAttribute \nThis attribute is used to indicate a generic container type satisfies the F# \u0027comparison\u0027 \n constraint only if a generic argument also satisfies this constraint. \nFor example, adding \n this attribute to parameter \u0027T on a type definition C\u003C\u0027T\u003E means that a type C\u003CX\u003E only supports \n comparison if the type X also supports comparison and all other conditions for C\u003CX\u003E to support \n comparison are also met. The type C\u003C\u0027T\u003E can still be used with other type arguments, but a type such \n as C\u003C(int -\u003E int)\u003E will not support comparison because the type (int -\u003E int) is an F# function type \n and does not support comparison.\n\n This attribute will be ignored if it is used on the generic parameters of functions or methods.\n \nComparisonConditionalOnAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-comparisonconditionalonattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"ComparisonConditionalOnAttribute.\u0060\u0060.ctor\u0060\u0060","content":"ComparisonConditionalOnAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationargumentcountsattribute.html","title":"CompilationArgumentCountsAttribute","content":"CompilationArgumentCountsAttribute \nThis attribute is generated automatically by the F# compiler to tag functions and members \n that accept a partial application of some of their arguments and return a residual function.\n \nCompilationArgumentCountsAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCompilationArgumentCountsAttribute.Counts \nCounts","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationargumentcountsattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CompilationArgumentCountsAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CompilationArgumentCountsAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationargumentcountsattribute.html#Counts","title":"CompilationArgumentCountsAttribute.Counts","content":"CompilationArgumentCountsAttribute.Counts \nCounts \nIndicates the number of arguments in each argument group ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationmappingattribute.html","title":"CompilationMappingAttribute","content":"CompilationMappingAttribute \nThis attribute is inserted automatically by the F# compiler to tag types \n and methods in the generated CLI code with flags indicating the correspondence \n with original source constructs. \nThis attribute is used by the functions in the \n FSharp.Reflection namespace to reverse-map compiled constructs to \n their original forms. It is not intended for use from user code. \nCompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCompilationMappingAttribute.SourceConstructFlags \nSourceConstructFlags \nCompilationMappingAttribute.ResourceName \nResourceName \nCompilationMappingAttribute.VariantNumber \nVariantNumber \nCompilationMappingAttribute.SequenceNumber \nSequenceNumber \nCompilationMappingAttribute.TypeDefinitions \nTypeDefinitions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationmappingattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationmappingattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationmappingattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationmappingattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CompilationMappingAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationmappingattribute.html#SourceConstructFlags","title":"CompilationMappingAttribute.SourceConstructFlags","content":"CompilationMappingAttribute.SourceConstructFlags \nSourceConstructFlags \nIndicates the relationship between the compiled entity and F# source code","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationmappingattribute.html#ResourceName","title":"CompilationMappingAttribute.ResourceName","content":"CompilationMappingAttribute.ResourceName \nResourceName \nIndicates the resource the source construct relates to","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationmappingattribute.html#VariantNumber","title":"CompilationMappingAttribute.VariantNumber","content":"CompilationMappingAttribute.VariantNumber \nVariantNumber \nIndicates the variant number of the entity, if any, in a linear sequence of elements with F# source code","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationmappingattribute.html#SequenceNumber","title":"CompilationMappingAttribute.SequenceNumber","content":"CompilationMappingAttribute.SequenceNumber \nSequenceNumber \nIndicates the sequence number of the entity, if any, in a linear sequence of elements with F# source code","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationmappingattribute.html#TypeDefinitions","title":"CompilationMappingAttribute.TypeDefinitions","content":"CompilationMappingAttribute.TypeDefinitions \nTypeDefinitions \nIndicates the type definitions needed to resolve the source construct","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationrepresentationattribute.html","title":"CompilationRepresentationAttribute","content":"CompilationRepresentationAttribute \nThis attribute is used to adjust the runtime representation for a type. \n For example, it may be used to note that the \u003Ccode\u003Enull\u003C/code\u003E representation\n may be used for a type. This affects how some constructs are compiled.\n \nCompilationRepresentationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCompilationRepresentationAttribute.Flags \nFlags","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationrepresentationattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CompilationRepresentationAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CompilationRepresentationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationrepresentationattribute.html#Flags","title":"CompilationRepresentationAttribute.Flags","content":"CompilationRepresentationAttribute.Flags \nFlags \nIndicates one or more adjustments to the compiled representation of an F# type or member","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationrepresentationflags.html","title":"CompilationRepresentationFlags","content":"CompilationRepresentationFlags \nIndicates one or more adjustments to the compiled representation of an F# type or member. \nCompilationRepresentationFlags.None \nNone \nCompilationRepresentationFlags.Static \nStatic \nCompilationRepresentationFlags.Instance \nInstance \nCompilationRepresentationFlags.ModuleSuffix \nModuleSuffix \nCompilationRepresentationFlags.UseNullAsTrueValue \nUseNullAsTrueValue \nCompilationRepresentationFlags.Event \nEvent","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationrepresentationflags.html#None","title":"CompilationRepresentationFlags.None","content":"CompilationRepresentationFlags.None \nNone \nNo special compilation representation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationrepresentationflags.html#Static","title":"CompilationRepresentationFlags.Static","content":"CompilationRepresentationFlags.Static \nStatic \nCompile an instance member as \u0027static\u0027 .","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationrepresentationflags.html#Instance","title":"CompilationRepresentationFlags.Instance","content":"CompilationRepresentationFlags.Instance \nInstance \nCompile a member as \u0027instance\u0027 even if \u003Ccode\u003Enull\u003C/code\u003E is used as a representation for this type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationrepresentationflags.html#ModuleSuffix","title":"CompilationRepresentationFlags.ModuleSuffix","content":"CompilationRepresentationFlags.ModuleSuffix \nModuleSuffix \nappend \u0027Module\u0027 to the end of a module whose name clashes with a type name in the same namespace.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationrepresentationflags.html#UseNullAsTrueValue","title":"CompilationRepresentationFlags.UseNullAsTrueValue","content":"CompilationRepresentationFlags.UseNullAsTrueValue \nUseNullAsTrueValue \nPermit the use of \u003Ccode\u003Enull\u003C/code\u003E as a representation for nullary discriminators in a discriminated union.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationrepresentationflags.html#Event","title":"CompilationRepresentationFlags.Event","content":"CompilationRepresentationFlags.Event \nEvent \nCompile a property as a CLI event.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationsourcenameattribute.html","title":"CompilationSourceNameAttribute","content":"CompilationSourceNameAttribute \nThis attribute is inserted automatically by the F# compiler to tag \n methods which are given the \u0027CompiledName\u0027 attribute. \nThis attribute is used by the functions in the \n FSharp.Reflection namespace to reverse-map compiled constructs to \n their original forms. It is not intended for use from user code.\n \nCompilationSourceNameAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCompilationSourceNameAttribute.SourceName \nSourceName","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationsourcenameattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CompilationSourceNameAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CompilationSourceNameAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilationsourcenameattribute.html#SourceName","title":"CompilationSourceNameAttribute.SourceName","content":"CompilationSourceNameAttribute.SourceName \nSourceName \nIndicates the name of the entity in F# source code","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilednameattribute.html","title":"CompiledNameAttribute","content":"CompiledNameAttribute \nAdding this attribute to a value or function definition in an F# module changes the name used\n for the value in compiled CLI code. \nCompiledNameAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCompiledNameAttribute.CompiledName \nCompiledName","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilednameattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CompiledNameAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CompiledNameAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilednameattribute.html#CompiledName","title":"CompiledNameAttribute.CompiledName","content":"CompiledNameAttribute.CompiledName \nCompiledName \nThe name of the value as it appears in compiled code","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilermessageattribute.html","title":"CompilerMessageAttribute","content":"CompilerMessageAttribute \nIndicates that a message should be emitted when F# source code uses this construct. \nCompilerMessageAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCompilerMessageAttribute.Message \nMessage \nCompilerMessageAttribute.IsHidden \nIsHidden \nCompilerMessageAttribute.MessageNumber \nMessageNumber \nCompilerMessageAttribute.IsError \nIsError","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilermessageattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CompilerMessageAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CompilerMessageAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilermessageattribute.html#Message","title":"CompilerMessageAttribute.Message","content":"CompilerMessageAttribute.Message \nMessage \nIndicates the warning message to be emitted when F# source code uses this construct","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilermessageattribute.html#IsHidden","title":"CompilerMessageAttribute.IsHidden","content":"CompilerMessageAttribute.IsHidden \nIsHidden \nIndicates if the construct should always be hidden in an editing environment.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilermessageattribute.html#MessageNumber","title":"CompilerMessageAttribute.MessageNumber","content":"CompilerMessageAttribute.MessageNumber \nMessageNumber \nIndicates the number associated with the message.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilermessageattribute.html#IsError","title":"CompilerMessageAttribute.IsError","content":"CompilerMessageAttribute.IsError \nIsError \n\u003Cpre\u003EIndicates if the message should indicate a compiler error. Error numbers less than\n 10000 are considered reserved for use by the F# compiler and libraries.\u003C/pre\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customcomparisonattribute.html","title":"CustomComparisonAttribute","content":"CustomComparisonAttribute \nAdding this attribute to a type indicates it is a type with a user-defined implementation of comparison. \nCustomComparisonAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customcomparisonattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CustomComparisonAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CustomComparisonAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customequalityattribute.html","title":"CustomEqualityAttribute","content":"CustomEqualityAttribute \nAdding this attribute to a type indicates it is a type with a user-defined implementation of equality. \nCustomEqualityAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customequalityattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CustomEqualityAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CustomEqualityAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html","title":"CustomOperationAttribute","content":"CustomOperationAttribute \nIndicates that a member on a computation builder type is a custom query operator,\n and indicates the name of that operator. \nCustomOperationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCustomOperationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCustomOperationAttribute.Name \nName \nCustomOperationAttribute.AllowIntoPattern \nAllowIntoPattern \nCustomOperationAttribute.IsLikeGroupJoin \nIsLikeGroupJoin \nCustomOperationAttribute.IsLikeZip \nIsLikeZip \nCustomOperationAttribute.MaintainsVariableSpace \nMaintainsVariableSpace \nCustomOperationAttribute.JoinConditionWord \nJoinConditionWord \nCustomOperationAttribute.IsLikeJoin \nIsLikeJoin \nCustomOperationAttribute.MaintainsVariableSpaceUsingBind \nMaintainsVariableSpaceUsingBind","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CustomOperationAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CustomOperationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreate an instance of attribute with empty name","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"CustomOperationAttribute.\u0060\u0060.ctor\u0060\u0060","content":"CustomOperationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html#Name","title":"CustomOperationAttribute.Name","content":"CustomOperationAttribute.Name \nName \nGet the name of the custom operation when used in a query or other computation expression","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html#AllowIntoPattern","title":"CustomOperationAttribute.AllowIntoPattern","content":"CustomOperationAttribute.AllowIntoPattern \nAllowIntoPattern \nIndicates if the custom operation supports the use of \u0027into\u0027 immediately after the use of the operation in a query or other computation expression to consume the results of the operation","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html#IsLikeGroupJoin","title":"CustomOperationAttribute.IsLikeGroupJoin","content":"CustomOperationAttribute.IsLikeGroupJoin \nIsLikeGroupJoin \nIndicates 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","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html#IsLikeZip","title":"CustomOperationAttribute.IsLikeZip","content":"CustomOperationAttribute.IsLikeZip \nIsLikeZip \nIndicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html#MaintainsVariableSpace","title":"CustomOperationAttribute.MaintainsVariableSpace","content":"CustomOperationAttribute.MaintainsVariableSpace \nMaintainsVariableSpace \nIndicates if the custom operation maintains the variable space of the query of computation expression","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html#JoinConditionWord","title":"CustomOperationAttribute.JoinConditionWord","content":"CustomOperationAttribute.JoinConditionWord \nJoinConditionWord \nIndicates the name used for the \u0027on\u0027 part of the custom query operator for join-like operators","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html#IsLikeJoin","title":"CustomOperationAttribute.IsLikeJoin","content":"CustomOperationAttribute.IsLikeJoin \nIsLikeJoin \nIndicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-customoperationattribute.html#MaintainsVariableSpaceUsingBind","title":"CustomOperationAttribute.MaintainsVariableSpaceUsingBind","content":"CustomOperationAttribute.MaintainsVariableSpaceUsingBind \nMaintainsVariableSpaceUsingBind \nIndicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-defaultaugmentationattribute.html","title":"DefaultAugmentationAttribute","content":"DefaultAugmentationAttribute \nAdding this attribute to a discriminated union with value false\n turns off the generation of standard helper member tester, constructor \n and accessor members for the generated CLI class for that type. \nDefaultAugmentationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nDefaultAugmentationAttribute.Value \nValue","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-defaultaugmentationattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"DefaultAugmentationAttribute.\u0060\u0060.ctor\u0060\u0060","content":"DefaultAugmentationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-defaultaugmentationattribute.html#Value","title":"DefaultAugmentationAttribute.Value","content":"DefaultAugmentationAttribute.Value \nValue \nThe value of the attribute, indicating whether the type has a default augmentation or not","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-defaultvalueattribute.html","title":"DefaultValueAttribute","content":"DefaultValueAttribute \nAdding this attribute to a field declaration means that the field is \n not initialized. During type checking a constraint is asserted that the field type supports \u0027null\u0027. \n If the \u0027check\u0027 value is false then the constraint is not asserted. \n \nDefaultValueAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nDefaultValueAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nDefaultValueAttribute.Check \nCheck","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-defaultvalueattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"DefaultValueAttribute.\u0060\u0060.ctor\u0060\u0060","content":"DefaultValueAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-defaultvalueattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"DefaultValueAttribute.\u0060\u0060.ctor\u0060\u0060","content":"DefaultValueAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-defaultvalueattribute.html#Check","title":"DefaultValueAttribute.Check","content":"DefaultValueAttribute.Check \nCheck \nIndicates if a constraint is asserted that the field type supports \u0027null\u0027","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-entrypointattribute.html","title":"EntryPointAttribute","content":"EntryPointAttribute \nAdding this attribute to a function indicates it is the entrypoint for an application.\n If this attribute is not specified for an EXE then the initialization implicit in the\n module bindings in the last file in the compilation sequence are used as the entrypoint. \nEntryPointAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-entrypointattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"EntryPointAttribute.\u0060\u0060.ctor\u0060\u0060","content":"EntryPointAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-equalityconditionalonattribute.html","title":"EqualityConditionalOnAttribute","content":"EqualityConditionalOnAttribute \nThis attribute is used to indicate a generic container type satisfies the F# \u0027equality\u0027 \n constraint only if a generic argument also satisfies this constraint. \n For example, adding \n this attribute to parameter \u0027T on a type definition C\u003C\u0027T\u003E means that a type C\u003CX\u003E only supports \n equality if the type X also supports equality and all other conditions for C\u003CX\u003E to support \n equality are also met. The type C\u003C\u0027T\u003E can still be used with other type arguments, but a type such \n as C\u003C(int -\u003E int)\u003E will not support equality because the type (int -\u003E int) is an F# function type \n and does not support equality.\n \n This attribute will be ignored if it is used on the generic parameters of functions or methods.\n \nEqualityConditionalOnAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-equalityconditionalonattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"EqualityConditionalOnAttribute.\u0060\u0060.ctor\u0060\u0060","content":"EqualityConditionalOnAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-experimentalattribute.html","title":"ExperimentalAttribute","content":"ExperimentalAttribute \nThis attribute is used to tag values that are part of an experimental library\n feature. \nExperimentalAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nExperimentalAttribute.Message \nMessage","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-experimentalattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"ExperimentalAttribute.\u0060\u0060.ctor\u0060\u0060","content":"ExperimentalAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-experimentalattribute.html#Message","title":"ExperimentalAttribute.Message","content":"ExperimentalAttribute.Message \nMessage \nIndicates the warning message to be emitted when F# source code uses this construct","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E \nThe CLI type used to represent F# function values. This type is not\n typically used directly, though may be used from other CLI languages. \nFSharpFunc\u003C\u0027T, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nFSharpFunc\u003C\u0027T, \u0027U\u003E.Invoke \nInvoke \nFSharpFunc\u003C\u0027T, \u0027U\u003E.FromConverter \nFromConverter \nFSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast \nInvokeFast \nFSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast \nInvokeFast \nFSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast \nInvokeFast \nFSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast \nInvokeFast \nFSharpFunc\u003C\u0027T, \u0027U\u003E.ToConverter \nToConverter \nFSharpFunc\u003C\u0027T, \u0027U\u003E.op_Implicit \nop_Implicit \nFSharpFunc\u003C\u0027T, \u0027U\u003E.op_Implicit \nop_Implicit","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html#\u0060\u0060.ctor\u0060\u0060","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nConstruct an instance of an F# first class function value ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html#Invoke","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E.Invoke","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E.Invoke \nInvoke \nInvoke an F# first class function value with one argument","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html#FromConverter","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E.FromConverter","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E.FromConverter \nFromConverter \nConvert an value of type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.converter\u0022\u003EConverter\u003C/a\u003E to a F# first class function value ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html#InvokeFast","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast \nInvokeFast \nInvoke an F# first class function value with two curried arguments. In some cases this\n will result in a more efficient application than applying the arguments successively.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html#InvokeFast","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast \nInvokeFast \nInvoke an F# first class function value with three curried arguments. In some cases this\n will result in a more efficient application than applying the arguments successively.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html#InvokeFast","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast \nInvokeFast \nInvoke an F# first class function value with four curried arguments. In some cases this\n will result in a more efficient application than applying the arguments successively.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html#InvokeFast","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E.InvokeFast \nInvokeFast \nInvoke an F# first class function value with five curried arguments. In some cases this\n will result in a more efficient application than applying the arguments successively.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html#ToConverter","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E.ToConverter","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E.ToConverter \nToConverter \nConvert an F# first class function value to a value of type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.converter\u0022\u003EConverter\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html#op_Implicit","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E.op_Implicit","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E.op_Implicit \nop_Implicit \nConvert an value of type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.converter\u0022\u003EConverter\u003C/a\u003E to a F# first class function value ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpfunc-2.html#op_Implicit","title":"FSharpFunc\u003C\u0027T, \u0027U\u003E.op_Implicit","content":"FSharpFunc\u003C\u0027T, \u0027U\u003E.op_Implicit \nop_Implicit \nConvert an F# first class function value to a value of type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.converter\u0022\u003EConverter\u003C/a\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpinterfacedataversionattribute.html","title":"FSharpInterfaceDataVersionAttribute","content":"FSharpInterfaceDataVersionAttribute \nThis attribute is added to generated assemblies to indicate the \n version of the data schema used to encode additional F#\n specific information in the resource attached to compiled F# libraries. \nFSharpInterfaceDataVersionAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nFSharpInterfaceDataVersionAttribute.Release \nRelease \nFSharpInterfaceDataVersionAttribute.Minor \nMinor \nFSharpInterfaceDataVersionAttribute.Major \nMajor","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpinterfacedataversionattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"FSharpInterfaceDataVersionAttribute.\u0060\u0060.ctor\u0060\u0060","content":"FSharpInterfaceDataVersionAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpinterfacedataversionattribute.html#Release","title":"FSharpInterfaceDataVersionAttribute.Release","content":"FSharpInterfaceDataVersionAttribute.Release \nRelease \nThe release number of the F# version associated with the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpinterfacedataversionattribute.html#Minor","title":"FSharpInterfaceDataVersionAttribute.Minor","content":"FSharpInterfaceDataVersionAttribute.Minor \nMinor \nThe minor version number of the F# version associated with the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpinterfacedataversionattribute.html#Major","title":"FSharpInterfaceDataVersionAttribute.Major","content":"FSharpInterfaceDataVersionAttribute.Major \nMajor \nThe major version number of the F# version associated with the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharptypefunc.html","title":"FSharpTypeFunc","content":"FSharpTypeFunc \nThe CLI type used to represent F# first-class type function values. This type is for use\n by compiled F# code. \nFSharpTypeFunc.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nFSharpTypeFunc.Specialize \nSpecialize","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharptypefunc.html#\u0060\u0060.ctor\u0060\u0060","title":"FSharpTypeFunc.\u0060\u0060.ctor\u0060\u0060","content":"FSharpTypeFunc.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nConstruct an instance of an F# first class type function value ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharptypefunc.html#Specialize","title":"FSharpTypeFunc.Specialize","content":"FSharpTypeFunc.Specialize \nSpecialize \nSpecialize the type function at a given type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-format-4.html","title":"Format\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E","content":"Format\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E \nType of a formatting expression. \nFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Value \nValue \nFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.CaptureTypes \nCaptureTypes \nFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Captures \nCaptures","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-format-4.html#Value","title":"Format\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Value","content":"Format\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Value \nValue \nThe raw text of the format string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-format-4.html#CaptureTypes","title":"Format\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.CaptureTypes","content":"Format\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.CaptureTypes \nCaptureTypes \nThe capture types associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-format-4.html#Captures","title":"Format\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Captures","content":"Format\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Captures \nCaptures \nThe captures associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-format-5.html","title":"Format\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E","content":"Format\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E \nType of a formatting expression.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html","title":"FuncConvert","content":"FuncConvert \nHelper functions for converting F# first class function values to and from CLI representations\n of functions using delegates. \nFuncConvert.FromAction \nFromAction \nFuncConvert.FromAction \nFromAction \nFuncConvert.FromAction \nFromAction \nFuncConvert.FromAction \nFromAction \nFuncConvert.FromAction \nFromAction \nFuncConvert.FromAction \nFromAction \nFuncConvert.FromFunc \nFromFunc \nFuncConvert.FromFunc \nFromFunc \nFuncConvert.FromFunc \nFromFunc \nFuncConvert.FromFunc \nFromFunc \nFuncConvert.FromFunc \nFromFunc \nFuncConvert.FromFunc \nFromFunc \nFuncConvert.FuncFromTupled \nFuncFromTupled \nFuncConvert.FuncFromTupled \nFuncFromTupled \nFuncConvert.FuncFromTupled \nFuncFromTupled \nFuncConvert.FuncFromTupled \nFuncFromTupled \nFuncConvert.ToFSharpFunc \nToFSharpFunc \nFuncConvert.ToFSharpFunc \nToFSharpFunc","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromAction","title":"FuncConvert.FromAction","content":"FuncConvert.FromAction \nFromAction \nConvert the given Action delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromAction","title":"FuncConvert.FromAction","content":"FuncConvert.FromAction \nFromAction \nConvert the given Action delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromAction","title":"FuncConvert.FromAction","content":"FuncConvert.FromAction \nFromAction \nConvert the given Action delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromAction","title":"FuncConvert.FromAction","content":"FuncConvert.FromAction \nFromAction \nConvert the given Action delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromAction","title":"FuncConvert.FromAction","content":"FuncConvert.FromAction \nFromAction \nConvert the given Action delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromAction","title":"FuncConvert.FromAction","content":"FuncConvert.FromAction \nFromAction \nConvert the given Action delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromFunc","title":"FuncConvert.FromFunc","content":"FuncConvert.FromFunc \nFromFunc \nConvert the given Func delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromFunc","title":"FuncConvert.FromFunc","content":"FuncConvert.FromFunc \nFromFunc \nConvert the given Func delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromFunc","title":"FuncConvert.FromFunc","content":"FuncConvert.FromFunc \nFromFunc \nConvert the given Func delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromFunc","title":"FuncConvert.FromFunc","content":"FuncConvert.FromFunc \nFromFunc \nConvert the given Func delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromFunc","title":"FuncConvert.FromFunc","content":"FuncConvert.FromFunc \nFromFunc \nConvert the given Func delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FromFunc","title":"FuncConvert.FromFunc","content":"FuncConvert.FromFunc \nFromFunc \nConvert the given Func delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FuncFromTupled","title":"FuncConvert.FuncFromTupled","content":"FuncConvert.FuncFromTupled \nFuncFromTupled \nA utility function to convert function values from tupled to curried form","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FuncFromTupled","title":"FuncConvert.FuncFromTupled","content":"FuncConvert.FuncFromTupled \nFuncFromTupled \nA utility function to convert function values from tupled to curried form","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FuncFromTupled","title":"FuncConvert.FuncFromTupled","content":"FuncConvert.FuncFromTupled \nFuncFromTupled \nA utility function to convert function values from tupled to curried form","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#FuncFromTupled","title":"FuncConvert.FuncFromTupled","content":"FuncConvert.FuncFromTupled \nFuncFromTupled \nA utility function to convert function values from tupled to curried form","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#ToFSharpFunc","title":"FuncConvert.ToFSharpFunc","content":"FuncConvert.ToFSharpFunc \nToFSharpFunc \nConvert the given Converter delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-funcconvert.html#ToFSharpFunc","title":"FuncConvert.ToFSharpFunc","content":"FuncConvert.ToFSharpFunc \nToFSharpFunc \nConvert the given Action delegate object to an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-generalizablevalueattribute.html","title":"GeneralizableValueAttribute","content":"GeneralizableValueAttribute \nAdding this attribute to a non-function value with generic parameters indicates that \n uses of the construct can give rise to generic code through type inference. \nGeneralizableValueAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-generalizablevalueattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"GeneralizableValueAttribute.\u0060\u0060.ctor\u0060\u0060","content":"GeneralizableValueAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-inlineiflambdaattribute.html","title":"InlineIfLambdaAttribute","content":"InlineIfLambdaAttribute \nAdding this attribute to a parameter of function type indicates that, if the overall function or method is inlined and the parameter is\n determined to be a known lambda, then this function should be statically inlined throughout the body of the function of method. \nIf the function parameter is called multiple times in the implementation of the function or method this attribute may cause code explosion and slow compilation times. \nInlineIfLambdaAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-inlineiflambdaattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"InlineIfLambdaAttribute.\u0060\u0060.ctor\u0060\u0060","content":"InlineIfLambdaAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-interfaceattribute.html","title":"InterfaceAttribute","content":"InterfaceAttribute \nAdding this attribute to a type causes it to be represented using a CLI interface. \nInterfaceAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-interfaceattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"InterfaceAttribute.\u0060\u0060.ctor\u0060\u0060","content":"InterfaceAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-literalattribute.html","title":"LiteralAttribute","content":"LiteralAttribute \nAdding this attribute to a value causes it to be compiled as a CLI constant literal. \nLiteralAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-literalattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"LiteralAttribute.\u0060\u0060.ctor\u0060\u0060","content":"LiteralAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-matchfailureexception.html","title":"MatchFailureException","content":"MatchFailureException \nNon-exhaustive match failures will raise the MatchFailureException exception \nMatchFailureException.Data0 \nData0 \nMatchFailureException.Data1 \nData1 \nMatchFailureException.Data2 \nData2","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-matchfailureexception.html#Data0","title":"MatchFailureException.Data0","content":"MatchFailureException.Data0 \nData0 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-matchfailureexception.html#Data1","title":"MatchFailureException.Data1","content":"MatchFailureException.Data1 \nData1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-matchfailureexception.html#Data2","title":"MatchFailureException.Data2","content":"MatchFailureException.Data2 \nData2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-measureannotatedabbreviationattribute.html","title":"MeasureAnnotatedAbbreviationAttribute","content":"MeasureAnnotatedAbbreviationAttribute \nAdding this attribute to a type causes it to be interpreted as a refined type, currently limited to measure-parameterized types.\n This may only be used under very limited conditions. \nMeasureAnnotatedAbbreviationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-measureannotatedabbreviationattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"MeasureAnnotatedAbbreviationAttribute.\u0060\u0060.ctor\u0060\u0060","content":"MeasureAnnotatedAbbreviationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-measureattribute.html","title":"MeasureAttribute","content":"MeasureAttribute \nAdding this attribute to a type causes it to be interpreted as a unit of measure.\n This may only be used under very limited conditions. \nMeasureAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-measureattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"MeasureAttribute.\u0060\u0060.ctor\u0060\u0060","content":"MeasureAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nocomparisonattribute.html","title":"NoComparisonAttribute","content":"NoComparisonAttribute \nAdding this attribute to a type indicates it is a type where comparison is an abnormal operation.\n This means that the type does not satisfy the F# \u0027comparison\u0027 constraint. Within the bounds of the \n F# type system, this helps ensure that the F# generic comparison function is not instantiated directly\n at this type. The attribute and checking does not constrain the use of comparison with base or child \n types of this type.\n \nNoComparisonAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nocomparisonattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"NoComparisonAttribute.\u0060\u0060.ctor\u0060\u0060","content":"NoComparisonAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nocompilerinliningattribute.html","title":"NoCompilerInliningAttribute","content":"NoCompilerInliningAttribute \nIndicates a value or a function that must not be inlined by the F# compiler,\n but may be inlined by the JIT compiler. \nNoCompilerInliningAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nocompilerinliningattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"NoCompilerInliningAttribute.\u0060\u0060.ctor\u0060\u0060","content":"NoCompilerInliningAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nodynamicinvocationattribute.html","title":"NoDynamicInvocationAttribute","content":"NoDynamicInvocationAttribute \nThis attribute is used to tag values that may not be dynamically invoked at runtime. This is\n typically added to inlined functions whose implementations include unverifiable code. It\n causes the method body emitted for the inlined function to raise an exception if \n dynamically invoked, rather than including the unverifiable code in the generated\n assembly. \nNoDynamicInvocationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nodynamicinvocationattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"NoDynamicInvocationAttribute.\u0060\u0060.ctor\u0060\u0060","content":"NoDynamicInvocationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-noequalityattribute.html","title":"NoEqualityAttribute","content":"NoEqualityAttribute \nAdding this attribute to a type indicates it is a type where equality is an abnormal operation.\n This means that the type does not satisfy the F# \u0027equality\u0027 constraint. Within the bounds of the \n F# type system, this helps ensure that the F# generic equality function is not instantiated directly\n at this type. The attribute and checking does not constrain the use of comparison with base or child \n types of this type. \nNoEqualityAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-noequalityattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"NoEqualityAttribute.\u0060\u0060.ctor\u0060\u0060","content":"NoEqualityAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpoption-1.html","title":"Option\u003C\u0027T\u003E","content":"Option\u003C\u0027T\u003E \nThe type of optional values. When used from other CLI languages the\n empty option is the \u003Ccode\u003Enull\u003C/code\u003E value. \nUse the constructors \u003Ccode\u003ESome\u003C/code\u003E and \u003Ccode\u003ENone\u003C/code\u003E to create values of this type.\n Use the values in the \u003Ccode\u003EOption\u003C/code\u003E module to manipulate values of this type,\n or pattern match against the values directly.\n\n \u003Ccode\u003ENone\u003C/code\u003E values will appear as the value \u003Ccode\u003Enull\u003C/code\u003E to other CLI languages.\n Instance methods on this type will appear as static methods to other CLI languages\n due to the use of \u003Ccode\u003Enull\u003C/code\u003E as a value representation. \nOption\u003C\u0027T\u003E.Value \nValue \nOption\u003C\u0027T\u003E.IsNone \nIsNone \nOption\u003C\u0027T\u003E.IsSome \nIsSome \nOption\u003C\u0027T\u003E.Some \nSome \nOption\u003C\u0027T\u003E.op_Implicit \nop_Implicit \nOption\u003C\u0027T\u003E.None \nNone \nOption\u003C\u0027T\u003E.None \nNone \nOption\u003C\u0027T\u003E.Some \nSome","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpoption-1.html#Value","title":"Option\u003C\u0027T\u003E.Value","content":"Option\u003C\u0027T\u003E.Value \nValue \nGet the value of a \u0027Some\u0027 option. A NullReferenceException is raised if the option is \u0027None\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpoption-1.html#IsNone","title":"Option\u003C\u0027T\u003E.IsNone","content":"Option\u003C\u0027T\u003E.IsNone \nIsNone \nReturn \u0027true\u0027 if the option is a \u0027None\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpoption-1.html#IsSome","title":"Option\u003C\u0027T\u003E.IsSome","content":"Option\u003C\u0027T\u003E.IsSome \nIsSome \nReturn \u0027true\u0027 if the option is a \u0027Some\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpoption-1.html#Some","title":"Option\u003C\u0027T\u003E.Some","content":"Option\u003C\u0027T\u003E.Some \nSome \nCreate an option value that is a \u0027Some\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpoption-1.html#op_Implicit","title":"Option\u003C\u0027T\u003E.op_Implicit","content":"Option\u003C\u0027T\u003E.op_Implicit \nop_Implicit \nImplicitly converts a value into an optional that is a \u0027Some\u0027 value. \nThe F# compiler ignored this method when determining possible type-directed conversions. Instead, use \u003Ccode\u003ESome\u003C/code\u003E or \u003Ccode\u003ENone\u003C/code\u003E explicitly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpoption-1.html#None","title":"Option\u003C\u0027T\u003E.None","content":"Option\u003C\u0027T\u003E.None \nNone \nCreate an option value that is a \u0027None\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpoption-1.html#None","title":"Option\u003C\u0027T\u003E.None","content":"Option\u003C\u0027T\u003E.None \nNone \nThe representation of \u0022No value\u0022","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpoption-1.html#Some","title":"Option\u003C\u0027T\u003E.Some","content":"Option\u003C\u0027T\u003E.Some \nSome \nThe representation of \u0022Value of type \u0027T\u0022","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionalargumentattribute.html","title":"OptionalArgumentAttribute","content":"OptionalArgumentAttribute \nThis attribute is added automatically for all optional arguments. \nOptionalArgumentAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-optionalargumentattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"OptionalArgumentAttribute.\u0060\u0060.ctor\u0060\u0060","content":"OptionalArgumentAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfformat-4.html","title":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E","content":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E \nType of a formatting expression. \nPrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nPrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nPrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Value \nValue \nPrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.CaptureTypes \nCaptureTypes \nPrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Captures \nCaptures","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfformat-4.html#\u0060\u0060.ctor\u0060\u0060","title":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.\u0060\u0060.ctor\u0060\u0060","content":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nConstruct a format string ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfformat-4.html#\u0060\u0060.ctor\u0060\u0060","title":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.\u0060\u0060.ctor\u0060\u0060","content":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nConstruct a format string ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfformat-4.html#Value","title":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Value","content":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Value \nValue \nThe raw text of the format string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfformat-4.html#CaptureTypes","title":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.CaptureTypes","content":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.CaptureTypes \nCaptureTypes \nThe capture types associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfformat-4.html#Captures","title":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Captures","content":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result\u003E.Captures \nCaptures \nThe captures associated with an interpolated string.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfformat-5.html","title":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E","content":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E \nType of a formatting expression. \nPrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nPrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfformat-5.html#\u0060\u0060.ctor\u0060\u0060","title":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E.\u0060\u0060.ctor\u0060\u0060","content":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nConstruct a format string","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-printfformat-5.html#\u0060\u0060.ctor\u0060\u0060","title":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E.\u0060\u0060.ctor\u0060\u0060","content":"PrintfFormat\u003C\u0027Printer, \u0027State, \u0027Residue, \u0027Result, \u0027Tuple\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nConstruct a format string","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-projectionparameterattribute.html","title":"ProjectionParameterAttribute","content":"ProjectionParameterAttribute \nIndicates that, when a custom operator is used in a computation expression,\n a parameter is automatically parameterized by the variable space of the computation expression \nProjectionParameterAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-projectionparameterattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"ProjectionParameterAttribute.\u0060\u0060.ctor\u0060\u0060","content":"ProjectionParameterAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpref-1.html","title":"Ref\u003C\u0027T\u003E","content":"Ref\u003C\u0027T\u003E \nThe type of mutable references. Use the functions [!] and [:=] to get and\n set values of this type. \nRef\u003C\u0027T\u003E.Value \nValue \nRef\u003C\u0027T\u003E.contents \ncontents","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpref-1.html#Value","title":"Ref\u003C\u0027T\u003E.Value","content":"Ref\u003C\u0027T\u003E.Value \nValue \nThe current value of the reference cell","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpref-1.html#contents","title":"Ref\u003C\u0027T\u003E.contents","content":"Ref\u003C\u0027T\u003E.contents \ncontents \n The current value of the reference cell","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-referenceequalityattribute.html","title":"ReferenceEqualityAttribute","content":"ReferenceEqualityAttribute \nAdding this attribute to a record or union type disables the automatic generation\n of overrides for \u0027System.Object.Equals(obj)\u0027, \u0027System.Object.GetHashCode()\u0027 \n and \u0027System.IComparable\u0027 for the type. The type will by default use reference equality. \nReferenceEqualityAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-referenceequalityattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"ReferenceEqualityAttribute.\u0060\u0060.ctor\u0060\u0060","content":"ReferenceEqualityAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-reflecteddefinitionattribute.html","title":"ReflectedDefinitionAttribute","content":"ReflectedDefinitionAttribute \nAdding this attribute to the let-binding for the definition of a top-level \n value makes the quotation expression that implements the value available\n for use at runtime. \nReflectedDefinitionAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nReflectedDefinitionAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nReflectedDefinitionAttribute.IncludeValue \nIncludeValue","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-reflecteddefinitionattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"ReflectedDefinitionAttribute.\u0060\u0060.ctor\u0060\u0060","content":"ReflectedDefinitionAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-reflecteddefinitionattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"ReflectedDefinitionAttribute.\u0060\u0060.ctor\u0060\u0060","content":"ReflectedDefinitionAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-reflecteddefinitionattribute.html#IncludeValue","title":"ReflectedDefinitionAttribute.IncludeValue","content":"ReflectedDefinitionAttribute.IncludeValue \nIncludeValue \nThe value of the attribute, indicating whether to include the evaluated value of the definition as the outer node of the quotation","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-requirequalifiedaccessattribute.html","title":"RequireQualifiedAccessAttribute","content":"RequireQualifiedAccessAttribute \nThis attribute is used to indicate that references to the elements of a module, record or union \n type require explicit qualified access. \nRequireQualifiedAccessAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-requirequalifiedaccessattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"RequireQualifiedAccessAttribute.\u0060\u0060.ctor\u0060\u0060","content":"RequireQualifiedAccessAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-requiresexplicittypeargumentsattribute.html","title":"RequiresExplicitTypeArgumentsAttribute","content":"RequiresExplicitTypeArgumentsAttribute \nAdding this attribute to a type, value or member requires that \n uses of the construct must explicitly instantiate any generic type parameters. \nRequiresExplicitTypeArgumentsAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-requiresexplicittypeargumentsattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"RequiresExplicitTypeArgumentsAttribute.\u0060\u0060.ctor\u0060\u0060","content":"RequiresExplicitTypeArgumentsAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpresult-2.html","title":"Result\u003C\u0027T, \u0027TError\u003E","content":"Result\u003C\u0027T, \u0027TError\u003E \nHelper type for error handling without exceptions. \nResult\u003C\u0027T, \u0027TError\u003E.IsOk \nIsOk \nResult\u003C\u0027T, \u0027TError\u003E.IsError \nIsError \nResult\u003C\u0027T, \u0027TError\u003E.Ok \nOk \nResult\u003C\u0027T, \u0027TError\u003E.Error \nError","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpresult-2.html#IsOk","title":"Result\u003C\u0027T, \u0027TError\u003E.IsOk","content":"Result\u003C\u0027T, \u0027TError\u003E.IsOk \nIsOk \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpresult-2.html#IsError","title":"Result\u003C\u0027T, \u0027TError\u003E.IsError","content":"Result\u003C\u0027T, \u0027TError\u003E.IsError \nIsError \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpresult-2.html#Ok","title":"Result\u003C\u0027T, \u0027TError\u003E.Ok","content":"Result\u003C\u0027T, \u0027TError\u003E.Ok \nOk \n Represents an OK or a Successful result. The code succeeded with a value of \u0027T.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpresult-2.html#Error","title":"Result\u003C\u0027T, \u0027TError\u003E.Error","content":"Result\u003C\u0027T, \u0027TError\u003E.Error \nError \n Represents an Error or a Failure. The code failed with a value of \u0027TError representing what went wrong.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sealedattribute.html","title":"SealedAttribute","content":"SealedAttribute \nAdding this attribute to class definition makes it sealed, which means it may not\n be extended or implemented. \nSealedAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nSealedAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nSealedAttribute.Value \nValue","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sealedattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"SealedAttribute.\u0060\u0060.ctor\u0060\u0060","content":"SealedAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sealedattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"SealedAttribute.\u0060\u0060.ctor\u0060\u0060","content":"SealedAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sealedattribute.html#Value","title":"SealedAttribute.Value","content":"SealedAttribute.Value \nValue \nThe value of the attribute, indicating whether the type is sealed or not.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html","title":"SourceConstructFlags","content":"SourceConstructFlags \nIndicates the relationship between a compiled entity in a CLI binary and an element in F# source code. \nSourceConstructFlags.None \nNone \nSourceConstructFlags.SumType \nSumType \nSourceConstructFlags.RecordType \nRecordType \nSourceConstructFlags.ObjectType \nObjectType \nSourceConstructFlags.Field \nField \nSourceConstructFlags.Exception \nException \nSourceConstructFlags.Closure \nClosure \nSourceConstructFlags.Module \nModule \nSourceConstructFlags.UnionCase \nUnionCase \nSourceConstructFlags.Value \nValue \nSourceConstructFlags.KindMask \nKindMask \nSourceConstructFlags.NonPublicRepresentation \nNonPublicRepresentation","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#None","title":"SourceConstructFlags.None","content":"SourceConstructFlags.None \nNone \nIndicates that the compiled entity has no relationship to an element in F# source code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#SumType","title":"SourceConstructFlags.SumType","content":"SourceConstructFlags.SumType \nSumType \nIndicates that the compiled entity is part of the representation of an F# union type declaration.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#RecordType","title":"SourceConstructFlags.RecordType","content":"SourceConstructFlags.RecordType \nRecordType \nIndicates that the compiled entity is part of the representation of an F# record type declaration.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#ObjectType","title":"SourceConstructFlags.ObjectType","content":"SourceConstructFlags.ObjectType \nObjectType \nIndicates that the compiled entity is part of the representation of an F# class or other object type declaration.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#Field","title":"SourceConstructFlags.Field","content":"SourceConstructFlags.Field \nField \nIndicates that the compiled entity is part of the representation of an F# record or union case field declaration.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#Exception","title":"SourceConstructFlags.Exception","content":"SourceConstructFlags.Exception \nException \nIndicates that the compiled entity is part of the representation of an F# exception declaration.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#Closure","title":"SourceConstructFlags.Closure","content":"SourceConstructFlags.Closure \nClosure \nIndicates that the compiled entity is part of the representation of an F# closure.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#Module","title":"SourceConstructFlags.Module","content":"SourceConstructFlags.Module \nModule \nIndicates that the compiled entity is part of the representation of an F# module declaration.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#UnionCase","title":"SourceConstructFlags.UnionCase","content":"SourceConstructFlags.UnionCase \nUnionCase \nIndicates that the compiled entity is part of the representation of an F# union case declaration.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#Value","title":"SourceConstructFlags.Value","content":"SourceConstructFlags.Value \nValue \nIndicates that the compiled entity is part of the representation of an F# value declaration.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#KindMask","title":"SourceConstructFlags.KindMask","content":"SourceConstructFlags.KindMask \nKindMask \nThe mask of values related to the kind of the compiled entity.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sourceconstructflags.html#NonPublicRepresentation","title":"SourceConstructFlags.NonPublicRepresentation","content":"SourceConstructFlags.NonPublicRepresentation \nNonPublicRepresentation \nIndicates that the compiled entity had private or internal representation in F# source code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-structattribute.html","title":"StructAttribute","content":"StructAttribute \nAdding this attribute to a type causes it to be represented using a CLI struct. \nStructAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-structattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"StructAttribute.\u0060\u0060.ctor\u0060\u0060","content":"StructAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-structuralcomparisonattribute.html","title":"StructuralComparisonAttribute","content":"StructuralComparisonAttribute \nAdding this attribute to a record, union, exception, or struct type confirms the \n automatic generation of implementations for \u0027System.IComparable\u0027 for the type. \nStructuralComparisonAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-structuralcomparisonattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"StructuralComparisonAttribute.\u0060\u0060.ctor\u0060\u0060","content":"StructuralComparisonAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-structuralequalityattribute.html","title":"StructuralEqualityAttribute","content":"StructuralEqualityAttribute \nAdding this attribute to a record, union or struct type confirms the automatic \n generation of overrides for \u0027System.Object.Equals(obj)\u0027 and \n \u0027System.Object.GetHashCode()\u0027 for the type. \nStructuralEqualityAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-structuralequalityattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"StructuralEqualityAttribute.\u0060\u0060.ctor\u0060\u0060","content":"StructuralEqualityAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-structuredformatdisplayattribute.html","title":"StructuredFormatDisplayAttribute","content":"StructuredFormatDisplayAttribute \nThis attribute is used to mark how a type is displayed by default when using \n \u0027%A\u0027 printf formatting patterns and other two-dimensional text-based display layouts. \n In this version of F# valid values are of the form \u003Ccode\u003EPreText {PropertyName1} PostText {PropertyName2} ... {PropertyNameX} PostText\u003C/code\u003E.\n The property names indicate properties to evaluate and to display instead of the object itself. \nStructuredFormatDisplayAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nStructuredFormatDisplayAttribute.Value \nValue","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-structuredformatdisplayattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"StructuredFormatDisplayAttribute.\u0060\u0060.ctor\u0060\u0060","content":"StructuredFormatDisplayAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-structuredformatdisplayattribute.html#Value","title":"StructuredFormatDisplayAttribute.Value","content":"StructuredFormatDisplayAttribute.Value \nValue \n\u003Cpre\u003EIndicates the text to display by default when objects of this type are displayed \n using \u0027%A\u0027 printf formatting patterns and other two-dimensional text-based display \n layouts.\u003C/pre\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-tailcallattribute.html","title":"TailCallAttribute","content":"TailCallAttribute \nIndicates a function that should be called in a tail recursive way inside its recursive scope.\n A warning is emitted if the function is analyzed as not tail recursive after the optimization phase. \nTailCallAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-tailcallattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"TailCallAttribute.\u0060\u0060.ctor\u0060\u0060","content":"TailCallAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-unit.html","title":"Unit","content":"Unit \nThe type \u0027unit\u0027, which has only one value \u0022()\u0022. This value is special and\n always uses the representation \u0027null\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-unverifiableattribute.html","title":"UnverifiableAttribute","content":"UnverifiableAttribute \nThis attribute is used to tag values whose use will result in the generation\n of unverifiable code. These values are inevitably marked \u0027inline\u0027 to ensure that\n the unverifiable constructs are not present in the actual code for the F# library,\n but are rather copied to the source code of the caller. \nUnverifiableAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-unverifiableattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"UnverifiableAttribute.\u0060\u0060.ctor\u0060\u0060","content":"UnverifiableAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html","title":"ValueOption\u003C\u0027T\u003E","content":"ValueOption\u003C\u0027T\u003E \nThe type of optional values, represented as structs. \nUse the constructors \u003Ccode\u003EValueSome\u003C/code\u003E and \u003Ccode\u003EValueNone\u003C/code\u003E to create values of this type.\n Use the values in the \u003Ccode\u003EValueOption\u003C/code\u003E module to manipulate values of this type,\n or pattern match against the values directly. \nValueOption\u003C\u0027T\u003E.Value \nValue \nValueOption\u003C\u0027T\u003E.IsNone \nIsNone \nValueOption\u003C\u0027T\u003E.IsSome \nIsSome \nValueOption\u003C\u0027T\u003E.IsValueSome \nIsValueSome \nValueOption\u003C\u0027T\u003E.IsValueNone \nIsValueNone \nValueOption\u003C\u0027T\u003E.Some \nSome \nValueOption\u003C\u0027T\u003E.op_Implicit \nop_Implicit \nValueOption\u003C\u0027T\u003E.None \nNone \nValueOption\u003C\u0027T\u003E.ValueNone \nValueNone \nValueOption\u003C\u0027T\u003E.ValueSome \nValueSome","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html#Value","title":"ValueOption\u003C\u0027T\u003E.Value","content":"ValueOption\u003C\u0027T\u003E.Value \nValue \nGet the value of a \u0027ValueSome\u0027 option. An InvalidOperationException is raised if the option is \u0027ValueNone\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html#IsNone","title":"ValueOption\u003C\u0027T\u003E.IsNone","content":"ValueOption\u003C\u0027T\u003E.IsNone \nIsNone \nReturn \u0027true\u0027 if the value option is a \u0027ValueNone\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html#IsSome","title":"ValueOption\u003C\u0027T\u003E.IsSome","content":"ValueOption\u003C\u0027T\u003E.IsSome \nIsSome \nReturn \u0027true\u0027 if the value option is a \u0027ValueSome\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html#IsValueSome","title":"ValueOption\u003C\u0027T\u003E.IsValueSome","content":"ValueOption\u003C\u0027T\u003E.IsValueSome \nIsValueSome \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html#IsValueNone","title":"ValueOption\u003C\u0027T\u003E.IsValueNone","content":"ValueOption\u003C\u0027T\u003E.IsValueNone \nIsValueNone \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html#Some","title":"ValueOption\u003C\u0027T\u003E.Some","content":"ValueOption\u003C\u0027T\u003E.Some \nSome \nCreate a value option value that is a \u0027Some\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html#op_Implicit","title":"ValueOption\u003C\u0027T\u003E.op_Implicit","content":"ValueOption\u003C\u0027T\u003E.op_Implicit \nop_Implicit \nImplicitly converts a value into an optional that is a \u0027ValueSome\u0027 value. \nThe F# compiler ignored this method when determining possible type-directed conversions. Instead, use \u003Ccode\u003ESome\u003C/code\u003E or \u003Ccode\u003ENone\u003C/code\u003E explicitly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html#None","title":"ValueOption\u003C\u0027T\u003E.None","content":"ValueOption\u003C\u0027T\u003E.None \nNone \nCreate a value option value that is a \u0027ValueNone\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html#ValueNone","title":"ValueOption\u003C\u0027T\u003E.ValueNone","content":"ValueOption\u003C\u0027T\u003E.ValueNone \nValueNone \nThe representation of \u0022No value\u0022","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-fsharpvalueoption-1.html#ValueSome","title":"ValueOption\u003C\u0027T\u003E.ValueSome","content":"ValueOption\u003C\u0027T\u003E.ValueSome \nValueSome \nThe representation of \u0022Value of type \u0027T\u0022","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-volatilefieldattribute.html","title":"VolatileFieldAttribute","content":"VolatileFieldAttribute \nAdding this attribute to an F# mutable binding causes the \u0022volatile\u0022\n prefix to be used for all accesses to the field. \nVolatileFieldAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-volatilefieldattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"VolatileFieldAttribute.\u0060\u0060.ctor\u0060\u0060","content":"VolatileFieldAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-warnonwithoutnullargumentattribute.html","title":"WarnOnWithoutNullArgumentAttribute","content":"WarnOnWithoutNullArgumentAttribute \nWhen used in a compilation with null-checking enabled, indicates that a function is meant to be used only with potentially-nullable values and warns accordingly. \nWarnOnWithoutNullArgumentAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nWarnOnWithoutNullArgumentAttribute.WarningMessage \nWarningMessage","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-warnonwithoutnullargumentattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"WarnOnWithoutNullArgumentAttribute.\u0060\u0060.ctor\u0060\u0060","content":"WarnOnWithoutNullArgumentAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-warnonwithoutnullargumentattribute.html#WarningMessage","title":"WarnOnWithoutNullArgumentAttribute.WarningMessage","content":"WarnOnWithoutNullArgumentAttribute.WarningMessage \nWarningMessage \nWarning message displayed when the annotated function is used with a value known to be without null","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] \nThirty-two dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] \nThirty-one dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] \nThirty dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,,] \nTwenty-nine dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,,] \nTwenty-eight dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,,] \nTwenty-seven dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,,] \nTwenty-six dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,,] \nTwenty-five dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,,] \nTwenty-four dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,,] \nTwenty-three dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,,] \nTwenty-two dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,,] \nTwenty-one dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,,] \nTwenty dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,,] \nNineteen dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,,] \nEighteen dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,,] \nSeventeen dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,,] \nSixteen dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,,] \nFifteen dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,,] \nFourteen dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,,] \nThirteen dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,,] \nTwelve dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,,]","content":"\u0027T [,,,,,,,,,,] \nEleven dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,,]","content":"\u0027T [,,,,,,,,,] \nTen dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,,]-1.html","title":"\u0027T [,,,,,,,,]","content":"\u0027T [,,,,,,,,] \nNine dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,,]-1.html","title":"\u0027T [,,,,,,,]","content":"\u0027T [,,,,,,,] \nEight dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,,]-1.html","title":"\u0027T [,,,,,,]","content":"\u0027T [,,,,,,] \nSeven dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,,]-1.html","title":"\u0027T [,,,,,]","content":"\u0027T [,,,,,] \nSix dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,,]-1.html","title":"\u0027T [,,,,]","content":"\u0027T [,,,,] \nFive dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,,]-1.html","title":"\u0027T [,,,]","content":"\u0027T [,,,] \nFour dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type. \nUse the values in the \u003Ccode\u003EArray4D\u003C/code\u003E module\n to manipulate values of this type, or the notation \u003Ccode\u003Earr.[x1,x2,x3,x4]\u003C/code\u003E to get and set array\n values.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,,]-1.html","title":"\u0027T [,,]","content":"\u0027T [,,] \nThree dimensional arrays, typically zero-based. Non-zero-based arrays\n can be created using methods on the System.Array type. \nUse the values in the \u003Ccode\u003EArray3D\u003C/code\u003E module\n to manipulate values of this type, or the notation \u003Ccode\u003Earr.[x1,x2,x3]\u003C/code\u003E to get and set array\n values.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[,]-1.html","title":"\u0027T [,]","content":"\u0027T [,] \nTwo dimensional arrays, typically zero-based. \nUse the values in the \u003Ccode\u003EArray2D\u003C/code\u003E module\n to manipulate values of this type, or the notation \u003Ccode\u003Earr.[x,y]\u003C/code\u003E to get/set array\n values. \n\n Non-zero-based arrays can also be created using methods on the System.Array type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-[]-1.html","title":"\u0027T []","content":"\u0027T [] \nSingle dimensional, zero-based arrays, written \u003Ccode\u003Eint array\u003C/code\u003E, \u003Ccode\u003Estring array\u003C/code\u003E etc. \nUse the values in the \u003Ccode\u003EArray\u003C/code\u003E module to manipulate values \n of this type, or the notation \u003Ccode\u003Earr.[x]\u003C/code\u003E to get/set array\n values.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-array-1.html","title":"\u0027T array","content":"\u0027T array \nSingle dimensional, zero-based arrays, written \u003Ccode\u003Eint array\u003C/code\u003E, \u003Ccode\u003Estring array\u003C/code\u003E etc. \nUse the values in the \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-collections-arraymodule.html\u0022\u003EArray\u003C/a\u003E module to manipulate values \n of this type, or the notation \u003Ccode\u003Earr.[x]\u003C/code\u003E to get/set array\n values.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-bool.html","title":"bool","content":"bool \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.boolean\u0022\u003EBoolean\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-byref-2.html","title":"byref\u003C\u0027T, \u0027Kind\u003E","content":"byref\u003C\u0027T, \u0027Kind\u003E \nRepresents a managed pointer in F# code.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-byref-1.html","title":"byref\u003C\u0027T\u003E","content":"byref\u003C\u0027T\u003E \nRepresents a managed pointer in F# code. For F# 4.5\u002B this is considered equivalent to \u003Ccode\u003Ebyref\u0026lt;\u0026#39;T, ByRefKinds.InOut\u0026gt;\u003C/code\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-byte-1.html","title":"byte\u003C\u0027Measure\u003E","content":"byte\u003C\u0027Measure\u003E \nThe type of 8-bit unsigned integer numbers, annotated with a unit of measure. \n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to \n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.byte\u0022\u003EByte\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-byte.html","title":"byte","content":"byte \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.byte\u0022\u003EByte\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-char.html","title":"char","content":"char \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.char\u0022\u003EChar\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-decimal-1.html","title":"decimal\u003C\u0027Measure\u003E","content":"decimal\u003C\u0027Measure\u003E \nThe type of decimal numbers, annotated with a unit of measure. The unit\n of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.decimal\u0022\u003EDecimal\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-double-1.html","title":"double\u003C\u0027Measure\u003E","content":"double\u003C\u0027Measure\u003E \nThe type of double-precision floating point numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.double\u0022\u003EDouble\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-double.html","title":"double","content":"double \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.double\u0022\u003EDouble\u003C/a\u003E. Identical to \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-float.html\u0022\u003Efloat\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-float-1.html","title":"float\u003C\u0027Measure\u003E","content":"float\u003C\u0027Measure\u003E \nThe type of double-precision floating point numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.double\u0022\u003EDouble\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-float.html","title":"float","content":"float \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.double\u0022\u003EDouble\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-float32-1.html","title":"float32\u003C\u0027Measure\u003E","content":"float32\u003C\u0027Measure\u003E \nThe type of single-precision floating point numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.single\u0022\u003ESingle\u003C/a\u003E.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-float32.html","title":"float32","content":"float32 \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.single\u0022\u003ESingle\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-ilsigptr-1.html","title":"ilsigptr\u003C\u0027T\u003E","content":"ilsigptr\u003C\u0027T\u003E \nRepresents an Common IL (Intermediate Language) Signature Pointer. \nThis type should only be used when writing F# code that interoperates\n with other .NET languages that use generic Common IL Signature Pointers.\n Use of this type in F# code may result in unverifiable code being generated.\n Because of the rules of Common IL Signature Pointers, you cannot use this type in generic type parameters,\n resulting in compiler errors. As a result, you should convert this type to \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nativeptr{t}\u0022\u003Enativeptr{T}\u003C/a\u003E\n for use in F#. Note that Common IL Signature Pointers exposed by other .NET languages are converted to\n \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nativeptr{t}\u0022\u003Enativeptr{T}\u003C/a\u003E or \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-voidptr.html\u0022\u003Evoidptr\u003C/a\u003E automatically by F#,\n and F# also shows generic-specialized typed native pointers correctly to other .NET languages as Common IL Signature Pointers.\n However, generic typed native pointers are shown as \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.intptr\u0022\u003EIntPtr\u003C/a\u003E to other .NET languages.\n For other languages to interpret generic F# typed native pointers correctly, you should expose this type or\n \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-voidptr.html\u0022\u003Evoidptr\u003C/a\u003E instead of \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nativeptr{t}\u0022\u003Enativeptr{T}\u003C/a\u003E.\n Values of this type can be generated by the functions in the \u003Ccode\u003ENativeInterop.NativePtr\u003C/code\u003E module.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-inref-1.html","title":"inref\u003C\u0027T\u003E","content":"inref\u003C\u0027T\u003E \nRepresents a in-argument or readonly managed pointer in F# code. This type should only be used with F# 4.5\u002B.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-int-1.html","title":"int\u003C\u0027Measure\u003E","content":"int\u003C\u0027Measure\u003E \nThe type of 32-bit signed integer numbers, annotated with a unit of measure. The unit\n of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int32\u0022\u003EInt32\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-int.html","title":"int","content":"int \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int32\u0022\u003EInt32\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-int16-1.html","title":"int16\u003C\u0027Measure\u003E","content":"int16\u003C\u0027Measure\u003E \nThe type of 16-bit signed integer numbers, annotated with a unit of measure. The unit\n of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int16\u0022\u003EInt16\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-int16.html","title":"int16","content":"int16 \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int16\u0022\u003EInt16\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-int32-1.html","title":"int32\u003C\u0027Measure\u003E","content":"int32\u003C\u0027Measure\u003E \nThe type of 32-bit signed integer numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int32\u0022\u003EInt32\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-int32.html","title":"int32","content":"int32 \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int32\u0022\u003EInt32\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-int64-1.html","title":"int64\u003C\u0027Measure\u003E","content":"int64\u003C\u0027Measure\u003E \nThe type of 64-bit signed integer numbers, annotated with a unit of measure. The unit\n of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int64\u0022\u003EInt64\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-int64.html","title":"int64","content":"int64 \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.int64\u0022\u003EInt64\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-int8-1.html","title":"int8\u003C\u0027Measure\u003E","content":"int8\u003C\u0027Measure\u003E \nThe type of 8-bit signed integer numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.sbyte\u0022\u003ESByte\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-int8.html","title":"int8","content":"int8 \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.sbyte\u0022\u003ESByte\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nativeint-1.html","title":"nativeint\u003C\u0027Measure\u003E","content":"nativeint\u003C\u0027Measure\u003E \nThe type of machine-sized signed integer numbers, annotated with a unit of measure. \n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to \n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.intptr\u0022\u003EIntPtr\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nativeptr-1.html","title":"nativeptr\u003C\u0027T\u003E","content":"nativeptr\u003C\u0027T\u003E \nRepresents an unmanaged pointer in F# code. \nThis type should only be used when writing F# code that interoperates\n with native code. Use of this type in F# code may result in\n unverifiable code being generated. Conversions to and from the \n \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nativeint.html\u0022\u003Enativeint\u003C/a\u003E type may be required. Values of this type can be generated\n by the functions in the \u003Ccode\u003ENativeInterop.NativePtr\u003C/code\u003E module.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-obj.html","title":"obj","content":"obj \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.object\u0022\u003EObject\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-objnull.html","title":"objnull","content":"objnull \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.object\u0022\u003EObject\u003C/a\u003E or null.\n With the \u0027nullable reference types\u0027 feature, this is an alias to \u0027obj | null\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-option-1.html","title":"\u0027T option","content":"\u0027T option \nThe type of optional values. When used from other CLI languages the\n empty option is the \u003Ccode\u003Enull\u003C/code\u003E value. \nUse the constructors \u003Ccode\u003ESome\u003C/code\u003E and \u003Ccode\u003ENone\u003C/code\u003E to create values of this type.\n Use the values in the \u003Ccode\u003EOption\u003C/code\u003E module to manipulate values of this type,\n or pattern match against the values directly.\n\n \u0027None\u0027 values will appear as the value \u003Ccode\u003Enull\u003C/code\u003E to other CLI languages.\n Instance methods on this type will appear as static methods to other CLI languages\n due to the use of \u003Ccode\u003Enull\u003C/code\u003E as a value representation. \n\u0027T option.Value \nValue \n\u0027T option.IsNone \nIsNone \n\u0027T option.IsSome \nIsSome \n\u0027T option.None \nNone","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-option-1.html#Value","title":"\u0027T option.Value","content":"\u0027T option.Value \nValue \nGet the value of a \u0027Some\u0027 option. A NullReferenceException is raised if the option is \u0027None\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-option-1.html#IsNone","title":"\u0027T option.IsNone","content":"\u0027T option.IsNone \nIsNone \nReturn \u0027true\u0027 if the option is a \u0027None\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-option-1.html#IsSome","title":"\u0027T option.IsSome","content":"\u0027T option.IsSome \nIsSome \nReturn \u0027true\u0027 if the option is a \u0027Some\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-option-1.html#None","title":"\u0027T option.None","content":"\u0027T option.None \nNone \nCreate an option value that is a \u0027None\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-outref-1.html","title":"outref\u003C\u0027T\u003E","content":"outref\u003C\u0027T\u003E \nRepresents a out-argument managed pointer in F# code. This type should only be used with F# 4.5\u002B.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-ref-1.html","title":"\u0027T ref","content":"\u0027T ref \nThe type of mutable references. Use the functions [!] and [:=] to get and\n set values of this type. \n\u0027T ref.Value \nValue","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-ref-1.html#Value","title":"\u0027T ref.Value","content":"\u0027T ref.Value \nValue \nThe current value of the reference cell","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sbyte-1.html","title":"sbyte\u003C\u0027Measure\u003E","content":"sbyte\u003C\u0027Measure\u003E \nThe type of 8-bit signed integer numbers, annotated with a unit of measure. The unit\n of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.sbyte\u0022\u003ESByte\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-sbyte.html","title":"sbyte","content":"sbyte \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.sbyte\u0022\u003ESByte\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-single-1.html","title":"single\u003C\u0027Measure\u003E","content":"single\u003C\u0027Measure\u003E \nThe type of single-precision floating point numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.single\u0022\u003ESingle\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-single.html","title":"single","content":"single \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.single\u0022\u003ESingle\u003C/a\u003E. Identical to \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-float32.html\u0022\u003Efloat32\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-uint-1.html","title":"uint\u003C\u0027Measure\u003E","content":"uint\u003C\u0027Measure\u003E \nThe type of 32-bit unsigned integer numbers, annotated with a unit of measure. \n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to \n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint32\u0022\u003EUInt32\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-uint.html","title":"uint","content":"uint \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint32\u0022\u003EUInt32\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-uint16-1.html","title":"uint16\u003C\u0027Measure\u003E","content":"uint16\u003C\u0027Measure\u003E \nThe type of 16-bit unsigned integer numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint16\u0022\u003EUInt16\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-uint16.html","title":"uint16","content":"uint16 \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint16\u0022\u003EUInt16\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-uint32-1.html","title":"uint32\u003C\u0027Measure\u003E","content":"uint32\u003C\u0027Measure\u003E \nThe type of 32-bit unsigned integer numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint32\u0022\u003EUInt32\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-uint32.html","title":"uint32","content":"uint32 \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint32\u0022\u003EUInt32\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-uint64-1.html","title":"uint64\u003C\u0027Measure\u003E","content":"uint64\u003C\u0027Measure\u003E \nThe type of 64-bit unsigned integer numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint64\u0022\u003EUInt64\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-uint64.html","title":"uint64","content":"uint64 \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uint64\u0022\u003EUInt64\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-uint8-1.html","title":"uint8\u003C\u0027Measure\u003E","content":"uint8\u003C\u0027Measure\u003E \nThe type of 8-bit unsigned integer numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.byte\u0022\u003EByte\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-uint8.html","title":"uint8","content":"uint8 \nAn abbreviation for the CLI type \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.byte\u0022\u003EByte\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-unativeint-1.html","title":"unativeint\u003C\u0027Measure\u003E","content":"unativeint\u003C\u0027Measure\u003E \nThe type of machine-sized unsigned integer numbers, annotated with a unit of measure.\n The unit of measure is erased in compiled code and when values of this type\n are analyzed using reflection. The type is representationally equivalent to\n \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.uintptr\u0022\u003EUIntPtr\u003C/a\u003E.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-unit-0.html","title":"unit","content":"unit \nThe type \u0027unit\u0027, which has only one value \u0022()\u0022. This value is special and\n always uses the representation \u0027null\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-voidptr.html","title":"voidptr","content":"voidptr \nRepresents an untyped unmanaged pointer in F# code. \nThis type should only be used when writing F# code that interoperates\n with native code. Use of this type in F# code may result in\n unverifiable code being generated. Conversions to and from the \n \u003Ca href=\u0022https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-nativeint.html\u0022\u003Enativeint\u003C/a\u003E type may be required. Values of this type can be generated\n by the functions in the \u003Ccode\u003ENativeInterop.NativePtr\u003C/code\u003E module.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-voption-1.html","title":"\u0027T voption","content":"\u0027T voption \nThe type of optional values, represented as structs. \nUse the constructors \u003Ccode\u003EValueSome\u003C/code\u003E and \u003Ccode\u003EValueNone\u003C/code\u003E to create values of this type.\n Use the values in the \u003Ccode\u003EValueOption\u003C/code\u003E module to manipulate values of this type,\n or pattern match against the values directly. \n\u0027T voption.Value \nValue \n\u0027T voption.IsNone \nIsNone \n\u0027T voption.IsSome \nIsSome \n\u0027T voption.IsValueSome \nIsValueSome \n\u0027T voption.IsValueNone \nIsValueNone \n\u0027T voption.None \nNone","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-voption-1.html#Value","title":"\u0027T voption.Value","content":"\u0027T voption.Value \nValue \nGet the value of a \u0027ValueSome\u0027 option. An InvalidOperationException is raised if the option is \u0027ValueNone\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-voption-1.html#IsNone","title":"\u0027T voption.IsNone","content":"\u0027T voption.IsNone \nIsNone \nReturn \u0027true\u0027 if the value option is a \u0027ValueNone\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-voption-1.html#IsSome","title":"\u0027T voption.IsSome","content":"\u0027T voption.IsSome \nIsSome \nReturn \u0027true\u0027 if the value option is a \u0027ValueSome\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-voption-1.html#IsValueSome","title":"\u0027T voption.IsValueSome","content":"\u0027T voption.IsValueSome \nIsValueSome \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-voption-1.html#IsValueNone","title":"\u0027T voption.IsValueNone","content":"\u0027T voption.IsValueNone \nIsValueNone \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-voption-1.html#None","title":"\u0027T voption.None","content":"\u0027T voption.None \nNone \nCreate a value option value that is a \u0027ValueNone\u0027 value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html","title":"ResumableCode","content":"ResumableCode \n Contains functions for composing resumable code blocks \nResumableCode.Combine \nCombine \nResumableCode.Delay \nDelay \nResumableCode.For \nFor \nResumableCode.Yield \nYield \nResumableCode.TryFinally \nTryFinally \nResumableCode.TryFinallyAsync \nTryFinallyAsync \nResumableCode.TryWith \nTryWith \nResumableCode.Using \nUsing \nResumableCode.While \nWhile \nResumableCode.Zero \nZero \nResumableCode.CombineDynamic \nCombineDynamic \nResumableCode.WhileDynamic \nWhileDynamic \nResumableCode.TryFinallyAsyncDynamic \nTryFinallyAsyncDynamic \nResumableCode.TryWithDynamic \nTryWithDynamic \nResumableCode.YieldDynamic \nYieldDynamic","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#Combine","title":"ResumableCode.Combine","content":"ResumableCode.Combine \nCombine \n Sequences one section of resumable code after another","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#Delay","title":"ResumableCode.Delay","content":"ResumableCode.Delay \nDelay \n Creates resumable code whose definition is a delayed function","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#For","title":"ResumableCode.For","content":"ResumableCode.For \nFor \n Specifies resumable code which iterates an input sequence","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#Yield","title":"ResumableCode.Yield","content":"ResumableCode.Yield \nYield \n Specifies resumable code which iterates yields","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#TryFinally","title":"ResumableCode.TryFinally","content":"ResumableCode.TryFinally \nTryFinally \n Specifies resumable code which executes with try/finally semantics","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#TryFinallyAsync","title":"ResumableCode.TryFinallyAsync","content":"ResumableCode.TryFinallyAsync \nTryFinallyAsync \n Specifies resumable code which executes with try/finally semantics","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#TryWith","title":"ResumableCode.TryWith","content":"ResumableCode.TryWith \nTryWith \n Specifies resumable code which executes with try/with semantics","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#Using","title":"ResumableCode.Using","content":"ResumableCode.Using \nUsing \n Specifies resumable code which executes with \u0027use\u0027 semantics","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#While","title":"ResumableCode.While","content":"ResumableCode.While \nWhile \n Specifies resumable code which executes a loop","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#Zero","title":"ResumableCode.Zero","content":"ResumableCode.Zero \nZero \n Specifies resumable code which does nothing","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#CombineDynamic","title":"ResumableCode.CombineDynamic","content":"ResumableCode.CombineDynamic \nCombineDynamic \n The dynamic implementation of the corresponding operation. This operation should not be used directly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#WhileDynamic","title":"ResumableCode.WhileDynamic","content":"ResumableCode.WhileDynamic \nWhileDynamic \n The dynamic implementation of the corresponding operation. This operation should not be used directly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#TryFinallyAsyncDynamic","title":"ResumableCode.TryFinallyAsyncDynamic","content":"ResumableCode.TryFinallyAsyncDynamic \nTryFinallyAsyncDynamic \n The dynamic implementation of the corresponding operation. This operation should not be used directly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#TryWithDynamic","title":"ResumableCode.TryWithDynamic","content":"ResumableCode.TryWithDynamic \nTryWithDynamic \n The dynamic implementation of the corresponding operation. This operation should not be used directly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode.html#YieldDynamic","title":"ResumableCode.YieldDynamic","content":"ResumableCode.YieldDynamic \nYieldDynamic \n The dynamic implementation of the corresponding operation. This operation should not be used directly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-runtimehelpers.html","title":"RuntimeHelpers","content":"RuntimeHelpers \nA group of functions used as part of the compiled representation of F# sequence expressions. \nRuntimeHelpers.EnumerateWhile \nEnumerateWhile \nRuntimeHelpers.EnumerateThenFinally \nEnumerateThenFinally \nRuntimeHelpers.EnumerateTryWith \nEnumerateTryWith \nRuntimeHelpers.EnumerateFromFunctions \nEnumerateFromFunctions \nRuntimeHelpers.EnumerateUsing \nEnumerateUsing \nRuntimeHelpers.CreateEvent \nCreateEvent","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-runtimehelpers.html#EnumerateWhile","title":"RuntimeHelpers.EnumerateWhile","content":"RuntimeHelpers.EnumerateWhile \nEnumerateWhile \nThe F# compiler emits calls to this function to\n implement the \u003Ccode\u003Ewhile\u003C/code\u003E operator for F# sequence expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-runtimehelpers.html#EnumerateThenFinally","title":"RuntimeHelpers.EnumerateThenFinally","content":"RuntimeHelpers.EnumerateThenFinally \nEnumerateThenFinally \nThe F# compiler emits calls to this function to\n implement the \u003Ccode\u003Etry/finally\u003C/code\u003E operator for F# sequence expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-runtimehelpers.html#EnumerateTryWith","title":"RuntimeHelpers.EnumerateTryWith","content":"RuntimeHelpers.EnumerateTryWith \nEnumerateTryWith \nThe F# compiler emits calls to this function to\n implement the \u003Ccode\u003Etry/with\u003C/code\u003E operator for F# sequence expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-runtimehelpers.html#EnumerateFromFunctions","title":"RuntimeHelpers.EnumerateFromFunctions","content":"RuntimeHelpers.EnumerateFromFunctions \nEnumerateFromFunctions \nThe F# compiler emits calls to this function to implement the compiler-intrinsic\n conversions from untyped IEnumerable sequences to typed sequences.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-runtimehelpers.html#EnumerateUsing","title":"RuntimeHelpers.EnumerateUsing","content":"RuntimeHelpers.EnumerateUsing \nEnumerateUsing \nThe F# compiler emits calls to this function to implement the \u003Ccode\u003Euse\u003C/code\u003E operator for F# sequence\n expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-runtimehelpers.html#CreateEvent","title":"RuntimeHelpers.CreateEvent","content":"RuntimeHelpers.CreateEvent \nCreateEvent \nCreates an anonymous event with the given handlers.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-statemachinehelpers.html","title":"StateMachineHelpers","content":"StateMachineHelpers \n Contains compiler intrinsics related to the definition of state machines. \nStateMachineHelpers.__debugPoint \n__debugPoint \nStateMachineHelpers.__useResumableCode \n__useResumableCode \nStateMachineHelpers.__resumableEntry \n__resumableEntry \nStateMachineHelpers.__resumeAt \n__resumeAt \nStateMachineHelpers.__stateMachine \n__stateMachine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-statemachinehelpers.html#__debugPoint","title":"StateMachineHelpers.__debugPoint","content":"StateMachineHelpers.__debugPoint \n__debugPoint \n\n Indicates a named debug point arising from the context of inlined code.\n \n\n Only a limited range of debug point names are supported.\n\n If the debug point name is the empty string then the range used for the debug point will be\n the range of the outermost expression prior to inlining.\n\n If the debug point name is \u003Ccode\u003EForLoop.InOrToKeyword\u003C/code\u003E and the code was ultimately\n from a \u003Ccode\u003Efor .. in .. do\u003C/code\u003E or \u003Ccode\u003Efor .. = .. to .. do\u003C/code\u003E construct in a computation expression,\n de-sugared to an inlined \u003Ccode\u003Ebuilder.For\u003C/code\u003E call, then the name \u0022ForLoop.InOrToKeyword\u0022 can be used.\n The range of the debug point will be precisely the range of the \u003Ccode\u003Ein\u003C/code\u003E or \u003Ccode\u003Eto\u003C/code\u003E keyword.\n\n If the name doesn\u0027t correspond to a known debug point arising from the original source context, then\n an opt-in warning 3514 is emitted, and the range used for the debug point will be\n the range of the root expression prior to inlining.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-statemachinehelpers.html#__useResumableCode","title":"StateMachineHelpers.__useResumableCode","content":"StateMachineHelpers.__useResumableCode \n__useResumableCode \n When used in a conditional, statically determines whether the \u0027then\u0027 branch\n represents valid resumable code and provides an alternative implementation\n if not.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-statemachinehelpers.html#__resumableEntry","title":"StateMachineHelpers.__resumableEntry","content":"StateMachineHelpers.__resumableEntry \n__resumableEntry \n Indicates a resumption point within resumable code","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-statemachinehelpers.html#__resumeAt","title":"StateMachineHelpers.__resumeAt","content":"StateMachineHelpers.__resumeAt \n__resumeAt \n\n Indicates to jump to a resumption point within resumable code.\n This may be the first statement in a MoveNextMethodImpl.\n The integer must be a valid resumption point within this resumable code.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-statemachinehelpers.html#__stateMachine","title":"StateMachineHelpers.__stateMachine","content":"StateMachineHelpers.__stateMachine \n__stateMachine \n\n Statically generates a closure struct type based on ResumableStateMachine,\n At runtime an instance of the new struct type is populated and \u0027afterMethod\u0027 is called\n to consume it.\n \n\n At compile-time, the ResumableStateMachine type guides the generation of a new struct type by the F# compiler\n with closure-capture fields in a way similar to an object expression. \n Any mention of the ResumableStateMachine type in any the \u0027methods\u0027 is rewritten to this\n fresh struct type. The \u0027methods\u0027 are used to implement the interfaces on ResumableStateMachine and are also rewritten.\n The \u0027after\u0027 method is then executed and must eliminate the ResumableStateMachine. For example,\n its return type must not include ResumableStateMachine.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-aftercode-2.html","title":"AfterCode\u003C\u0027Data, \u0027Result\u003E","content":"AfterCode\u003C\u0027Data, \u0027Result\u003E \n Defines the implementation of the code run after the creation of a struct state machine. \nAfterCode\u003C\u0027Data, \u0027Result\u003E.Invoke \nInvoke","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-aftercode-2.html#Invoke","title":"AfterCode\u003C\u0027Data, \u0027Result\u003E.Invoke","content":"AfterCode\u003C\u0027Data, \u0027Result\u003E.Invoke \nInvoke \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-arraycollector-1.html","title":"ArrayCollector\u003C\u0027T\u003E","content":"ArrayCollector\u003C\u0027T\u003E \n Collects elements and builds an array \nArrayCollector\u003C\u0027T\u003E.Add \nAdd \nArrayCollector\u003C\u0027T\u003E.AddMany \nAddMany \nArrayCollector\u003C\u0027T\u003E.AddManyAndClose \nAddManyAndClose \nArrayCollector\u003C\u0027T\u003E.Close \nClose \nArrayCollector\u003C\u0027T\u003E.ResizeArray \nResizeArray \nArrayCollector\u003C\u0027T\u003E.First \nFirst \nArrayCollector\u003C\u0027T\u003E.Second \nSecond \nArrayCollector\u003C\u0027T\u003E.Count \nCount","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-arraycollector-1.html#Add","title":"ArrayCollector\u003C\u0027T\u003E.Add","content":"ArrayCollector\u003C\u0027T\u003E.Add \nAdd \n Add an element to the collector","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-arraycollector-1.html#AddMany","title":"ArrayCollector\u003C\u0027T\u003E.AddMany","content":"ArrayCollector\u003C\u0027T\u003E.AddMany \nAddMany \n Add multiple elements to the collector","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-arraycollector-1.html#AddManyAndClose","title":"ArrayCollector\u003C\u0027T\u003E.AddManyAndClose","content":"ArrayCollector\u003C\u0027T\u003E.AddManyAndClose \nAddManyAndClose \n Add multiple elements to the collector and return the resulting array","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-arraycollector-1.html#Close","title":"ArrayCollector\u003C\u0027T\u003E.Close","content":"ArrayCollector\u003C\u0027T\u003E.Close \nClose \n Return the resulting list","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-arraycollector-1.html#ResizeArray","title":"ArrayCollector\u003C\u0027T\u003E.ResizeArray","content":"ArrayCollector\u003C\u0027T\u003E.ResizeArray \nResizeArray \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-arraycollector-1.html#First","title":"ArrayCollector\u003C\u0027T\u003E.First","content":"ArrayCollector\u003C\u0027T\u003E.First \nFirst \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-arraycollector-1.html#Second","title":"ArrayCollector\u003C\u0027T\u003E.Second","content":"ArrayCollector\u003C\u0027T\u003E.Second \nSecond \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-arraycollector-1.html#Count","title":"ArrayCollector\u003C\u0027T\u003E.Count","content":"ArrayCollector\u003C\u0027T\u003E.Count \nCount \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-generatedsequencebase-1.html","title":"GeneratedSequenceBase\u003C\u0027T\u003E","content":"GeneratedSequenceBase\u003C\u0027T\u003E \nThe F# compiler emits implementations of this type for compiled sequence expressions. \nGeneratedSequenceBase\u003C\u0027T\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nGeneratedSequenceBase\u003C\u0027T\u003E.Close \nClose \nGeneratedSequenceBase\u003C\u0027T\u003E.GenerateNext \nGenerateNext \nGeneratedSequenceBase\u003C\u0027T\u003E.GetFreshEnumerator \nGetFreshEnumerator \nGeneratedSequenceBase\u003C\u0027T\u003E.CheckClose \nCheckClose \nGeneratedSequenceBase\u003C\u0027T\u003E.LastGenerated \nLastGenerated","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-generatedsequencebase-1.html#\u0060\u0060.ctor\u0060\u0060","title":"GeneratedSequenceBase\u003C\u0027T\u003E.\u0060\u0060.ctor\u0060\u0060","content":"GeneratedSequenceBase\u003C\u0027T\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nThe F# compiler emits implementations of this type for compiled sequence expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-generatedsequencebase-1.html#Close","title":"GeneratedSequenceBase\u003C\u0027T\u003E.Close","content":"GeneratedSequenceBase\u003C\u0027T\u003E.Close \nClose \nThe F# compiler emits implementations of this type for compiled sequence expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-generatedsequencebase-1.html#GenerateNext","title":"GeneratedSequenceBase\u003C\u0027T\u003E.GenerateNext","content":"GeneratedSequenceBase\u003C\u0027T\u003E.GenerateNext \nGenerateNext \nThe F# compiler emits implementations of this type for compiled sequence expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-generatedsequencebase-1.html#GetFreshEnumerator","title":"GeneratedSequenceBase\u003C\u0027T\u003E.GetFreshEnumerator","content":"GeneratedSequenceBase\u003C\u0027T\u003E.GetFreshEnumerator \nGetFreshEnumerator \nThe F# compiler emits implementations of this type for compiled sequence expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-generatedsequencebase-1.html#CheckClose","title":"GeneratedSequenceBase\u003C\u0027T\u003E.CheckClose","content":"GeneratedSequenceBase\u003C\u0027T\u003E.CheckClose \nCheckClose \nThe F# compiler emits implementations of this type for compiled sequence expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-generatedsequencebase-1.html#LastGenerated","title":"GeneratedSequenceBase\u003C\u0027T\u003E.LastGenerated","content":"GeneratedSequenceBase\u003C\u0027T\u003E.LastGenerated \nLastGenerated \nThe F# compiler emits implementations of this type for compiled sequence expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-iprovidednamespace.html","title":"IProvidedNamespace","content":"IProvidedNamespace \n Represents a namespace provided by a type provider component. \nIProvidedNamespace.GetNestedNamespaces \nGetNestedNamespaces \nIProvidedNamespace.GetTypes \nGetTypes \nIProvidedNamespace.ResolveTypeName \nResolveTypeName \nIProvidedNamespace.NamespaceName \nNamespaceName","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-iprovidednamespace.html#GetNestedNamespaces","title":"IProvidedNamespace.GetNestedNamespaces","content":"IProvidedNamespace.GetNestedNamespaces \nGetNestedNamespaces \n The sub-namespaces in this namespace. An optional member to prevent generation of namespaces until an outer namespace is explored.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-iprovidednamespace.html#GetTypes","title":"IProvidedNamespace.GetTypes","content":"IProvidedNamespace.GetTypes \nGetTypes \n\n The top-level types\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-iprovidednamespace.html#ResolveTypeName","title":"IProvidedNamespace.ResolveTypeName","content":"IProvidedNamespace.ResolveTypeName \nResolveTypeName \n\n Compilers call this method to query a type provider for a type \u003Ccode\u003Ename\u003C/code\u003E.\n \nResolver should return a type called \u003Ccode\u003Ename\u003C/code\u003E in namespace \u003Ccode\u003ENamespaceName\u003C/code\u003E or \u003Ccode\u003Enull\u003C/code\u003E if the type is unknown.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-iprovidednamespace.html#NamespaceName","title":"IProvidedNamespace.NamespaceName","content":"IProvidedNamespace.NamespaceName \nNamespaceName \n Namespace name the provider injects types into.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-iresumablestatemachine-1.html","title":"IResumableStateMachine\u003C\u0027Data\u003E","content":"IResumableStateMachine\u003C\u0027Data\u003E \n \nIResumableStateMachine\u003C\u0027Data\u003E.Data \nData \nIResumableStateMachine\u003C\u0027Data\u003E.ResumptionPoint \nResumptionPoint","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-iresumablestatemachine-1.html#Data","title":"IResumableStateMachine\u003C\u0027Data\u003E.Data","content":"IResumableStateMachine\u003C\u0027Data\u003E.Data \nData \n Copy-out or copy-in the data of the state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-iresumablestatemachine-1.html#ResumptionPoint","title":"IResumableStateMachine\u003C\u0027Data\u003E.ResumptionPoint","content":"IResumableStateMachine\u003C\u0027Data\u003E.ResumptionPoint \nResumptionPoint \n Get the resumption point of the state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-itypeprovider.html","title":"ITypeProvider","content":"ITypeProvider \n Represents an instantiation of a type provider component. \nITypeProvider.ApplyStaticArguments \nApplyStaticArguments \nITypeProvider.GetGeneratedAssemblyContents \nGetGeneratedAssemblyContents \nITypeProvider.GetInvokerExpression \nGetInvokerExpression \nITypeProvider.GetNamespaces \nGetNamespaces \nITypeProvider.GetStaticParameters \nGetStaticParameters \nITypeProvider.Invalidate \nInvalidate","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-itypeprovider.html#ApplyStaticArguments","title":"ITypeProvider.ApplyStaticArguments","content":"ITypeProvider.ApplyStaticArguments \nApplyStaticArguments \n\n Apply static arguments to a provided type that accepts static arguments. \n \nThe provider must return a type with the given mangled name.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-itypeprovider.html#GetGeneratedAssemblyContents","title":"ITypeProvider.GetGeneratedAssemblyContents","content":"ITypeProvider.GetGeneratedAssemblyContents \nGetGeneratedAssemblyContents \n Get the physical contents of the given logical provided assembly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-itypeprovider.html#GetInvokerExpression","title":"ITypeProvider.GetInvokerExpression","content":"ITypeProvider.GetInvokerExpression \nGetInvokerExpression \n\n Called by the compiler to ask for an Expression tree to replace the given MethodBase with.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-itypeprovider.html#GetNamespaces","title":"ITypeProvider.GetNamespaces","content":"ITypeProvider.GetNamespaces \nGetNamespaces \n Gets the namespaces provided by the type provider.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-itypeprovider.html#GetStaticParameters","title":"ITypeProvider.GetStaticParameters","content":"ITypeProvider.GetStaticParameters \nGetStaticParameters \n\n Get the static parameters for a provided type. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-itypeprovider.html#Invalidate","title":"ITypeProvider.Invalidate","content":"ITypeProvider.Invalidate \nInvalidate \n Triggered when an assumption changes that invalidates the resolutions so far reported by the provider","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-itypeprovider2.html","title":"ITypeProvider2","content":"ITypeProvider2 \n Represents additional, optional information for a type provider component \nITypeProvider2.ApplyStaticArgumentsForMethod \nApplyStaticArgumentsForMethod \nITypeProvider2.GetStaticParametersForMethod \nGetStaticParametersForMethod","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-itypeprovider2.html#ApplyStaticArgumentsForMethod","title":"ITypeProvider2.ApplyStaticArgumentsForMethod","content":"ITypeProvider2.ApplyStaticArgumentsForMethod \nApplyStaticArgumentsForMethod \n\n Apply static arguments to a provided method that accepts static arguments. \n \nThe provider must return a provided method with the given mangled name.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-itypeprovider2.html#GetStaticParametersForMethod","title":"ITypeProvider2.GetStaticParametersForMethod","content":"ITypeProvider2.GetStaticParametersForMethod \nGetStaticParametersForMethod \n\n Get the static parameters for a provided method. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-listcollector-1.html","title":"ListCollector\u003C\u0027T\u003E","content":"ListCollector\u003C\u0027T\u003E \n Collects elements and builds a list \nListCollector\u003C\u0027T\u003E.Add \nAdd \nListCollector\u003C\u0027T\u003E.AddMany \nAddMany \nListCollector\u003C\u0027T\u003E.AddManyAndClose \nAddManyAndClose \nListCollector\u003C\u0027T\u003E.Close \nClose \nListCollector\u003C\u0027T\u003E.Result \nResult \nListCollector\u003C\u0027T\u003E.LastCons \nLastCons","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-listcollector-1.html#Add","title":"ListCollector\u003C\u0027T\u003E.Add","content":"ListCollector\u003C\u0027T\u003E.Add \nAdd \n Add an element to the collector","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-listcollector-1.html#AddMany","title":"ListCollector\u003C\u0027T\u003E.AddMany","content":"ListCollector\u003C\u0027T\u003E.AddMany \nAddMany \n Add multiple elements to the collector","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-listcollector-1.html#AddManyAndClose","title":"ListCollector\u003C\u0027T\u003E.AddManyAndClose","content":"ListCollector\u003C\u0027T\u003E.AddManyAndClose \nAddManyAndClose \n Add multiple elements to the collector and return the resulting list","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-listcollector-1.html#Close","title":"ListCollector\u003C\u0027T\u003E.Close","content":"ListCollector\u003C\u0027T\u003E.Close \nClose \n Return the resulting list","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-listcollector-1.html#Result","title":"ListCollector\u003C\u0027T\u003E.Result","content":"ListCollector\u003C\u0027T\u003E.Result \nResult \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-listcollector-1.html#LastCons","title":"ListCollector\u003C\u0027T\u003E.LastCons","content":"ListCollector\u003C\u0027T\u003E.LastCons \nLastCons \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-measureinverse-1.html","title":"MeasureInverse\u003C\u0027Measure\u003E","content":"MeasureInverse\u003C\u0027Measure\u003E \nRepresents the inverse of a measure expressions when returned as a generic argument of a provided type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-measureone.html","title":"MeasureOne","content":"MeasureOne \nRepresents the \u00271\u0027 measure expression when returned as a generic argument of a provided type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-measureproduct-2.html","title":"MeasureProduct\u003C\u0027Measure1, \u0027Measure2\u003E","content":"MeasureProduct\u003C\u0027Measure1, \u0027Measure2\u003E \nRepresents the product of two measure expressions when returned as a generic argument of a provided type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-movenextmethodimpl-1.html","title":"MoveNextMethodImpl\u003C\u0027Data\u003E","content":"MoveNextMethodImpl\u003C\u0027Data\u003E \n Defines the implementation of the MoveNext method for a struct state machine. \nMoveNextMethodImpl\u003C\u0027Data\u003E.Invoke \nInvoke","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-movenextmethodimpl-1.html#Invoke","title":"MoveNextMethodImpl\u003C\u0027Data\u003E.Invoke","content":"MoveNextMethodImpl\u003C\u0027Data\u003E.Invoke \nInvoke \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-noeagerconstraintapplicationattribute.html","title":"NoEagerConstraintApplicationAttribute","content":"NoEagerConstraintApplicationAttribute \nAdding this attribute to the method adjusts the processing of some generic methods\n during overload resolution. \nDuring overload resolution, caller arguments are matched with called arguments\n to extract type information. By default, when the caller argument type is unconstrained (for example\n a simple value \u003Ccode\u003Ex\u003C/code\u003E without known type information), and a method qualifies for\n lambda constraint propagation, then member trait constraints from a method overload\n are eagerly applied to the caller argument type. This causes that overload to be preferred,\n regardless of other method overload resolution rules. Using this attribute suppresses this behaviour. \n \nNoEagerConstraintApplicationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-noeagerconstraintapplicationattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"NoEagerConstraintApplicationAttribute.\u0060\u0060.ctor\u0060\u0060","content":"NoEagerConstraintApplicationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode-2.html","title":"ResumableCode\u003C\u0027Data, \u0027T\u003E","content":"ResumableCode\u003C\u0027Data, \u0027T\u003E \n A special compiler-recognised delegate type for specifying blocks of resumable code\n with access to the state machine. \nResumableCode\u003C\u0027Data, \u0027T\u003E.Invoke \nInvoke","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablecode-2.html#Invoke","title":"ResumableCode\u003C\u0027Data, \u0027T\u003E.Invoke","content":"ResumableCode\u003C\u0027Data, \u0027T\u003E.Invoke \nInvoke \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablestatemachine-1.html","title":"ResumableStateMachine\u003C\u0027Data\u003E","content":"ResumableStateMachine\u003C\u0027Data\u003E \n Acts as a template for struct state machines introduced by __stateMachine, and also as a reflective implementation \nResumableStateMachine\u003C\u0027Data\u003E.Data \nData \nResumableStateMachine\u003C\u0027Data\u003E.ResumptionPoint \nResumptionPoint \nResumableStateMachine\u003C\u0027Data\u003E.ResumptionDynamicInfo \nResumptionDynamicInfo","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablestatemachine-1.html#Data","title":"ResumableStateMachine\u003C\u0027Data\u003E.Data","content":"ResumableStateMachine\u003C\u0027Data\u003E.Data \nData \n When statically compiled, holds the data for the state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablestatemachine-1.html#ResumptionPoint","title":"ResumableStateMachine\u003C\u0027Data\u003E.ResumptionPoint","content":"ResumableStateMachine\u003C\u0027Data\u003E.ResumptionPoint \nResumptionPoint \n When statically compiled, holds the continuation goto-label further execution of the state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumablestatemachine-1.html#ResumptionDynamicInfo","title":"ResumableStateMachine\u003C\u0027Data\u003E.ResumptionDynamicInfo","content":"ResumableStateMachine\u003C\u0027Data\u003E.ResumptionDynamicInfo \nResumptionDynamicInfo \nRepresents the delegated runtime continuation for a resumable state machine created dynamically \nThis field is removed from state machines generated using \u0027__stateMachine\u0027. Resumable code\n used in state machines which accesses this field will raise a runtime exception.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumptiondynamicinfo-1.html","title":"ResumptionDynamicInfo\u003C\u0027Data\u003E","content":"ResumptionDynamicInfo\u003C\u0027Data\u003E \n Represents the delegated runtime continuation of a resumable state machine created dynamically \nResumptionDynamicInfo\u003C\u0027Data\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nResumptionDynamicInfo\u003C\u0027Data\u003E.MoveNext \nMoveNext \nResumptionDynamicInfo\u003C\u0027Data\u003E.SetStateMachine \nSetStateMachine \nResumptionDynamicInfo\u003C\u0027Data\u003E.ResumptionData \nResumptionData \nResumptionDynamicInfo\u003C\u0027Data\u003E.ResumptionFunc \nResumptionFunc","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumptiondynamicinfo-1.html#\u0060\u0060.ctor\u0060\u0060","title":"ResumptionDynamicInfo\u003C\u0027Data\u003E.\u0060\u0060.ctor\u0060\u0060","content":"ResumptionDynamicInfo\u003C\u0027Data\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n Create dynamic information for a state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumptiondynamicinfo-1.html#MoveNext","title":"ResumptionDynamicInfo\u003C\u0027Data\u003E.MoveNext","content":"ResumptionDynamicInfo\u003C\u0027Data\u003E.MoveNext \nMoveNext \n Executes the MoveNext implementation of the state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumptiondynamicinfo-1.html#SetStateMachine","title":"ResumptionDynamicInfo\u003C\u0027Data\u003E.SetStateMachine","content":"ResumptionDynamicInfo\u003C\u0027Data\u003E.SetStateMachine \nSetStateMachine \n Executes the SetStateMachine implementation of the state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumptiondynamicinfo-1.html#ResumptionData","title":"ResumptionDynamicInfo\u003C\u0027Data\u003E.ResumptionData","content":"ResumptionDynamicInfo\u003C\u0027Data\u003E.ResumptionData \nResumptionData \n Additional data associated with the state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumptiondynamicinfo-1.html#ResumptionFunc","title":"ResumptionDynamicInfo\u003C\u0027Data\u003E.ResumptionFunc","content":"ResumptionDynamicInfo\u003C\u0027Data\u003E.ResumptionFunc \nResumptionFunc \n The continuation of the state machine","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumptionfunc-1.html","title":"ResumptionFunc\u003C\u0027Data\u003E","content":"ResumptionFunc\u003C\u0027Data\u003E \n Represents the runtime continuation of a resumable state machine created dynamically \nResumptionFunc\u003C\u0027Data\u003E.Invoke \nInvoke","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-resumptionfunc-1.html#Invoke","title":"ResumptionFunc\u003C\u0027Data\u003E.Invoke","content":"ResumptionFunc\u003C\u0027Data\u003E.Invoke \nInvoke \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-setstatemachinemethodimpl-1.html","title":"SetStateMachineMethodImpl\u003C\u0027Data\u003E","content":"SetStateMachineMethodImpl\u003C\u0027Data\u003E \n Defines the implementation of the SetStateMachine method for a struct state machine. \nSetStateMachineMethodImpl\u003C\u0027Data\u003E.Invoke \nInvoke","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-setstatemachinemethodimpl-1.html#Invoke","title":"SetStateMachineMethodImpl\u003C\u0027Data\u003E.Invoke","content":"SetStateMachineMethodImpl\u003C\u0027Data\u003E.Invoke \nInvoke \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderassemblyattribute.html","title":"TypeProviderAssemblyAttribute","content":"TypeProviderAssemblyAttribute \n\u003Cpre\u003EPlace this attribute on a runtime assembly to indicate that there is a corresponding design-time \n assembly that contains a type provider. Runtime and design-time assembly may be the same.\u003C/pre\u003E \nTypeProviderAssemblyAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nTypeProviderAssemblyAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nTypeProviderAssemblyAttribute.AssemblyName \nAssemblyName","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderassemblyattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"TypeProviderAssemblyAttribute.\u0060\u0060.ctor\u0060\u0060","content":"TypeProviderAssemblyAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderassemblyattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"TypeProviderAssemblyAttribute.\u0060\u0060.ctor\u0060\u0060","content":"TypeProviderAssemblyAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderassemblyattribute.html#AssemblyName","title":"TypeProviderAssemblyAttribute.AssemblyName","content":"TypeProviderAssemblyAttribute.AssemblyName \nAssemblyName \nGets the assembly name.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderattribute.html","title":"TypeProviderAttribute","content":"TypeProviderAttribute \nPlace on a class that implements ITypeProvider to extend the compiler \nTypeProviderAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"TypeProviderAttribute.\u0060\u0060.ctor\u0060\u0060","content":"TypeProviderAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html","title":"TypeProviderConfig","content":"TypeProviderConfig \n If the class that implements ITypeProvider has a constructor that accepts TypeProviderConfig\n then it will be constructed with an instance of TypeProviderConfig. \nTypeProviderConfig.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nTypeProviderConfig.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nTypeProviderConfig.SystemRuntimeContainsType \nSystemRuntimeContainsType \nTypeProviderConfig.ResolutionFolder \nResolutionFolder \nTypeProviderConfig.IsInvalidationSupported \nIsInvalidationSupported \nTypeProviderConfig.TemporaryFolder \nTemporaryFolder \nTypeProviderConfig.RuntimeAssembly \nRuntimeAssembly \nTypeProviderConfig.SystemRuntimeAssemblyVersion \nSystemRuntimeAssemblyVersion \nTypeProviderConfig.IsHostedExecution \nIsHostedExecution \nTypeProviderConfig.ReferencedAssemblies \nReferencedAssemblies","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html#\u0060\u0060.ctor\u0060\u0060","title":"TypeProviderConfig.\u0060\u0060.ctor\u0060\u0060","content":"TypeProviderConfig.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n Create a configuration which calls the given functions for the corresponding operation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html#\u0060\u0060.ctor\u0060\u0060","title":"TypeProviderConfig.\u0060\u0060.ctor\u0060\u0060","content":"TypeProviderConfig.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n Create a configuration which calls the given function for the corresponding operation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html#SystemRuntimeContainsType","title":"TypeProviderConfig.SystemRuntimeContainsType","content":"TypeProviderConfig.SystemRuntimeContainsType \nSystemRuntimeContainsType \n Checks if given type exists in target system runtime library","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html#ResolutionFolder","title":"TypeProviderConfig.ResolutionFolder","content":"TypeProviderConfig.ResolutionFolder \nResolutionFolder \n Get the full path to use to resolve relative paths in any file name arguments given to the type provider instance.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html#IsInvalidationSupported","title":"TypeProviderConfig.IsInvalidationSupported","content":"TypeProviderConfig.IsInvalidationSupported \nIsInvalidationSupported \n Indicates if the type provider host responds to invalidation events for type provider instances. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html#TemporaryFolder","title":"TypeProviderConfig.TemporaryFolder","content":"TypeProviderConfig.TemporaryFolder \nTemporaryFolder \n Get the full path to use for temporary files for the type provider instance.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html#RuntimeAssembly","title":"TypeProviderConfig.RuntimeAssembly","content":"TypeProviderConfig.RuntimeAssembly \nRuntimeAssembly \n Get the full path to referenced assembly that caused this type provider instance to be created.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html#SystemRuntimeAssemblyVersion","title":"TypeProviderConfig.SystemRuntimeAssemblyVersion","content":"TypeProviderConfig.SystemRuntimeAssemblyVersion \nSystemRuntimeAssemblyVersion \n version of referenced system runtime assembly","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html#IsHostedExecution","title":"TypeProviderConfig.IsHostedExecution","content":"TypeProviderConfig.IsHostedExecution \nIsHostedExecution \n Indicates if the type provider instance is used in an environment which executes provided code such as F# Interactive.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderconfig.html#ReferencedAssemblies","title":"TypeProviderConfig.ReferencedAssemblies","content":"TypeProviderConfig.ReferencedAssemblies \nReferencedAssemblies \n Get the referenced assemblies for the type provider instance.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderdefinitionlocationattribute.html","title":"TypeProviderDefinitionLocationAttribute","content":"TypeProviderDefinitionLocationAttribute \nA type provider may provide an instance of this attribute to indicate the definition location for a provided type or member. \nTypeProviderDefinitionLocationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nTypeProviderDefinitionLocationAttribute.Line \nLine \nTypeProviderDefinitionLocationAttribute.FilePath \nFilePath \nTypeProviderDefinitionLocationAttribute.Column \nColumn","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderdefinitionlocationattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"TypeProviderDefinitionLocationAttribute.\u0060\u0060.ctor\u0060\u0060","content":"TypeProviderDefinitionLocationAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderdefinitionlocationattribute.html#Line","title":"TypeProviderDefinitionLocationAttribute.Line","content":"TypeProviderDefinitionLocationAttribute.Line \nLine \nGets or sets the line for the location.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderdefinitionlocationattribute.html#FilePath","title":"TypeProviderDefinitionLocationAttribute.FilePath","content":"TypeProviderDefinitionLocationAttribute.FilePath \nFilePath \nGets or sets the file path for the definition location.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderdefinitionlocationattribute.html#Column","title":"TypeProviderDefinitionLocationAttribute.Column","content":"TypeProviderDefinitionLocationAttribute.Column \nColumn \nGets or sets the column for the location.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeprovidereditorhidemethodsattribute.html","title":"TypeProviderEditorHideMethodsAttribute","content":"TypeProviderEditorHideMethodsAttribute \nIndicates that a code editor should hide all System.Object methods from the intellisense menus for instances of a provided type \nTypeProviderEditorHideMethodsAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeprovidereditorhidemethodsattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"TypeProviderEditorHideMethodsAttribute.\u0060\u0060.ctor\u0060\u0060","content":"TypeProviderEditorHideMethodsAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeprovidertypeattributes.html","title":"TypeProviderTypeAttributes","content":"TypeProviderTypeAttributes \nAdditional type attribute flags related to provided types \nTypeProviderTypeAttributes.SuppressRelocate \nSuppressRelocate \nTypeProviderTypeAttributes.IsErased \nIsErased","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeprovidertypeattributes.html#SuppressRelocate","title":"TypeProviderTypeAttributes.SuppressRelocate","content":"TypeProviderTypeAttributes.SuppressRelocate \nSuppressRelocate \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeprovidertypeattributes.html#IsErased","title":"TypeProviderTypeAttributes.IsErased","content":"TypeProviderTypeAttributes.IsErased \nIsErased \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderxmldocattribute.html","title":"TypeProviderXmlDocAttribute","content":"TypeProviderXmlDocAttribute \n\u003Cpre\u003EA type provider may provide an instance of this attribute to indicate the documentation to show for \n a provided type or member.\u003C/pre\u003E \nTypeProviderXmlDocAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nTypeProviderXmlDocAttribute.CommentText \nCommentText","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderxmldocattribute.html#\u0060\u0060.ctor\u0060\u0060","title":"TypeProviderXmlDocAttribute.\u0060\u0060.ctor\u0060\u0060","content":"TypeProviderXmlDocAttribute.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates an instance of the attribute","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-core-compilerservices-typeproviderxmldocattribute.html#CommentText","title":"TypeProviderXmlDocAttribute.CommentText","content":"TypeProviderXmlDocAttribute.CommentText \nCommentText \nGets the comment text.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-ampere.html","title":"ampere","content":"ampere \n The SI unit of electric current","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-becquerel.html","title":"becquerel","content":"becquerel \n The SI unit of activity referred to a radionuclide","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-candela.html","title":"candela","content":"candela \n The SI unit of luminous intensity","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-coulomb.html","title":"coulomb","content":"coulomb \n The SI unit of electric charge, amount of electricity","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-farad.html","title":"farad","content":"farad \n The SI unit of capacitance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-gray.html","title":"gray","content":"gray \n The SI unit of absorbed dose","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-henry.html","title":"henry","content":"henry \n The SI unit of inductance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-hertz.html","title":"hertz","content":"hertz \n The SI unit of frequency","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-joule.html","title":"joule","content":"joule \n The SI unit of energy, work, amount of heat","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-katal.html","title":"katal","content":"katal \n The SI unit of catalytic activity","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-kelvin.html","title":"kelvin","content":"kelvin \n The SI unit of thermodynamic temperature","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-kilogram.html","title":"kilogram","content":"kilogram \n The SI unit of mass","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-lumen.html","title":"lumen","content":"lumen \n The SI unit of luminous flux","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-lux.html","title":"lux","content":"lux \n The SI unit of illuminance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-meter.html","title":"meter","content":"meter \n The SI unit of length","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-metre.html","title":"metre","content":"metre \n The SI unit of length","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-mole.html","title":"mole","content":"mole \n The SI unit of amount of substance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-newton.html","title":"newton","content":"newton \n The SI unit of force","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-ohm.html","title":"ohm","content":"ohm \n The SI unit of electric resistance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-pascal.html","title":"pascal","content":"pascal \n The SI unit of pressure, stress","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-second.html","title":"second","content":"second \n The SI unit of time","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-siemens.html","title":"siemens","content":"siemens \n The SI unit of electric conductance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-sievert.html","title":"sievert","content":"sievert \n The SI unit of does equivalent","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-tesla.html","title":"tesla","content":"tesla \n The SI unit of magnetic flux density","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-volt.html","title":"volt","content":"volt \n The SI unit of electric potential difference, electromotive force","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-watt.html","title":"watt","content":"watt \n The SI unit of power, radiant flux","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitnames-weber.html","title":"weber","content":"weber \n The SI unit of magnetic flux","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-a.html","title":"A","content":"A \n A synonym for ampere, the SI unit of electric current","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-bq.html","title":"Bq","content":"Bq \n A synonym for becquerel, the SI unit of activity referred to a radionuclide","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-c.html","title":"C","content":"C \n A synonym for coulomb, the SI unit of electric charge, amount of electricity","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-f.html","title":"F","content":"F \n A synonym for farad, the SI unit of capacitance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-gy.html","title":"Gy","content":"Gy \n A synonym for gray, the SI unit of absorbed dose","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-h.html","title":"H","content":"H \n A synonym for henry, the SI unit of inductance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-hz.html","title":"Hz","content":"Hz \n A synonym for hertz, the SI unit of frequency","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-j.html","title":"J","content":"J \n A synonym for joule, the SI unit of energy, work, amount of heat","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-k.html","title":"K","content":"K \n A synonym for kelvin, the SI unit of thermodynamic temperature","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-n.html","title":"N","content":"N \n A synonym for newton, the SI unit of force","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-pa.html","title":"Pa","content":"Pa \n A synonym for pascal, the SI unit of pressure, stress","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-s-0.html","title":"S","content":"S \n A synonym for siemens, the SI unit of electric conductance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-sv.html","title":"Sv","content":"Sv \n A synonym for sievert, the SI unit of does equivalent","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-t.html","title":"T","content":"T \n A synonym for tesla, the SI unit of magnetic flux density","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-v.html","title":"V","content":"V \n A synonym for volt, the SI unit of electric potential difference, electromotive force","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-w.html","title":"W","content":"W \n A synonym for watt, the SI unit of power, radiant flux","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-wb.html","title":"Wb","content":"Wb \n A synonym for weber, the SI unit of magnetic flux","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-cd.html","title":"cd","content":"cd \n A synonym for candela, the SI unit of luminous intensity","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-kat.html","title":"kat","content":"kat \n A synonym for katal, the SI unit of catalytic activity","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-kg.html","title":"kg","content":"kg \n A synonym for kilogram, the SI unit of mass","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-lm.html","title":"lm","content":"lm \n A synonym for lumen, the SI unit of luminous flux","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-lx.html","title":"lx","content":"lx \n A synonym for lux, the SI unit of illuminance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-m.html","title":"m","content":"m \n A synonym for Metre, the SI unit of length","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-mol.html","title":"mol","content":"mol \n A synonym for mole, the SI unit of amount of substance","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-ohm.html","title":"ohm","content":"ohm \n A synonym for UnitNames.ohm, the SI unit of electric resistance.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-data-unitsystems-si-unitsymbols-s.html","title":"s","content":"s \n A synonym for second, the SI unit of time","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html","title":"Nullable","content":"Nullable \n Functions for converting nullable values \nNullable.byte \nbyte \nNullable.uint8 \nuint8 \nNullable.sbyte \nsbyte \nNullable.int8 \nint8 \nNullable.int16 \nint16 \nNullable.uint16 \nuint16 \nNullable.int \nint \nNullable.uint \nuint \nNullable.enum \nenum \nNullable.int32 \nint32 \nNullable.uint32 \nuint32 \nNullable.int64 \nint64 \nNullable.uint64 \nuint64 \nNullable.float32 \nfloat32 \nNullable.float \nfloat \nNullable.single \nsingle \nNullable.double \ndouble \nNullable.nativeint \nnativeint \nNullable.unativeint \nunativeint \nNullable.decimal \ndecimal \nNullable.char \nchar","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#byte","title":"Nullable.byte","content":"Nullable.byte \nbyte \nConverts the argument to byte. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#uint8","title":"Nullable.uint8","content":"Nullable.uint8 \nuint8 \nConverts the argument to byte. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#sbyte","title":"Nullable.sbyte","content":"Nullable.sbyte \nsbyte \nConverts the argument to signed byte. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#int8","title":"Nullable.int8","content":"Nullable.int8 \nint8 \nConverts the argument to signed byte. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#int16","title":"Nullable.int16","content":"Nullable.int16 \nint16 \nConverts the argument to signed 16-bit integer. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#uint16","title":"Nullable.uint16","content":"Nullable.uint16 \nuint16 \nConverts the argument to unsigned 16-bit integer. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#int","title":"Nullable.int","content":"Nullable.int \nint \nConverts the argument to signed 32-bit integer. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#uint","title":"Nullable.uint","content":"Nullable.uint \nuint \nConverts the argument to an unsigned 32-bit integer. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#enum","title":"Nullable.enum","content":"Nullable.enum \nenum \nConverts the argument to a particular enum type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#int32","title":"Nullable.int32","content":"Nullable.int32 \nint32 \nConverts the argument to signed 32-bit integer. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#uint32","title":"Nullable.uint32","content":"Nullable.uint32 \nuint32 \nConverts the argument to unsigned 32-bit integer. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#int64","title":"Nullable.int64","content":"Nullable.int64 \nint64 \nConverts the argument to signed 64-bit integer. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#uint64","title":"Nullable.uint64","content":"Nullable.uint64 \nuint64 \nConverts the argument to unsigned 64-bit integer. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#float32","title":"Nullable.float32","content":"Nullable.float32 \nfloat32 \nConverts the argument to 32-bit float. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#float","title":"Nullable.float","content":"Nullable.float \nfloat \nConverts the argument to 64-bit float. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#single","title":"Nullable.single","content":"Nullable.single \nsingle \nConverts the argument to 32-bit float. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#double","title":"Nullable.double","content":"Nullable.double \ndouble \nConverts the argument to 64-bit float. This is a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#nativeint","title":"Nullable.nativeint","content":"Nullable.nativeint \nnativeint \nConverts the argument to signed native integer. This is a direct conversion for all \n primitive numeric types. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#unativeint","title":"Nullable.unativeint","content":"Nullable.unativeint \nunativeint \nConverts the argument to unsigned native integer using a direct conversion for all \n primitive numeric types. Otherwise the operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#decimal","title":"Nullable.decimal","content":"Nullable.decimal \ndecimal \nConverts the argument to System.Decimal using a direct conversion for all \n primitive numeric types. The operation requires an appropriate\n static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullablemodule.html#char","title":"Nullable.char","content":"Nullable.char \nchar \nConverts the argument to character. Numeric inputs are converted according to the UTF-16 \n encoding for characters. The operation requires an appropriate static conversion method on the input type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html","title":"NullableOperators","content":"NullableOperators \n Operators for working with nullable values, primarily used on F# queries. \nNullableOperators.(?\u003E=) \n(?\u003E=) \nNullableOperators.(?\u003E) \n(?\u003E) \nNullableOperators.(?\u003C=) \n(?\u003C=) \nNullableOperators.(?\u003C) \n(?\u003C) \nNullableOperators.(?=) \n(?=) \nNullableOperators.(?\u003C\u003E) \n(?\u003C\u003E) \nNullableOperators.(\u003E=?) \n(\u003E=?) \nNullableOperators.(\u003E?) \n(\u003E?) \nNullableOperators.(\u003C=?) \n(\u003C=?) \nNullableOperators.(\u003C?) \n(\u003C?) \nNullableOperators.(=?) \n(=?) \nNullableOperators.(\u003C\u003E?) \n(\u003C\u003E?) \nNullableOperators.(?\u003E=?) \n(?\u003E=?) \nNullableOperators.(?\u003E?) \n(?\u003E?) \nNullableOperators.(?\u003C=?) \n(?\u003C=?) \nNullableOperators.(?\u003C?) \n(?\u003C?) \nNullableOperators.(?=?) \n(?=?) \nNullableOperators.(?\u003C\u003E?) \n(?\u003C\u003E?) \nNullableOperators.(?\u002B) \n(?\u002B) \nNullableOperators.(\u002B?) \n(\u002B?) \nNullableOperators.(?\u002B?) \n(?\u002B?) \nNullableOperators.(?-) \n(?-) \nNullableOperators.(-?) \n(-?) \nNullableOperators.(?-?) \n(?-?) \nNullableOperators.( ?* ) \n( ?* ) \nNullableOperators.( *? ) \n( *? ) \nNullableOperators.(?*?) \n(?*?) \nNullableOperators.(?%) \n(?%) \nNullableOperators.(%?) \n(%?) \nNullableOperators.(?%?) \n(?%?) \nNullableOperators.(?/) \n(?/) \nNullableOperators.(/?) \n(/?) \nNullableOperators.(?/?) \n(?/?)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u003E=)","title":"NullableOperators.(?\u003E=)","content":"NullableOperators.(?\u003E=) \n(?\u003E=) \nThe \u0027\u003E=\u0027 operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u003E)","title":"NullableOperators.(?\u003E)","content":"NullableOperators.(?\u003E) \n(?\u003E) \nThe \u0027\u003E\u0027 operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u003C=)","title":"NullableOperators.(?\u003C=)","content":"NullableOperators.(?\u003C=) \n(?\u003C=) \nThe \u0027\u003C=\u0027 operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u003C)","title":"NullableOperators.(?\u003C)","content":"NullableOperators.(?\u003C) \n(?\u003C) \nThe \u0027\u003C\u0027 operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?=)","title":"NullableOperators.(?=)","content":"NullableOperators.(?=) \n(?=) \nThe \u0027=\u0027 operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u003C\u003E)","title":"NullableOperators.(?\u003C\u003E)","content":"NullableOperators.(?\u003C\u003E) \n(?\u003C\u003E) \nThe \u0027\u003C\u003E\u0027 operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(\u003E=?)","title":"NullableOperators.(\u003E=?)","content":"NullableOperators.(\u003E=?) \n(\u003E=?) \nThe \u0027\u003E=\u0027 operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(\u003E?)","title":"NullableOperators.(\u003E?)","content":"NullableOperators.(\u003E?) \n(\u003E?) \nThe \u0027\u003E\u0027 operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(\u003C=?)","title":"NullableOperators.(\u003C=?)","content":"NullableOperators.(\u003C=?) \n(\u003C=?) \nThe \u0027\u003C=\u0027 operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(\u003C?)","title":"NullableOperators.(\u003C?)","content":"NullableOperators.(\u003C?) \n(\u003C?) \nThe \u0027\u003C\u0027 operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(=?)","title":"NullableOperators.(=?)","content":"NullableOperators.(=?) \n(=?) \nThe \u0027=\u0027 operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(\u003C\u003E?)","title":"NullableOperators.(\u003C\u003E?)","content":"NullableOperators.(\u003C\u003E?) \n(\u003C\u003E?) \nThe \u0027\u003C\u003E\u0027 operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u003E=?)","title":"NullableOperators.(?\u003E=?)","content":"NullableOperators.(?\u003E=?) \n(?\u003E=?) \nThe \u0027\u003E=\u0027 operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u003E?)","title":"NullableOperators.(?\u003E?)","content":"NullableOperators.(?\u003E?) \n(?\u003E?) \nThe \u0027\u003E\u0027 operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u003C=?)","title":"NullableOperators.(?\u003C=?)","content":"NullableOperators.(?\u003C=?) \n(?\u003C=?) \nThe \u0027\u003C=\u0027 operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u003C?)","title":"NullableOperators.(?\u003C?)","content":"NullableOperators.(?\u003C?) \n(?\u003C?) \nThe \u0027\u003C\u0027 operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?=?)","title":"NullableOperators.(?=?)","content":"NullableOperators.(?=?) \n(?=?) \nThe \u0027=\u0027 operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u003C\u003E?)","title":"NullableOperators.(?\u003C\u003E?)","content":"NullableOperators.(?\u003C\u003E?) \n(?\u003C\u003E?) \nThe \u0027\u003C\u003E\u0027 operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u002B)","title":"NullableOperators.(?\u002B)","content":"NullableOperators.(?\u002B) \n(?\u002B) \nThe addition operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(\u002B?)","title":"NullableOperators.(\u002B?)","content":"NullableOperators.(\u002B?) \n(\u002B?) \nThe addition operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?\u002B?)","title":"NullableOperators.(?\u002B?)","content":"NullableOperators.(?\u002B?) \n(?\u002B?) \nThe addition operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?-)","title":"NullableOperators.(?-)","content":"NullableOperators.(?-) \n(?-) \nThe subtraction operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(-?)","title":"NullableOperators.(-?)","content":"NullableOperators.(-?) \n(-?) \nThe subtraction operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?-?)","title":"NullableOperators.(?-?)","content":"NullableOperators.(?-?) \n(?-?) \nThe subtraction operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#( ?* )","title":"NullableOperators.( ?* )","content":"NullableOperators.( ?* ) \n( ?* ) \nThe multiplication operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#( *? )","title":"NullableOperators.( *? )","content":"NullableOperators.( *? ) \n( *? ) \nThe multiplication operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?*?)","title":"NullableOperators.(?*?)","content":"NullableOperators.(?*?) \n(?*?) \nThe multiplication operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?%)","title":"NullableOperators.(?%)","content":"NullableOperators.(?%) \n(?%) \nThe modulus operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(%?)","title":"NullableOperators.(%?)","content":"NullableOperators.(%?) \n(%?) \nThe modulus operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?%?)","title":"NullableOperators.(?%?)","content":"NullableOperators.(?%?) \n(?%?) \nThe modulus operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?/)","title":"NullableOperators.(?/)","content":"NullableOperators.(?/) \n(?/) \nThe division operator where a nullable value appears on the left \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(/?)","title":"NullableOperators.(/?)","content":"NullableOperators.(/?) \n(/?) \nThe division operator where a nullable value appears on the right \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-nullableoperators.html#(?/?)","title":"NullableOperators.(?/?)","content":"NullableOperators.(?/?) \n(?/?) \nThe division operator where a nullable value appears on both left and right sides \nThis operator is primarily for use in F# queries","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html","title":"QueryBuilder","content":"QueryBuilder \n The type used to support the F# query syntax. Use \u0027query { ... }\u0027 to use the query syntax. See\n also \u003Ca href=\u0022https://learn.microsoft.com/dotnet/fsharp/language-reference/query-expressions\u0022\u003EF# Query Expressions\u003C/a\u003E in the F# Language Guide. \nQueryBuilder.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nQueryBuilder.All \nAll \nQueryBuilder.AverageBy \nAverageBy \nQueryBuilder.AverageByNullable \nAverageByNullable \nQueryBuilder.Contains \nContains \nQueryBuilder.Count \nCount \nQueryBuilder.Distinct \nDistinct \nQueryBuilder.ExactlyOne \nExactlyOne \nQueryBuilder.ExactlyOneOrDefault \nExactlyOneOrDefault \nQueryBuilder.Exists \nExists \nQueryBuilder.Find \nFind \nQueryBuilder.For \nFor \nQueryBuilder.GroupBy \nGroupBy \nQueryBuilder.GroupJoin \nGroupJoin \nQueryBuilder.GroupValBy \nGroupValBy \nQueryBuilder.Head \nHead \nQueryBuilder.HeadOrDefault \nHeadOrDefault \nQueryBuilder.Join \nJoin \nQueryBuilder.Last \nLast \nQueryBuilder.LastOrDefault \nLastOrDefault \nQueryBuilder.LeftOuterJoin \nLeftOuterJoin \nQueryBuilder.MaxBy \nMaxBy \nQueryBuilder.MaxByNullable \nMaxByNullable \nQueryBuilder.MinBy \nMinBy \nQueryBuilder.MinByNullable \nMinByNullable \nQueryBuilder.Nth \nNth \nQueryBuilder.Quote \nQuote \nQueryBuilder.Run \nRun \nQueryBuilder.Select \nSelect \nQueryBuilder.Skip \nSkip \nQueryBuilder.SkipWhile \nSkipWhile \nQueryBuilder.SortBy \nSortBy \nQueryBuilder.SortByDescending \nSortByDescending \nQueryBuilder.SortByNullable \nSortByNullable \nQueryBuilder.SortByNullableDescending \nSortByNullableDescending \nQueryBuilder.Source \nSource \nQueryBuilder.Source \nSource \nQueryBuilder.SumBy \nSumBy \nQueryBuilder.SumByNullable \nSumByNullable \nQueryBuilder.Take \nTake \nQueryBuilder.TakeWhile \nTakeWhile \nQueryBuilder.ThenBy \nThenBy \nQueryBuilder.ThenByDescending \nThenByDescending \nQueryBuilder.ThenByNullable \nThenByNullable \nQueryBuilder.ThenByNullableDescending \nThenByNullableDescending \nQueryBuilder.Where \nWhere \nQueryBuilder.Yield \nYield \nQueryBuilder.YieldFrom \nYieldFrom \nQueryBuilder.Zero \nZero","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#\u0060\u0060.ctor\u0060\u0060","title":"QueryBuilder.\u0060\u0060.ctor\u0060\u0060","content":"QueryBuilder.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreate an instance of this builder. Use \u0027query { ... }\u0027 to use the query syntax.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#All","title":"QueryBuilder.All","content":"QueryBuilder.All \nAll \nA query operator that determines whether all elements selected so far satisfies a condition.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#AverageBy","title":"QueryBuilder.AverageBy","content":"QueryBuilder.AverageBy \nAverageBy \nA query operator that selects a value for each element selected so far and returns the average of these values. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#AverageByNullable","title":"QueryBuilder.AverageByNullable","content":"QueryBuilder.AverageByNullable \nAverageByNullable \nA query operator that selects a nullable value for each element selected so far and returns the average of these values. \n If any nullable does not have a value, it is ignored.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Contains","title":"QueryBuilder.Contains","content":"QueryBuilder.Contains \nContains \nA query operator that determines whether the selected elements contains a specified element.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Count","title":"QueryBuilder.Count","content":"QueryBuilder.Count \nCount \nA query operator that returns the number of selected elements.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Distinct","title":"QueryBuilder.Distinct","content":"QueryBuilder.Distinct \nDistinct \nA query operator that selects distinct elements from the elements selected so far. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#ExactlyOne","title":"QueryBuilder.ExactlyOne","content":"QueryBuilder.ExactlyOne \nExactlyOne \nA query operator that selects the single, specific element selected so far\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#ExactlyOneOrDefault","title":"QueryBuilder.ExactlyOneOrDefault","content":"QueryBuilder.ExactlyOneOrDefault \nExactlyOneOrDefault \nA query operator that selects the single, specific element of those selected so far, or a default value if that element is not found.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Exists","title":"QueryBuilder.Exists","content":"QueryBuilder.Exists \nExists \nA query operator that determines whether any element selected so far satisfies a condition.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Find","title":"QueryBuilder.Find","content":"QueryBuilder.Find \nFind \nA query operator that selects the first element selected so far that satisfies a specified condition.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#For","title":"QueryBuilder.For","content":"QueryBuilder.For \nFor \n\n 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.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#GroupBy","title":"QueryBuilder.GroupBy","content":"QueryBuilder.GroupBy \nGroupBy \nA query operator that groups the elements selected so far according to a specified key selector.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#GroupJoin","title":"QueryBuilder.GroupJoin","content":"QueryBuilder.GroupJoin \nGroupJoin \nA query operator that correlates two sets of selected values based on matching keys and groups the results. \n Normal usage is \u0027groupJoin y in elements2 on (key1 = key2) into group\u0027. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#GroupValBy","title":"QueryBuilder.GroupValBy","content":"QueryBuilder.GroupValBy \nGroupValBy \nA query operator that selects a value for each element selected so far and groups the elements by the given key.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Head","title":"QueryBuilder.Head","content":"QueryBuilder.Head \nHead \nA query operator that selects the first element from those selected so far.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#HeadOrDefault","title":"QueryBuilder.HeadOrDefault","content":"QueryBuilder.HeadOrDefault \nHeadOrDefault \nA query operator that selects the first element of those selected so far, or a default value if the sequence contains no elements.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Join","title":"QueryBuilder.Join","content":"QueryBuilder.Join \nJoin \nA query operator that correlates two sets of selected values based on matching keys. \n Normal usage is \u0027join y in elements2 on (key1 = key2)\u0027. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Last","title":"QueryBuilder.Last","content":"QueryBuilder.Last \nLast \nA query operator that selects the last element of those selected so far.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#LastOrDefault","title":"QueryBuilder.LastOrDefault","content":"QueryBuilder.LastOrDefault \nLastOrDefault \nA query operator that selects the last element of those selected so far, or a default value if no element is found.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#LeftOuterJoin","title":"QueryBuilder.LeftOuterJoin","content":"QueryBuilder.LeftOuterJoin \nLeftOuterJoin \nA query operator that correlates two sets of selected values based on matching keys and groups the results.\n If any group is empty, a group with a single default value is used instead. \n Normal usage is \u0027leftOuterJoin y in elements2 on (key1 = key2) into group\u0027. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#MaxBy","title":"QueryBuilder.MaxBy","content":"QueryBuilder.MaxBy \nMaxBy \nA query operator that selects a value for each element selected so far and returns the maximum resulting value. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#MaxByNullable","title":"QueryBuilder.MaxByNullable","content":"QueryBuilder.MaxByNullable \nMaxByNullable \nA query operator that selects a nullable value for each element selected so far and returns the maximum of these values. \n If any nullable does not have a value, it is ignored.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#MinBy","title":"QueryBuilder.MinBy","content":"QueryBuilder.MinBy \nMinBy \nA query operator that selects a value for each element selected so far and returns the minimum resulting value. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#MinByNullable","title":"QueryBuilder.MinByNullable","content":"QueryBuilder.MinByNullable \nMinByNullable \nA query operator that selects a nullable value for each element selected so far and returns the minimum of these values. \n If any nullable does not have a value, it is ignored.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Nth","title":"QueryBuilder.Nth","content":"QueryBuilder.Nth \nNth \nA query operator that selects the element at a specified index amongst those selected so far.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Quote","title":"QueryBuilder.Quote","content":"QueryBuilder.Quote \nQuote \n\n A method used to support the F# query syntax. Indicates that the query should be passed as a quotation to the Run method.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Run","title":"QueryBuilder.Run","content":"QueryBuilder.Run \nRun \n\n A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IQueryable rules.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Select","title":"QueryBuilder.Select","content":"QueryBuilder.Select \nSelect \nA query operator that projects each of the elements selected so far.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Skip","title":"QueryBuilder.Skip","content":"QueryBuilder.Skip \nSkip \nA query operator that bypasses a specified number of the elements selected so far and selects the remaining elements.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#SkipWhile","title":"QueryBuilder.SkipWhile","content":"QueryBuilder.SkipWhile \nSkipWhile \nA query operator that bypasses elements in a sequence as long as a specified condition is true and then selects the remaining elements.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#SortBy","title":"QueryBuilder.SortBy","content":"QueryBuilder.SortBy \nSortBy \nA query operator that sorts the elements selected so far in ascending order by the given sorting key.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#SortByDescending","title":"QueryBuilder.SortByDescending","content":"QueryBuilder.SortByDescending \nSortByDescending \nA query operator that sorts the elements selected so far in descending order by the given sorting key.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#SortByNullable","title":"QueryBuilder.SortByNullable","content":"QueryBuilder.SortByNullable \nSortByNullable \nA query operator that sorts the elements selected so far in ascending order by the given nullable sorting key.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#SortByNullableDescending","title":"QueryBuilder.SortByNullableDescending","content":"QueryBuilder.SortByNullableDescending \nSortByNullableDescending \nA query operator that sorts the elements selected so far in descending order by the given nullable sorting key.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Source","title":"QueryBuilder.Source","content":"QueryBuilder.Source \nSource \n\n 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.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Source","title":"QueryBuilder.Source","content":"QueryBuilder.Source \nSource \n\n 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.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#SumBy","title":"QueryBuilder.SumBy","content":"QueryBuilder.SumBy \nSumBy \nA query operator that selects a value for each element selected so far and returns the sum of these values. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#SumByNullable","title":"QueryBuilder.SumByNullable","content":"QueryBuilder.SumByNullable \nSumByNullable \nA query operator that selects a nullable value for each element selected so far and returns the sum of these values. \n If any nullable does not have a value, it is ignored.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Take","title":"QueryBuilder.Take","content":"QueryBuilder.Take \nTake \nA query operator that selects a specified number of contiguous elements from those selected so far.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#TakeWhile","title":"QueryBuilder.TakeWhile","content":"QueryBuilder.TakeWhile \nTakeWhile \nA query operator that selects elements from a sequence as long as a specified condition is true, and then skips the remaining elements.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#ThenBy","title":"QueryBuilder.ThenBy","content":"QueryBuilder.ThenBy \nThenBy \nA query operator that performs a subsequent ordering of the elements selected so far in ascending order by the given sorting key.\n This operator may only be used immediately after a \u0027sortBy\u0027, \u0027sortByDescending\u0027, \u0027thenBy\u0027 or \u0027thenByDescending\u0027, or their nullable variants.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#ThenByDescending","title":"QueryBuilder.ThenByDescending","content":"QueryBuilder.ThenByDescending \nThenByDescending \nA query operator that performs a subsequent ordering of the elements selected so far in descending order by the given sorting key.\n This operator may only be used immediately after a \u0027sortBy\u0027, \u0027sortByDescending\u0027, \u0027thenBy\u0027 or \u0027thenByDescending\u0027, or their nullable variants.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#ThenByNullable","title":"QueryBuilder.ThenByNullable","content":"QueryBuilder.ThenByNullable \nThenByNullable \nA query operator that performs a subsequent ordering of the elements selected so far in ascending order by the given nullable sorting key.\n This operator may only be used immediately after a \u0027sortBy\u0027, \u0027sortByDescending\u0027, \u0027thenBy\u0027 or \u0027thenByDescending\u0027, or their nullable variants.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#ThenByNullableDescending","title":"QueryBuilder.ThenByNullableDescending","content":"QueryBuilder.ThenByNullableDescending \nThenByNullableDescending \nA query operator that performs a subsequent ordering of the elements selected so far in descending order by the given nullable sorting key.\n This operator may only be used immediately after a \u0027sortBy\u0027, \u0027sortByDescending\u0027, \u0027thenBy\u0027 or \u0027thenByDescending\u0027, or their nullable variants.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Where","title":"QueryBuilder.Where","content":"QueryBuilder.Where \nWhere \nA query operator that selects those elements based on a specified predicate. \n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Yield","title":"QueryBuilder.Yield","content":"QueryBuilder.Yield \nYield \n\n A method used to support the F# query syntax. Returns a sequence of length one that contains the specified value.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#YieldFrom","title":"QueryBuilder.YieldFrom","content":"QueryBuilder.YieldFrom \nYieldFrom \n\n A method used to support the F# query syntax. Returns a sequence that contains the specified values.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querybuilder.html#Zero","title":"QueryBuilder.Zero","content":"QueryBuilder.Zero \nZero \n\n A method used to support the F# query syntax. Returns an empty sequence that has the specified type argument.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querysource-2.html","title":"QuerySource\u003C\u0027T, \u0027Q\u003E","content":"QuerySource\u003C\u0027T, \u0027Q\u003E \n\n A partial input or result in an F# query. This type is used to support the F# query syntax.\n \nQuerySource\u003C\u0027T, \u0027Q\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nQuerySource\u003C\u0027T, \u0027Q\u003E.Source \nSource","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querysource-2.html#\u0060\u0060.ctor\u0060\u0060","title":"QuerySource\u003C\u0027T, \u0027Q\u003E.\u0060\u0060.ctor\u0060\u0060","content":"QuerySource\u003C\u0027T, \u0027Q\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n A method used to support the F# query syntax. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-querysource-2.html#Source","title":"QuerySource\u003C\u0027T, \u0027Q\u003E.Source","content":"QuerySource\u003C\u0027T, \u0027Q\u003E.Source \nSource \n A property used to support the F# query syntax. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-queryrunextensions-highpriority.html","title":"HighPriority","content":"HighPriority \n A module used to support the F# query syntax. \nHighPriority.Run \nRun","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-queryrunextensions-highpriority.html#Run","title":"HighPriority.Run","content":"HighPriority.Run \nRun \n A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IEnumerable rules.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-queryrunextensions-lowpriority.html","title":"LowPriority","content":"LowPriority \n\n A module used to support the F# query syntax. \n \nLowPriority.Run \nRun","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-queryrunextensions-lowpriority.html#Run","title":"LowPriority.Run","content":"LowPriority.Run \nRun \n A method used to support the F# query syntax. Runs the given quotation as a query using LINQ rules.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html","title":"LeafExpressionConverter","content":"LeafExpressionConverter \n\n Contains functionality to convert F# quotations to LINQ expression trees.\n \nLeafExpressionConverter.ImplicitExpressionConversionHelper \nImplicitExpressionConversionHelper \nLeafExpressionConverter.MemberInitializationHelper \nMemberInitializationHelper \nLeafExpressionConverter.NewAnonymousObjectHelper \nNewAnonymousObjectHelper \nLeafExpressionConverter.QuotationToExpression \nQuotationToExpression \nLeafExpressionConverter.QuotationToLambdaExpression \nQuotationToLambdaExpression \nLeafExpressionConverter.EvaluateQuotation \nEvaluateQuotation \nLeafExpressionConverter.SubstHelper \nSubstHelper \nLeafExpressionConverter.SubstHelperRaw \nSubstHelperRaw","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html#ImplicitExpressionConversionHelper","title":"LeafExpressionConverter.ImplicitExpressionConversionHelper","content":"LeafExpressionConverter.ImplicitExpressionConversionHelper \nImplicitExpressionConversionHelper \n When used in a quotation, this function indicates a specific conversion\n should be performed when converting the quotation to a LINQ expression.\n\n This function should not be called directly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html#MemberInitializationHelper","title":"LeafExpressionConverter.MemberInitializationHelper","content":"LeafExpressionConverter.MemberInitializationHelper \nMemberInitializationHelper \n When used in a quotation, this function indicates a specific conversion\n should be performed when converting the quotation to a LINQ expression.\n\n This function should not be called directly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html#NewAnonymousObjectHelper","title":"LeafExpressionConverter.NewAnonymousObjectHelper","content":"LeafExpressionConverter.NewAnonymousObjectHelper \nNewAnonymousObjectHelper \n When used in a quotation, this function indicates a specific conversion\n should be performed when converting the quotation to a LINQ expression.\n\n This function should not be called directly.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html#QuotationToExpression","title":"LeafExpressionConverter.QuotationToExpression","content":"LeafExpressionConverter.QuotationToExpression \nQuotationToExpression \n\n Converts a subset of F# quotations to a LINQ expression, for the subset of LINQ expressions represented by the\n expression syntax in the C# language.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html#QuotationToLambdaExpression","title":"LeafExpressionConverter.QuotationToLambdaExpression","content":"LeafExpressionConverter.QuotationToLambdaExpression \nQuotationToLambdaExpression \n\n Converts a subset of F# quotations to a LINQ expression, for the subset of LINQ expressions represented by the\n expression syntax in the C# language.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html#EvaluateQuotation","title":"LeafExpressionConverter.EvaluateQuotation","content":"LeafExpressionConverter.EvaluateQuotation \nEvaluateQuotation \n\n Evaluates a subset of F# quotations by first converting to a LINQ expression, for the subset of LINQ expressions represented by the\n expression syntax in the C# language.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html#SubstHelper","title":"LeafExpressionConverter.SubstHelper","content":"LeafExpressionConverter.SubstHelper \nSubstHelper \n\n A runtime helper used to evaluate nested quotation literals.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html#SubstHelperRaw","title":"LeafExpressionConverter.SubstHelperRaw","content":"LeafExpressionConverter.SubstHelperRaw \nSubstHelperRaw \n\n A runtime helper used to evaluate nested quotation literals.\n ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-1.html","title":"AnonymousObject\u003C\u0027T1\u003E","content":"AnonymousObject\u003C\u0027T1\u003E \nThis type shouldn\u0027t be used directly from user code. \nAnonymousObject\u003C\u0027T1\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAnonymousObject\u003C\u0027T1\u003E.Item1 \nItem1 \nAnonymousObject\u003C\u0027T1\u003E.item1 \nitem1","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-1.html#\u0060\u0060.ctor\u0060\u0060","title":"AnonymousObject\u003C\u0027T1\u003E.\u0060\u0060.ctor\u0060\u0060","content":"AnonymousObject\u003C\u0027T1\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-1.html#Item1","title":"AnonymousObject\u003C\u0027T1\u003E.Item1","content":"AnonymousObject\u003C\u0027T1\u003E.Item1 \nItem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-1.html#item1","title":"AnonymousObject\u003C\u0027T1\u003E.item1","content":"AnonymousObject\u003C\u0027T1\u003E.item1 \nitem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-2.html","title":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E","content":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E \nThis type shouldn\u0027t be used directly from user code. \nAnonymousObject\u003C\u0027T1, \u0027T2\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAnonymousObject\u003C\u0027T1, \u0027T2\u003E.Item1 \nItem1 \nAnonymousObject\u003C\u0027T1, \u0027T2\u003E.Item2 \nItem2 \nAnonymousObject\u003C\u0027T1, \u0027T2\u003E.item1 \nitem1 \nAnonymousObject\u003C\u0027T1, \u0027T2\u003E.item2 \nitem2","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-2.html#\u0060\u0060.ctor\u0060\u0060","title":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E.\u0060\u0060.ctor\u0060\u0060","content":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-2.html#Item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E.Item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E.Item1 \nItem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-2.html#Item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E.Item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E.Item2 \nItem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-2.html#item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E.item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E.item1 \nitem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-2.html#item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E.item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2\u003E.item2 \nitem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-3.html","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E \nThis type shouldn\u0027t be used directly from user code. \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Item1 \nItem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Item2 \nItem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Item3 \nItem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.item1 \nitem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.item2 \nitem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.item3 \nitem3","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-3.html#\u0060\u0060.ctor\u0060\u0060","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.\u0060\u0060.ctor\u0060\u0060","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-3.html#Item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Item1 \nItem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-3.html#Item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Item2 \nItem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-3.html#Item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.Item3 \nItem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-3.html#item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.item1 \nitem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-3.html#item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.item2 \nitem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-3.html#item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3\u003E.item3 \nitem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-4.html","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E \nThis type shouldn\u0027t be used directly from user code. \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item1 \nItem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item4 \nItem4 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item2 \nItem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item3 \nItem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item1 \nitem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item2 \nitem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item3 \nitem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item4 \nitem4","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-4.html#\u0060\u0060.ctor\u0060\u0060","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.\u0060\u0060.ctor\u0060\u0060","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-4.html#Item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item1 \nItem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-4.html#Item4","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item4","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item4 \nItem4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-4.html#Item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item2 \nItem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-4.html#Item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.Item3 \nItem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-4.html#item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item1 \nitem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-4.html#item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item2 \nitem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-4.html#item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item3 \nitem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-4.html#item4","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item4","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4\u003E.item4 \nitem4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E \nThis type shouldn\u0027t be used directly from user code. \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item1 \nItem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item4 \nItem4 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item2 \nItem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item5 \nItem5 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item3 \nItem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item1 \nitem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item2 \nitem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item3 \nitem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item4 \nitem4 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item5 \nitem5","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#\u0060\u0060.ctor\u0060\u0060","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.\u0060\u0060.ctor\u0060\u0060","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#Item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item1 \nItem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#Item4","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item4","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item4 \nItem4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#Item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item2 \nItem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#Item5","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item5","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item5 \nItem5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#Item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.Item3 \nItem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item1 \nitem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item2 \nitem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item3 \nitem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#item4","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item4","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item4 \nitem4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-5.html#item5","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item5","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5\u003E.item5 \nitem5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E \nThis type shouldn\u0027t be used directly from user code. \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item1 \nItem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item4 \nItem4 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item2 \nItem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item5 \nItem5 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item3 \nItem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item6 \nItem6 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item1 \nitem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item2 \nitem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item3 \nitem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item4 \nitem4 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item5 \nitem5 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item6 \nitem6","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#\u0060\u0060.ctor\u0060\u0060","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.\u0060\u0060.ctor\u0060\u0060","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#Item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item1 \nItem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#Item4","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item4","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item4 \nItem4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#Item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item2 \nItem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#Item5","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item5","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item5 \nItem5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#Item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item3 \nItem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#Item6","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item6","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.Item6 \nItem6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item1 \nitem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item2 \nitem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item3 \nitem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#item4","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item4","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item4 \nitem4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#item5","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item5","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item5 \nitem5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-6.html#item6","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item6","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6\u003E.item6 \nitem6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E \nThis type shouldn\u0027t be used directly from user code. \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item1 \nItem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item4 \nItem4 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item2 \nItem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item7 \nItem7 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item5 \nItem5 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item3 \nItem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item6 \nItem6 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item1 \nitem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item2 \nitem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item3 \nitem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item4 \nitem4 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item5 \nitem5 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item6 \nitem6 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item7 \nitem7","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#\u0060\u0060.ctor\u0060\u0060","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.\u0060\u0060.ctor\u0060\u0060","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#Item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item1 \nItem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#Item4","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item4","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item4 \nItem4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#Item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item2 \nItem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#Item7","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item7","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item7 \nItem7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#Item5","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item5","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item5 \nItem5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#Item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item3 \nItem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#Item6","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item6","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.Item6 \nItem6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item1 \nitem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item2 \nitem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item3 \nitem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#item4","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item4","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item4 \nitem4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#item5","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item5","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item5 \nitem5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#item6","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item6","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item6 \nitem6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-7.html#item7","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item7","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7\u003E.item7 \nitem7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E \nThis type shouldn\u0027t be used directly from user code. \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item1 \nItem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item4 \nItem4 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item2 \nItem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item7 \nItem7 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item5 \nItem5 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item8 \nItem8 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item3 \nItem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item6 \nItem6 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item1 \nitem1 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item2 \nitem2 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item3 \nitem3 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item4 \nitem4 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item5 \nitem5 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item6 \nitem6 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item7 \nitem7 \nAnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item8 \nitem8","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#\u0060\u0060.ctor\u0060\u0060","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.\u0060\u0060.ctor\u0060\u0060","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#Item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item1 \nItem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#Item4","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item4","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item4 \nItem4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#Item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item2 \nItem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#Item7","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item7","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item7 \nItem7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#Item5","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item5","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item5 \nItem5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#Item8","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item8","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item8 \nItem8 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#Item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item3 \nItem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#Item6","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item6","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.Item6 \nItem6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#item1","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item1","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item1 \nitem1 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#item2","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item2","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item2 \nitem2 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#item3","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item3","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item3 \nitem3 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#item4","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item4","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item4 \nitem4 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#item5","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item5","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item5 \nitem5 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#item6","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item6","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item6 \nitem6 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#item7","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item7","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item7 \nitem7 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-anonymousobject-8.html#item8","title":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item8","content":"AnonymousObject\u003C\u0027T1, \u0027T2, \u0027T3, \u0027T4, \u0027T5, \u0027T6, \u0027T7, \u0027T8\u003E.item8 \nitem8 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-grouping-2.html","title":"Grouping\u003C\u0027K, \u0027T\u003E","content":"Grouping\u003C\u0027K, \u0027T\u003E \n A type used to reconstruct a grouping after applying a mutable-\u003Eimmutable mapping transformation\n on a result of a query. \nGrouping\u003C\u0027K, \u0027T\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-linq-runtimehelpers-grouping-2.html#\u0060\u0060.ctor\u0060\u0060","title":"Grouping\u003C\u0027K, \u0027T\u003E.\u0060\u0060.ctor\u0060\u0060","content":"Grouping\u003C\u0027K, \u0027T\u003E.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \n","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html","title":"NativePtr","content":"NativePtr \nContains operations on native pointers. Use of these operators may\n result in the generation of unverifiable code. \nNativePtr.ofNativeInt \nofNativeInt \nNativePtr.toNativeInt \ntoNativeInt \nNativePtr.ofVoidPtr \nofVoidPtr \nNativePtr.toVoidPtr \ntoVoidPtr \nNativePtr.ofILSigPtr \nofILSigPtr \nNativePtr.toILSigPtr \ntoILSigPtr \nNativePtr.toByRef \ntoByRef \nNativePtr.add \nadd \nNativePtr.get \nget \nNativePtr.read \nread \nNativePtr.write \nwrite \nNativePtr.set \nset \nNativePtr.stackalloc \nstackalloc \nNativePtr.nullPtr \nnullPtr \nNativePtr.isNullPtr \nisNullPtr \nNativePtr.clear \nclear \nNativePtr.initBlock \ninitBlock \nNativePtr.copy \ncopy \nNativePtr.copyBlock \ncopyBlock","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#ofNativeInt","title":"NativePtr.ofNativeInt","content":"NativePtr.ofNativeInt \nofNativeInt \nReturns a typed native pointer for a given machine address.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#toNativeInt","title":"NativePtr.toNativeInt","content":"NativePtr.toNativeInt \ntoNativeInt \nReturns a machine address for a given typed native pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#ofVoidPtr","title":"NativePtr.ofVoidPtr","content":"NativePtr.ofVoidPtr \nofVoidPtr \nReturns a typed native pointer for a untyped native pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#toVoidPtr","title":"NativePtr.toVoidPtr","content":"NativePtr.toVoidPtr \ntoVoidPtr \nReturns an untyped native pointer for a given typed native pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#ofILSigPtr","title":"NativePtr.ofILSigPtr","content":"NativePtr.ofILSigPtr \nofILSigPtr \nReturns a typed native pointer for a Common IL (Intermediate Language) signature pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#toILSigPtr","title":"NativePtr.toILSigPtr","content":"NativePtr.toILSigPtr \ntoILSigPtr \nReturns a Common IL (Intermediate Language) signature pointer for a given typed native pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#toByRef","title":"NativePtr.toByRef","content":"NativePtr.toByRef \ntoByRef \nConverts a given typed native pointer to a managed pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#add","title":"NativePtr.add","content":"NativePtr.add \nadd \nReturns a typed native pointer by adding index * sizeof\u003C\u0027T\u003E to the\n given input pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#get","title":"NativePtr.get","content":"NativePtr.get \nget \nDereferences the typed native pointer computed by adding index * sizeof\u003C\u0027T\u003E to the\n given input pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#read","title":"NativePtr.read","content":"NativePtr.read \nread \nDereferences the given typed native pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#write","title":"NativePtr.write","content":"NativePtr.write \nwrite \nAssigns the \u003Ccode\u003Evalue\u003C/code\u003E into the memory location referenced by the given typed native pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#set","title":"NativePtr.set","content":"NativePtr.set \nset \nAssigns the \u003Ccode\u003Evalue\u003C/code\u003E into the memory location referenced by the typed native\n pointer computed by adding index * sizeof\u003C\u0027T\u003E to the given input pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#stackalloc","title":"NativePtr.stackalloc","content":"NativePtr.stackalloc \nstackalloc \nAllocates a region of memory on the stack.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#nullPtr","title":"NativePtr.nullPtr","content":"NativePtr.nullPtr \nnullPtr \nGets the null native pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#isNullPtr","title":"NativePtr.isNullPtr","content":"NativePtr.isNullPtr \nisNullPtr \nTests whether the given native pointer is null.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#clear","title":"NativePtr.clear","content":"NativePtr.clear \nclear \nClears the value stored at the location of a given native pointer.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#initBlock","title":"NativePtr.initBlock","content":"NativePtr.initBlock \ninitBlock \nInitializes a specified block of memory starting at a specific address to a given byte count and initial byte value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#copy","title":"NativePtr.copy","content":"NativePtr.copy \ncopy \nCopies a value to a specified destination address from a specified source address.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-nativeinterop-nativeptrmodule.html#copyBlock","title":"NativePtr.copyBlock","content":"NativePtr.copyBlock \ncopyBlock \nCopies a block of memory to a specified destination address starting from a specified source address until a specified byte count of (count * sizeof\u003C\u0027T\u003E).","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html","title":"DerivedPatterns","content":"DerivedPatterns \nContains a set of derived F# active patterns to analyze F# expression objects \nDerivedPatterns.(|Lambdas|_|) \n(|Lambdas|_|) \nDerivedPatterns.(|Applications|_|) \n(|Applications|_|) \nDerivedPatterns.(|AndAlso|_|) \n(|AndAlso|_|) \nDerivedPatterns.(|OrElse|_|) \n(|OrElse|_|) \nDerivedPatterns.(|Unit|_|) \n(|Unit|_|) \nDerivedPatterns.(|Bool|_|) \n(|Bool|_|) \nDerivedPatterns.(|String|_|) \n(|String|_|) \nDerivedPatterns.(|Single|_|) \n(|Single|_|) \nDerivedPatterns.(|Double|_|) \n(|Double|_|) \nDerivedPatterns.(|Char|_|) \n(|Char|_|) \nDerivedPatterns.(|SByte|_|) \n(|SByte|_|) \nDerivedPatterns.(|Byte|_|) \n(|Byte|_|) \nDerivedPatterns.(|Int16|_|) \n(|Int16|_|) \nDerivedPatterns.(|UInt16|_|) \n(|UInt16|_|) \nDerivedPatterns.(|Int32|_|) \n(|Int32|_|) \nDerivedPatterns.(|UInt32|_|) \n(|UInt32|_|) \nDerivedPatterns.(|Int64|_|) \n(|Int64|_|) \nDerivedPatterns.(|UInt64|_|) \n(|UInt64|_|) \nDerivedPatterns.(|Decimal|_|) \n(|Decimal|_|) \nDerivedPatterns.(|SpecificCall|_|) \n(|SpecificCall|_|) \nDerivedPatterns.(|MethodWithReflectedDefinition|_|) \n(|MethodWithReflectedDefinition|_|) \nDerivedPatterns.(|PropertyGetterWithReflectedDefinition|_|) \n(|PropertyGetterWithReflectedDefinition|_|) \nDerivedPatterns.(|PropertySetterWithReflectedDefinition|_|) \n(|PropertySetterWithReflectedDefinition|_|)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Lambdas|_|)","title":"DerivedPatterns.(|Lambdas|_|)","content":"DerivedPatterns.(|Lambdas|_|) \n(|Lambdas|_|) \nAn active pattern to recognize expressions that represent a (possibly curried or tupled) first class function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Applications|_|)","title":"DerivedPatterns.(|Applications|_|)","content":"DerivedPatterns.(|Applications|_|) \n(|Applications|_|) \nAn active pattern to recognize expressions that represent the application of a (possibly curried or tupled) first class function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|AndAlso|_|)","title":"DerivedPatterns.(|AndAlso|_|)","content":"DerivedPatterns.(|AndAlso|_|) \n(|AndAlso|_|) \nAn active pattern to recognize expressions of the form \u003Ccode\u003Ea \u0026amp;\u0026amp; b\u003C/code\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|OrElse|_|)","title":"DerivedPatterns.(|OrElse|_|)","content":"DerivedPatterns.(|OrElse|_|) \n(|OrElse|_|) \nAn active pattern to recognize expressions of the form \u003Ccode\u003Ea || b\u003C/code\u003E","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Unit|_|)","title":"DerivedPatterns.(|Unit|_|)","content":"DerivedPatterns.(|Unit|_|) \n(|Unit|_|) \nAn active pattern to recognize \u003Ccode\u003E()\u003C/code\u003E constant expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Bool|_|)","title":"DerivedPatterns.(|Bool|_|)","content":"DerivedPatterns.(|Bool|_|) \n(|Bool|_|) \nAn active pattern to recognize constant boolean expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|String|_|)","title":"DerivedPatterns.(|String|_|)","content":"DerivedPatterns.(|String|_|) \n(|String|_|) \nAn active pattern to recognize constant string expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Single|_|)","title":"DerivedPatterns.(|Single|_|)","content":"DerivedPatterns.(|Single|_|) \n(|Single|_|) \nAn active pattern to recognize constant 32-bit floating point number expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Double|_|)","title":"DerivedPatterns.(|Double|_|)","content":"DerivedPatterns.(|Double|_|) \n(|Double|_|) \nAn active pattern to recognize constant 64-bit floating point number expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Char|_|)","title":"DerivedPatterns.(|Char|_|)","content":"DerivedPatterns.(|Char|_|) \n(|Char|_|) \nAn active pattern to recognize constant unicode character expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|SByte|_|)","title":"DerivedPatterns.(|SByte|_|)","content":"DerivedPatterns.(|SByte|_|) \n(|SByte|_|) \nAn active pattern to recognize constant signed byte expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Byte|_|)","title":"DerivedPatterns.(|Byte|_|)","content":"DerivedPatterns.(|Byte|_|) \n(|Byte|_|) \nAn active pattern to recognize constant byte expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Int16|_|)","title":"DerivedPatterns.(|Int16|_|)","content":"DerivedPatterns.(|Int16|_|) \n(|Int16|_|) \nAn active pattern to recognize constant int16 expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|UInt16|_|)","title":"DerivedPatterns.(|UInt16|_|)","content":"DerivedPatterns.(|UInt16|_|) \n(|UInt16|_|) \nAn active pattern to recognize constant unsigned int16 expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Int32|_|)","title":"DerivedPatterns.(|Int32|_|)","content":"DerivedPatterns.(|Int32|_|) \n(|Int32|_|) \nAn active pattern to recognize constant int32 expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|UInt32|_|)","title":"DerivedPatterns.(|UInt32|_|)","content":"DerivedPatterns.(|UInt32|_|) \n(|UInt32|_|) \nAn active pattern to recognize constant unsigned int32 expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Int64|_|)","title":"DerivedPatterns.(|Int64|_|)","content":"DerivedPatterns.(|Int64|_|) \n(|Int64|_|) \nAn active pattern to recognize constant int64 expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|UInt64|_|)","title":"DerivedPatterns.(|UInt64|_|)","content":"DerivedPatterns.(|UInt64|_|) \n(|UInt64|_|) \nAn active pattern to recognize constant unsigned int64 expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|Decimal|_|)","title":"DerivedPatterns.(|Decimal|_|)","content":"DerivedPatterns.(|Decimal|_|) \n(|Decimal|_|) \nAn active pattern to recognize constant decimal expressions","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|SpecificCall|_|)","title":"DerivedPatterns.(|SpecificCall|_|)","content":"DerivedPatterns.(|SpecificCall|_|) \n(|SpecificCall|_|) \nA parameterized active pattern to recognize calls to a specified function or method.\n The returned elements are the optional target object (present if the target is an\n instance method), the generic type instantiation (non-empty if the target is a generic\n instantiation), and the arguments to the function or method.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|MethodWithReflectedDefinition|_|)","title":"DerivedPatterns.(|MethodWithReflectedDefinition|_|)","content":"DerivedPatterns.(|MethodWithReflectedDefinition|_|) \n(|MethodWithReflectedDefinition|_|) \nAn active pattern to recognize methods that have an associated ReflectedDefinition","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|PropertyGetterWithReflectedDefinition|_|)","title":"DerivedPatterns.(|PropertyGetterWithReflectedDefinition|_|)","content":"DerivedPatterns.(|PropertyGetterWithReflectedDefinition|_|) \n(|PropertyGetterWithReflectedDefinition|_|) \nAn active pattern to recognize property getters or values in modules that have an associated ReflectedDefinition","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-derivedpatternsmodule.html#(|PropertySetterWithReflectedDefinition|_|)","title":"DerivedPatterns.(|PropertySetterWithReflectedDefinition|_|)","content":"DerivedPatterns.(|PropertySetterWithReflectedDefinition|_|) \n(|PropertySetterWithReflectedDefinition|_|) \nAn active pattern to recognize property setters that have an associated ReflectedDefinition","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-exprshapemodule.html","title":"ExprShape","content":"ExprShape \nActive patterns for traversing, visiting, rebuilding and transforming expressions in a generic way \nExprShape.RebuildShapeCombination \nRebuildShapeCombination \nExprShape.(|ShapeVar|ShapeLambda|ShapeCombination|) \n(|ShapeVar|ShapeLambda|ShapeCombination|)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-exprshapemodule.html#RebuildShapeCombination","title":"ExprShape.RebuildShapeCombination","content":"ExprShape.RebuildShapeCombination \nRebuildShapeCombination \nRe-build combination expressions. The first parameter should be an object\n returned by the \u003Ccode\u003EShapeCombination\u003C/code\u003E case of the active pattern in this module.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-exprshapemodule.html#(|ShapeVar|ShapeLambda|ShapeCombination|)","title":"ExprShape.(|ShapeVar|ShapeLambda|ShapeCombination|)","content":"ExprShape.(|ShapeVar|ShapeLambda|ShapeCombination|) \n(|ShapeVar|ShapeLambda|ShapeCombination|) \nAn active pattern that performs a complete decomposition viewing the expression tree as a binding structure","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html","title":"Patterns","content":"Patterns \nContains a set of primitive F# active patterns to analyze F# expression objects \nPatterns.(|AddressOf|_|) \n(|AddressOf|_|) \nPatterns.(|AddressSet|_|) \n(|AddressSet|_|) \nPatterns.(|Application|_|) \n(|Application|_|) \nPatterns.(|Call|_|) \n(|Call|_|) \nPatterns.(|CallWithWitnesses|_|) \n(|CallWithWitnesses|_|) \nPatterns.(|Coerce|_|) \n(|Coerce|_|) \nPatterns.(|FieldGet|_|) \n(|FieldGet|_|) \nPatterns.(|FieldSet|_|) \n(|FieldSet|_|) \nPatterns.(|ForIntegerRangeLoop|_|) \n(|ForIntegerRangeLoop|_|) \nPatterns.(|WhileLoop|_|) \n(|WhileLoop|_|) \nPatterns.(|IfThenElse|_|) \n(|IfThenElse|_|) \nPatterns.(|Lambda|_|) \n(|Lambda|_|) \nPatterns.(|Let|_|) \n(|Let|_|) \nPatterns.(|LetRecursive|_|) \n(|LetRecursive|_|) \nPatterns.(|NewArray|_|) \n(|NewArray|_|) \nPatterns.(|DefaultValue|_|) \n(|DefaultValue|_|) \nPatterns.(|NewDelegate|_|) \n(|NewDelegate|_|) \nPatterns.(|NewObject|_|) \n(|NewObject|_|) \nPatterns.(|NewRecord|_|) \n(|NewRecord|_|) \nPatterns.(|NewUnionCase|_|) \n(|NewUnionCase|_|) \nPatterns.(|NewTuple|_|) \n(|NewTuple|_|) \nPatterns.(|NewStructTuple|_|) \n(|NewStructTuple|_|) \nPatterns.(|PropertyGet|_|) \n(|PropertyGet|_|) \nPatterns.(|PropertySet|_|) \n(|PropertySet|_|) \nPatterns.(|Quote|_|) \n(|Quote|_|) \nPatterns.(|QuoteRaw|_|) \n(|QuoteRaw|_|) \nPatterns.(|QuoteTyped|_|) \n(|QuoteTyped|_|) \nPatterns.(|Sequential|_|) \n(|Sequential|_|) \nPatterns.(|TryWith|_|) \n(|TryWith|_|) \nPatterns.(|TryFinally|_|) \n(|TryFinally|_|) \nPatterns.(|TupleGet|_|) \n(|TupleGet|_|) \nPatterns.(|TypeTest|_|) \n(|TypeTest|_|) \nPatterns.(|UnionCaseTest|_|) \n(|UnionCaseTest|_|) \nPatterns.(|Value|_|) \n(|Value|_|) \nPatterns.(|ValueWithName|_|) \n(|ValueWithName|_|) \nPatterns.(|WithValue|_|) \n(|WithValue|_|) \nPatterns.(|Var|_|) \n(|Var|_|) \nPatterns.(|VarSet|_|) \n(|VarSet|_|)","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|AddressOf|_|)","title":"Patterns.(|AddressOf|_|)","content":"Patterns.(|AddressOf|_|) \n(|AddressOf|_|) \nAn active pattern to recognize expressions that represent getting the address of a value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|AddressSet|_|)","title":"Patterns.(|AddressSet|_|)","content":"Patterns.(|AddressSet|_|) \n(|AddressSet|_|) \nAn active pattern to recognize expressions that represent setting the value held at an address ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|Application|_|)","title":"Patterns.(|Application|_|)","content":"Patterns.(|Application|_|) \n(|Application|_|) \nAn active pattern to recognize expressions that represent applications of first class function values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|Call|_|)","title":"Patterns.(|Call|_|)","content":"Patterns.(|Call|_|) \n(|Call|_|) \nAn active pattern to recognize expressions that represent calls to static and instance methods, and functions defined in modules","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|CallWithWitnesses|_|)","title":"Patterns.(|CallWithWitnesses|_|)","content":"Patterns.(|CallWithWitnesses|_|) \n(|CallWithWitnesses|_|) \nAn active pattern to recognize expressions that represent calls to static and instance methods, and functions defined in modules, including witness arguments","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|Coerce|_|)","title":"Patterns.(|Coerce|_|)","content":"Patterns.(|Coerce|_|) \n(|Coerce|_|) \nAn active pattern to recognize expressions that represent coercions from one type to another","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|FieldGet|_|)","title":"Patterns.(|FieldGet|_|)","content":"Patterns.(|FieldGet|_|) \n(|FieldGet|_|) \nAn active pattern to recognize expressions that represent getting a static or instance field ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|FieldSet|_|)","title":"Patterns.(|FieldSet|_|)","content":"Patterns.(|FieldSet|_|) \n(|FieldSet|_|) \nAn active pattern to recognize expressions that represent setting a static or instance field ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|ForIntegerRangeLoop|_|)","title":"Patterns.(|ForIntegerRangeLoop|_|)","content":"Patterns.(|ForIntegerRangeLoop|_|) \n(|ForIntegerRangeLoop|_|) \nAn active pattern to recognize expressions that represent loops over integer ranges","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|WhileLoop|_|)","title":"Patterns.(|WhileLoop|_|)","content":"Patterns.(|WhileLoop|_|) \n(|WhileLoop|_|) \nAn active pattern to recognize expressions that represent while loops ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|IfThenElse|_|)","title":"Patterns.(|IfThenElse|_|)","content":"Patterns.(|IfThenElse|_|) \n(|IfThenElse|_|) \nAn active pattern to recognize expressions that represent conditionals","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|Lambda|_|)","title":"Patterns.(|Lambda|_|)","content":"Patterns.(|Lambda|_|) \n(|Lambda|_|) \nAn active pattern to recognize expressions that represent first class function values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|Let|_|)","title":"Patterns.(|Let|_|)","content":"Patterns.(|Let|_|) \n(|Let|_|) \nAn active pattern to recognize expressions that represent let bindings","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|LetRecursive|_|)","title":"Patterns.(|LetRecursive|_|)","content":"Patterns.(|LetRecursive|_|) \n(|LetRecursive|_|) \nAn active pattern to recognize expressions that represent recursive let bindings of one or more variables","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|NewArray|_|)","title":"Patterns.(|NewArray|_|)","content":"Patterns.(|NewArray|_|) \n(|NewArray|_|) \nAn active pattern to recognize expressions that represent the construction of arrays ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|DefaultValue|_|)","title":"Patterns.(|DefaultValue|_|)","content":"Patterns.(|DefaultValue|_|) \n(|DefaultValue|_|) \nAn active pattern to recognize expressions that represent invocations of a default constructor of a struct","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|NewDelegate|_|)","title":"Patterns.(|NewDelegate|_|)","content":"Patterns.(|NewDelegate|_|) \n(|NewDelegate|_|) \nAn active pattern to recognize expressions that represent construction of delegate values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|NewObject|_|)","title":"Patterns.(|NewObject|_|)","content":"Patterns.(|NewObject|_|) \n(|NewObject|_|) \nAn active pattern to recognize expressions that represent invocation of object constructors","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|NewRecord|_|)","title":"Patterns.(|NewRecord|_|)","content":"Patterns.(|NewRecord|_|) \n(|NewRecord|_|) \nAn active pattern to recognize expressions that represent construction of record values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|NewUnionCase|_|)","title":"Patterns.(|NewUnionCase|_|)","content":"Patterns.(|NewUnionCase|_|) \n(|NewUnionCase|_|) \nAn active pattern to recognize expressions that represent construction of particular union case values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|NewTuple|_|)","title":"Patterns.(|NewTuple|_|)","content":"Patterns.(|NewTuple|_|) \n(|NewTuple|_|) \nAn active pattern to recognize expressions that represent construction of tuple values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|NewStructTuple|_|)","title":"Patterns.(|NewStructTuple|_|)","content":"Patterns.(|NewStructTuple|_|) \n(|NewStructTuple|_|) \nAn active pattern to recognize expressions that represent construction of struct tuple values","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|PropertyGet|_|)","title":"Patterns.(|PropertyGet|_|)","content":"Patterns.(|PropertyGet|_|) \n(|PropertyGet|_|) \nAn active pattern to recognize expressions that represent the read of a static or instance property, or a non-function value declared in a module","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|PropertySet|_|)","title":"Patterns.(|PropertySet|_|)","content":"Patterns.(|PropertySet|_|) \n(|PropertySet|_|) \nAn active pattern to recognize expressions that represent setting a static or instance property, or a non-function value declared in a module","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|Quote|_|)","title":"Patterns.(|Quote|_|)","content":"Patterns.(|Quote|_|) \n(|Quote|_|) \nAn active pattern to recognize expressions that represent a nested quotation literal","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|QuoteRaw|_|)","title":"Patterns.(|QuoteRaw|_|)","content":"Patterns.(|QuoteRaw|_|) \n(|QuoteRaw|_|) \nAn active pattern to recognize expressions that represent a nested raw quotation literal","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|QuoteTyped|_|)","title":"Patterns.(|QuoteTyped|_|)","content":"Patterns.(|QuoteTyped|_|) \n(|QuoteTyped|_|) \nAn active pattern to recognize expressions that represent a nested typed quotation literal","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|Sequential|_|)","title":"Patterns.(|Sequential|_|)","content":"Patterns.(|Sequential|_|) \n(|Sequential|_|) \nAn active pattern to recognize expressions that represent sequential execution of one expression followed by another","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|TryWith|_|)","title":"Patterns.(|TryWith|_|)","content":"Patterns.(|TryWith|_|) \n(|TryWith|_|) \nAn active pattern to recognize expressions that represent a try/with construct for exception filtering and catching ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|TryFinally|_|)","title":"Patterns.(|TryFinally|_|)","content":"Patterns.(|TryFinally|_|) \n(|TryFinally|_|) \nAn active pattern to recognize expressions that represent a try/finally construct ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|TupleGet|_|)","title":"Patterns.(|TupleGet|_|)","content":"Patterns.(|TupleGet|_|) \n(|TupleGet|_|) \nAn active pattern to recognize expressions that represent getting a tuple field","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|TypeTest|_|)","title":"Patterns.(|TypeTest|_|)","content":"Patterns.(|TypeTest|_|) \n(|TypeTest|_|) \nAn active pattern to recognize expressions that represent a dynamic type test","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|UnionCaseTest|_|)","title":"Patterns.(|UnionCaseTest|_|)","content":"Patterns.(|UnionCaseTest|_|) \n(|UnionCaseTest|_|) \nAn active pattern to recognize expressions that represent a test if a value is of a particular union case","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|Value|_|)","title":"Patterns.(|Value|_|)","content":"Patterns.(|Value|_|) \n(|Value|_|) \nAn active pattern to recognize expressions that represent a constant value. This also matches expressions matched by ValueWithName.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|ValueWithName|_|)","title":"Patterns.(|ValueWithName|_|)","content":"Patterns.(|ValueWithName|_|) \n(|ValueWithName|_|) \nAn active pattern to recognize expressions that represent a constant value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|WithValue|_|)","title":"Patterns.(|WithValue|_|)","content":"Patterns.(|WithValue|_|) \n(|WithValue|_|) \nAn active pattern to recognize expressions that are a value with an associated definition","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|Var|_|)","title":"Patterns.(|Var|_|)","content":"Patterns.(|Var|_|) \n(|Var|_|) \nAn active pattern to recognize expressions that represent a variable","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-patternsmodule.html#(|VarSet|_|)","title":"Patterns.(|VarSet|_|)","content":"Patterns.(|VarSet|_|) \n(|VarSet|_|) \nAn active pattern to recognize expressions that represent setting a mutable variable","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html","title":"Expr","content":"Expr \nQuoted expressions annotated with System.Type values. \nExpr.GetFreeVars \nGetFreeVars \nExpr.Substitute \nSubstitute \nExpr.ToString \nToString \nExpr.Type \nType \nExpr.CustomAttributes \nCustomAttributes \nExpr.AddressOf \nAddressOf \nExpr.AddressSet \nAddressSet \nExpr.Application \nApplication \nExpr.Applications \nApplications \nExpr.Call \nCall \nExpr.Call \nCall \nExpr.CallWithWitnesses \nCallWithWitnesses \nExpr.CallWithWitnesses \nCallWithWitnesses \nExpr.Cast \nCast \nExpr.Coerce \nCoerce \nExpr.DefaultValue \nDefaultValue \nExpr.Deserialize \nDeserialize \nExpr.Deserialize40 \nDeserialize40 \nExpr.FieldGet \nFieldGet \nExpr.FieldGet \nFieldGet \nExpr.FieldSet \nFieldSet \nExpr.FieldSet \nFieldSet \nExpr.ForIntegerRangeLoop \nForIntegerRangeLoop \nExpr.GlobalVar \nGlobalVar \nExpr.IfThenElse \nIfThenElse \nExpr.Lambda \nLambda \nExpr.Let \nLet \nExpr.LetRecursive \nLetRecursive \nExpr.NewArray \nNewArray \nExpr.NewDelegate \nNewDelegate \nExpr.NewObject \nNewObject \nExpr.NewRecord \nNewRecord \nExpr.NewStructTuple \nNewStructTuple \nExpr.NewStructTuple \nNewStructTuple \nExpr.NewTuple \nNewTuple \nExpr.NewUnionCase \nNewUnionCase \nExpr.PropertyGet \nPropertyGet \nExpr.PropertyGet \nPropertyGet \nExpr.PropertySet \nPropertySet \nExpr.PropertySet \nPropertySet \nExpr.Quote \nQuote \nExpr.QuoteRaw \nQuoteRaw \nExpr.QuoteTyped \nQuoteTyped \nExpr.RegisterReflectedDefinitions \nRegisterReflectedDefinitions \nExpr.RegisterReflectedDefinitions \nRegisterReflectedDefinitions \nExpr.Sequential \nSequential \nExpr.TryFinally \nTryFinally \nExpr.TryGetReflectedDefinition \nTryGetReflectedDefinition \nExpr.TryWith \nTryWith \nExpr.TupleGet \nTupleGet \nExpr.TypeTest \nTypeTest \nExpr.UnionCaseTest \nUnionCaseTest \nExpr.Value \nValue \nExpr.Value \nValue \nExpr.ValueWithName \nValueWithName \nExpr.ValueWithName \nValueWithName \nExpr.Var \nVar \nExpr.VarSet \nVarSet \nExpr.WhileLoop \nWhileLoop \nExpr.WithValue \nWithValue \nExpr.WithValue \nWithValue","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#GetFreeVars","title":"Expr.GetFreeVars","content":"Expr.GetFreeVars \nGetFreeVars \nGets the free expression variables of an expression as a list.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Substitute","title":"Expr.Substitute","content":"Expr.Substitute \nSubstitute \nSubstitutes through the given expression using the given functions\n to map variables to new values. The functions must give consistent results\n at each application. Variable renaming may occur on the target expression\n if variable capture occurs.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#ToString","title":"Expr.ToString","content":"Expr.ToString \nToString \nFormat the expression as a string","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Type","title":"Expr.Type","content":"Expr.Type \nType \nReturns type of an expression.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#CustomAttributes","title":"Expr.CustomAttributes","content":"Expr.CustomAttributes \nCustomAttributes \nReturns the custom attributes of an expression. For quotations deriving from quotation literals this may include the source location of the literal.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#AddressOf","title":"Expr.AddressOf","content":"Expr.AddressOf \nAddressOf \nBuilds an expression that represents getting the address of a value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#AddressSet","title":"Expr.AddressSet","content":"Expr.AddressSet \nAddressSet \nBuilds an expression that represents setting the value held at a particular address.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Application","title":"Expr.Application","content":"Expr.Application \nApplication \nBuilds an expression that represents the application of a first class function value to a single argument.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Applications","title":"Expr.Applications","content":"Expr.Applications \nApplications \nBuilds an expression that represents the application of a first class function value to multiple arguments","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Call","title":"Expr.Call","content":"Expr.Call \nCall \nBuilds an expression that represents a call to an instance method associated with an object","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Call","title":"Expr.Call","content":"Expr.Call \nCall \nBuilds an expression that represents a call to an static method or module-bound function","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#CallWithWitnesses","title":"Expr.CallWithWitnesses","content":"Expr.CallWithWitnesses \nCallWithWitnesses \nBuilds an expression that represents a call to an instance method associated with an object, potentially passing additional witness arguments","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#CallWithWitnesses","title":"Expr.CallWithWitnesses","content":"Expr.CallWithWitnesses \nCallWithWitnesses \nBuilds an expression that represents a call to an static method or module-bound function, potentially passing additional witness arguments","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Cast","title":"Expr.Cast","content":"Expr.Cast \nCast \nReturns a new typed expression given an underlying runtime-typed expression.\n A type annotation is usually required to use this function, and\n using an incorrect type annotation may result in a later runtime exception.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Coerce","title":"Expr.Coerce","content":"Expr.Coerce \nCoerce \nBuilds an expression that represents the coercion of an expression to a type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#DefaultValue","title":"Expr.DefaultValue","content":"Expr.DefaultValue \nDefaultValue \nBuilds an expression that represents the invocation of a default object constructor","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Deserialize","title":"Expr.Deserialize","content":"Expr.Deserialize \nDeserialize \nThis function is called automatically when quotation syntax (\u003C@ @\u003E) and other sources of\n quotations are used. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Deserialize40","title":"Expr.Deserialize40","content":"Expr.Deserialize40 \nDeserialize40 \nThis function is called automatically when quotation syntax (\u003C@ @\u003E) and other sources of\n quotations are used. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#FieldGet","title":"Expr.FieldGet","content":"Expr.FieldGet \nFieldGet \nBuilds an expression that represents the access of a field of an object","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#FieldGet","title":"Expr.FieldGet","content":"Expr.FieldGet \nFieldGet \nBuilds an expression that represents the access of a static field","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#FieldSet","title":"Expr.FieldSet","content":"Expr.FieldSet \nFieldSet \nBuilds an expression that represents writing to a field of an object","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#FieldSet","title":"Expr.FieldSet","content":"Expr.FieldSet \nFieldSet \nBuilds an expression that represents writing to a static field \nSettable public static fields are rare in F# and .NET libraries, so examples of using this method are uncommon.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#ForIntegerRangeLoop","title":"Expr.ForIntegerRangeLoop","content":"Expr.ForIntegerRangeLoop \nForIntegerRangeLoop \nBuilds a \u0027for i = ... to ... do ...\u0027 expression that represent loops over integer ranges","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#GlobalVar","title":"Expr.GlobalVar","content":"Expr.GlobalVar \nGlobalVar \nFetches or creates a new variable with the given name and type from a global pool of shared variables\n indexed by name and type. The type is given by the explicit or inferred type parameter","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#IfThenElse","title":"Expr.IfThenElse","content":"Expr.IfThenElse \nIfThenElse \nBuilds \u0027if ... then ... else\u0027 expressions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Lambda","title":"Expr.Lambda","content":"Expr.Lambda \nLambda \nBuilds an expression that represents the construction of an F# function value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Let","title":"Expr.Let","content":"Expr.Let \nLet \nBuilds expressions associated with \u0027let\u0027 constructs","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#LetRecursive","title":"Expr.LetRecursive","content":"Expr.LetRecursive \nLetRecursive \nBuilds recursive expressions associated with \u0027let rec\u0027 constructs","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#NewArray","title":"Expr.NewArray","content":"Expr.NewArray \nNewArray \nBuilds an expression that represents the creation of an array value initialized with the given elements","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#NewDelegate","title":"Expr.NewDelegate","content":"Expr.NewDelegate \nNewDelegate \nBuilds an expression that represents the creation of a delegate value for the given type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#NewObject","title":"Expr.NewObject","content":"Expr.NewObject \nNewObject \nBuilds an expression that represents the invocation of an object constructor","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#NewRecord","title":"Expr.NewRecord","content":"Expr.NewRecord \nNewRecord \nBuilds record-construction expressions ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#NewStructTuple","title":"Expr.NewStructTuple","content":"Expr.NewStructTuple \nNewStructTuple \nBuilds an expression that represents the creation of an F# tuple value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#NewStructTuple","title":"Expr.NewStructTuple","content":"Expr.NewStructTuple \nNewStructTuple \nBuilds an expression that represents the creation of an F# tuple value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#NewTuple","title":"Expr.NewTuple","content":"Expr.NewTuple \nNewTuple \nBuilds an expression that represents the creation of an F# tuple value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#NewUnionCase","title":"Expr.NewUnionCase","content":"Expr.NewUnionCase \nNewUnionCase \nBuilds an expression that represents the creation of a union case value","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#PropertyGet","title":"Expr.PropertyGet","content":"Expr.PropertyGet \nPropertyGet \nBuilds an expression that represents reading a static property ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#PropertyGet","title":"Expr.PropertyGet","content":"Expr.PropertyGet \nPropertyGet \nBuilds an expression that represents reading a property of an object","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#PropertySet","title":"Expr.PropertySet","content":"Expr.PropertySet \nPropertySet \nBuilds an expression that represents writing to a static property ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#PropertySet","title":"Expr.PropertySet","content":"Expr.PropertySet \nPropertySet \nBuilds an expression that represents writing to a property of an object","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Quote","title":"Expr.Quote","content":"Expr.Quote \nQuote \nBuilds an expression that represents a nested typed or raw quotation literal","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#QuoteRaw","title":"Expr.QuoteRaw","content":"Expr.QuoteRaw \nQuoteRaw \nBuilds an expression that represents a nested raw quotation literal","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#QuoteTyped","title":"Expr.QuoteTyped","content":"Expr.QuoteTyped \nQuoteTyped \nBuilds an expression that represents a nested typed quotation literal","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#RegisterReflectedDefinitions","title":"Expr.RegisterReflectedDefinitions","content":"Expr.RegisterReflectedDefinitions \nRegisterReflectedDefinitions \nPermits interactive environments such as F# Interactive\n to explicitly register new pickled resources that represent persisted\n top level definitions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#RegisterReflectedDefinitions","title":"Expr.RegisterReflectedDefinitions","content":"Expr.RegisterReflectedDefinitions \nRegisterReflectedDefinitions \nPermits interactive environments such as F# Interactive\n to explicitly register new pickled resources that represent persisted\n top level definitions.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Sequential","title":"Expr.Sequential","content":"Expr.Sequential \nSequential \nBuilds an expression that represents the sequential execution of one expression followed by another","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#TryFinally","title":"Expr.TryFinally","content":"Expr.TryFinally \nTryFinally \nBuilds an expression that represents a try/finally construct ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#TryGetReflectedDefinition","title":"Expr.TryGetReflectedDefinition","content":"Expr.TryGetReflectedDefinition \nTryGetReflectedDefinition \nTry and find a stored reflection definition for the given method. Stored reflection\n definitions are added to an F# assembly through the use of the [\u003CReflectedDefinition\u003E] attribute.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#TryWith","title":"Expr.TryWith","content":"Expr.TryWith \nTryWith \nBuilds an expression that represents a try/with construct for exception filtering and catching.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#TupleGet","title":"Expr.TupleGet","content":"Expr.TupleGet \nTupleGet \nBuilds an expression that represents getting a field of a tuple","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#TypeTest","title":"Expr.TypeTest","content":"Expr.TypeTest \nTypeTest \nBuilds an expression that represents a type test.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#UnionCaseTest","title":"Expr.UnionCaseTest","content":"Expr.UnionCaseTest \nUnionCaseTest \nBuilds an expression that represents a test of a value is of a particular union case","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Value","title":"Expr.Value","content":"Expr.Value \nValue \nBuilds an expression that represents a constant value ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Value","title":"Expr.Value","content":"Expr.Value \nValue \nBuilds an expression that represents a constant value of a particular type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#ValueWithName","title":"Expr.ValueWithName","content":"Expr.ValueWithName \nValueWithName \nBuilds an expression that represents a constant value of a particular type, arising from a variable of the given name ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#ValueWithName","title":"Expr.ValueWithName","content":"Expr.ValueWithName \nValueWithName \nBuilds an expression that represents a constant value, arising from a variable of the given name ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#Var","title":"Expr.Var","content":"Expr.Var \nVar \nBuilds an expression that represents a variable","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#VarSet","title":"Expr.VarSet","content":"Expr.VarSet \nVarSet \nBuilds an expression that represents setting a mutable variable","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#WhileLoop","title":"Expr.WhileLoop","content":"Expr.WhileLoop \nWhileLoop \nBuilds an expression that represents a while loop","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#WithValue","title":"Expr.WithValue","content":"Expr.WithValue \nWithValue \nBuilds an expression that represents a value and its associated reflected definition as a quotation","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr.html#WithValue","title":"Expr.WithValue","content":"Expr.WithValue \nWithValue \nBuilds an expression that represents a value and its associated reflected definition as a quotation","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr-1.html","title":"Expr\u003C\u0027T\u003E","content":"Expr\u003C\u0027T\u003E \n\u003Cpre\u003EType-carrying quoted expressions. Expressions are generated either\n by quotations in source text or programmatically\u003C/pre\u003E \nExpr\u003C\u0027T\u003E.Raw \nRaw","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpexpr-1.html#Raw","title":"Expr\u003C\u0027T\u003E.Raw","content":"Expr\u003C\u0027T\u003E.Raw \nRaw \nGets the raw expression associated with this type-carrying expression","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpvar.html","title":"Var","content":"Var \nInformation at the binding site of a variable \nVar.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nVar.Name \nName \nVar.Type \nType \nVar.IsMutable \nIsMutable \nVar.Global \nGlobal","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpvar.html#\u0060\u0060.ctor\u0060\u0060","title":"Var.\u0060\u0060.ctor\u0060\u0060","content":"Var.\u0060\u0060.ctor\u0060\u0060 \n\u0060\u0060.ctor\u0060\u0060 \nCreates a new variable with the given name, type and mutability","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpvar.html#Name","title":"Var.Name","content":"Var.Name \nName \nThe declared name of the variable","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpvar.html#Type","title":"Var.Type","content":"Var.Type \nType \nThe type associated with the variable","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpvar.html#IsMutable","title":"Var.IsMutable","content":"Var.IsMutable \nIsMutable \nIndicates if the variable represents a mutable storage location","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-quotations-fsharpvar.html#Global","title":"Var.Global","content":"Var.Global \nGlobal \nFetches or create a new variable with the given name and type from a global pool of shared variables\n indexed by name and type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html","title":"FSharpReflectionExtensions","content":"FSharpReflectionExtensions \nDefines further accessing additional information about F# types and F# values at runtime. \nFSharpReflectionExtensions.MakeRecord \nMakeRecord \nFSharpReflectionExtensions.GetRecordFields \nGetRecordFields \nFSharpReflectionExtensions.PreComputeRecordReader \nPreComputeRecordReader \nFSharpReflectionExtensions.PreComputeRecordConstructor \nPreComputeRecordConstructor \nFSharpReflectionExtensions.PreComputeRecordConstructorInfo \nPreComputeRecordConstructorInfo \nFSharpReflectionExtensions.MakeUnion \nMakeUnion \nFSharpReflectionExtensions.GetUnionFields \nGetUnionFields \nFSharpReflectionExtensions.PreComputeUnionTagReader \nPreComputeUnionTagReader \nFSharpReflectionExtensions.PreComputeUnionTagMemberInfo \nPreComputeUnionTagMemberInfo \nFSharpReflectionExtensions.PreComputeUnionReader \nPreComputeUnionReader \nFSharpReflectionExtensions.PreComputeUnionConstructor \nPreComputeUnionConstructor \nFSharpReflectionExtensions.PreComputeUnionConstructorInfo \nPreComputeUnionConstructorInfo \nFSharpReflectionExtensions.GetExceptionFields \nGetExceptionFields \nFSharpReflectionExtensions.GetRecordFields \nGetRecordFields \nFSharpReflectionExtensions.GetUnionCases \nGetUnionCases \nFSharpReflectionExtensions.IsRecord \nIsRecord \nFSharpReflectionExtensions.IsUnion \nIsUnion \nFSharpReflectionExtensions.GetExceptionFields \nGetExceptionFields \nFSharpReflectionExtensions.IsExceptionRepresentation \nIsExceptionRepresentation","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#MakeRecord","title":"FSharpReflectionExtensions.MakeRecord","content":"FSharpReflectionExtensions.MakeRecord \nMakeRecord \nCreates an instance of a record type. \nAssumes the given input is a record type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#GetRecordFields","title":"FSharpReflectionExtensions.GetRecordFields","content":"FSharpReflectionExtensions.GetRecordFields \nGetRecordFields \nReads all the fields from a record value. \nAssumes the given input is a record value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#PreComputeRecordReader","title":"FSharpReflectionExtensions.PreComputeRecordReader","content":"FSharpReflectionExtensions.PreComputeRecordReader \nPreComputeRecordReader \nPrecompute a function for reading all the fields from a record. The fields are returned in the\n same order as the fields reported by a call to Microsoft.FSharp.Reflection.Type.GetInfo for\n this type. \nAssumes the given type is a RecordType.\n If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation.\n\n Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo\n because the path executed by the computed function is optimized given the knowledge that it will be\n used to read values of the given type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#PreComputeRecordConstructor","title":"FSharpReflectionExtensions.PreComputeRecordConstructor","content":"FSharpReflectionExtensions.PreComputeRecordConstructor \nPreComputeRecordConstructor \nPrecompute a function for constructing a record value. \nAssumes the given type is a RecordType.\n If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#PreComputeRecordConstructorInfo","title":"FSharpReflectionExtensions.PreComputeRecordConstructorInfo","content":"FSharpReflectionExtensions.PreComputeRecordConstructorInfo \nPreComputeRecordConstructorInfo \nGet a ConstructorInfo for a record type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#MakeUnion","title":"FSharpReflectionExtensions.MakeUnion","content":"FSharpReflectionExtensions.MakeUnion \nMakeUnion \nCreate a union case value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#GetUnionFields","title":"FSharpReflectionExtensions.GetUnionFields","content":"FSharpReflectionExtensions.GetUnionFields \nGetUnionFields \nIdentify the union case and its fields for an object \nAssumes the given input is a union case value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.\n\n If the type is not given, then the runtime type of the input object is used to identify the\n relevant union type. The type should always be given if the input object may be null. For example,\n option values may be represented using the \u0027null\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#PreComputeUnionTagReader","title":"FSharpReflectionExtensions.PreComputeUnionTagReader","content":"FSharpReflectionExtensions.PreComputeUnionTagReader \nPreComputeUnionTagReader \nAssumes the given type is a union type.\n If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation. \nUsing the computed function is more efficient than calling GetUnionCase\n because the path executed by the computed function is optimized given the knowledge that it will be\n used to read values of the given type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#PreComputeUnionTagMemberInfo","title":"FSharpReflectionExtensions.PreComputeUnionTagMemberInfo","content":"FSharpReflectionExtensions.PreComputeUnionTagMemberInfo \nPreComputeUnionTagMemberInfo \nPrecompute a property or static method for reading an integer representing the case tag of a union type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#PreComputeUnionReader","title":"FSharpReflectionExtensions.PreComputeUnionReader","content":"FSharpReflectionExtensions.PreComputeUnionReader \nPreComputeUnionReader \nPrecompute a function for reading all the fields for a particular discriminator case of a union type \nUsing the computed function will typically be faster than executing a corresponding call to GetFields","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#PreComputeUnionConstructor","title":"FSharpReflectionExtensions.PreComputeUnionConstructor","content":"FSharpReflectionExtensions.PreComputeUnionConstructor \nPreComputeUnionConstructor \nPrecompute a function for constructing a discriminated union value for a particular union case. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#PreComputeUnionConstructorInfo","title":"FSharpReflectionExtensions.PreComputeUnionConstructorInfo","content":"FSharpReflectionExtensions.PreComputeUnionConstructorInfo \nPreComputeUnionConstructorInfo \nA method that constructs objects of the given case","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#GetExceptionFields","title":"FSharpReflectionExtensions.GetExceptionFields","content":"FSharpReflectionExtensions.GetExceptionFields \nGetExceptionFields \nReads all the fields from a value built using an instance of an F# exception declaration \nAssumes the given input is an F# exception value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#GetRecordFields","title":"FSharpReflectionExtensions.GetRecordFields","content":"FSharpReflectionExtensions.GetRecordFields \nGetRecordFields \nReads all the fields from a record value, in declaration order \nAssumes the given input is a record value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#GetUnionCases","title":"FSharpReflectionExtensions.GetUnionCases","content":"FSharpReflectionExtensions.GetUnionCases \nGetUnionCases \nGets the cases of a union type. \nAssumes the given type is a union type. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#IsRecord","title":"FSharpReflectionExtensions.IsRecord","content":"FSharpReflectionExtensions.IsRecord \nIsRecord \nReturn true if the \u003Ccode\u003Etyp\u003C/code\u003E is a representation of an F# record type ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#IsUnion","title":"FSharpReflectionExtensions.IsUnion","content":"FSharpReflectionExtensions.IsUnion \nIsUnion \nReturns true if the \u003Ccode\u003Etyp\u003C/code\u003E is a representation of an F# union type or the runtime type of a value of that type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#GetExceptionFields","title":"FSharpReflectionExtensions.GetExceptionFields","content":"FSharpReflectionExtensions.GetExceptionFields \nGetExceptionFields \nReads all the fields from an F# exception declaration, in declaration order \nAssumes \u003Ccode\u003EexceptionType\u003C/code\u003E is an exception representation type. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpreflectionextensions.html#IsExceptionRepresentation","title":"FSharpReflectionExtensions.IsExceptionRepresentation","content":"FSharpReflectionExtensions.IsExceptionRepresentation \nIsExceptionRepresentation \nReturns true if the \u003Ccode\u003EexceptionType\u003C/code\u003E is a representation of an F# exception declaration","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html","title":"FSharpType","content":"FSharpType \nContains operations associated with constructing and analyzing F# types such as records, unions and tuples \nFSharpType.GetExceptionFields \nGetExceptionFields \nFSharpType.GetFunctionElements \nGetFunctionElements \nFSharpType.GetRecordFields \nGetRecordFields \nFSharpType.GetTupleElements \nGetTupleElements \nFSharpType.GetUnionCases \nGetUnionCases \nFSharpType.IsExceptionRepresentation \nIsExceptionRepresentation \nFSharpType.IsFunction \nIsFunction \nFSharpType.IsModule \nIsModule \nFSharpType.IsRecord \nIsRecord \nFSharpType.IsTuple \nIsTuple \nFSharpType.IsUnion \nIsUnion \nFSharpType.MakeFunctionType \nMakeFunctionType \nFSharpType.MakeStructTupleType \nMakeStructTupleType \nFSharpType.MakeStructTupleType \nMakeStructTupleType \nFSharpType.MakeTupleType \nMakeTupleType \nFSharpType.MakeTupleType \nMakeTupleType","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#GetExceptionFields","title":"FSharpType.GetExceptionFields","content":"FSharpType.GetExceptionFields \nGetExceptionFields \nReads all the fields from an F# exception declaration, in declaration order \nAssumes \u003Ccode\u003EexceptionType\u003C/code\u003E is an exception representation type. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#GetFunctionElements","title":"FSharpType.GetFunctionElements","content":"FSharpType.GetFunctionElements \nGetFunctionElements \nGets the domain and range types from an F# function type or from the runtime type of a closure implementing an F# type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#GetRecordFields","title":"FSharpType.GetRecordFields","content":"FSharpType.GetRecordFields \nGetRecordFields \nReads all the fields from a record value, in declaration order \nAssumes the given input is a record value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#GetTupleElements","title":"FSharpType.GetTupleElements","content":"FSharpType.GetTupleElements \nGetTupleElements \nGets the tuple elements from the representation of an F# tuple type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#GetUnionCases","title":"FSharpType.GetUnionCases","content":"FSharpType.GetUnionCases \nGetUnionCases \nGets the cases of a union type. \nAssumes the given type is a union type. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#IsExceptionRepresentation","title":"FSharpType.IsExceptionRepresentation","content":"FSharpType.IsExceptionRepresentation \nIsExceptionRepresentation \nReturns true if the \u003Ccode\u003Etyp\u003C/code\u003E is a representation of an F# exception declaration","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#IsFunction","title":"FSharpType.IsFunction","content":"FSharpType.IsFunction \nIsFunction \nReturn true if the \u003Ccode\u003Etyp\u003C/code\u003E is a representation of an F# function type or the runtime type of a closure implementing an F# function type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#IsModule","title":"FSharpType.IsModule","content":"FSharpType.IsModule \nIsModule \nReturn true if the \u003Ccode\u003Etyp\u003C/code\u003E is a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.type\u0022\u003EType\u003C/a\u003E value corresponding to the compiled form of an F# module ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#IsRecord","title":"FSharpType.IsRecord","content":"FSharpType.IsRecord \nIsRecord \nReturn true if the \u003Ccode\u003Etyp\u003C/code\u003E is a representation of an F# record type ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#IsTuple","title":"FSharpType.IsTuple","content":"FSharpType.IsTuple \nIsTuple \nReturn true if the \u003Ccode\u003Etyp\u003C/code\u003E is a representation of an F# tuple type ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#IsUnion","title":"FSharpType.IsUnion","content":"FSharpType.IsUnion \nIsUnion \nReturns true if the \u003Ccode\u003Etyp\u003C/code\u003E is a representation of an F# union type or the runtime type of a value of that type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#MakeFunctionType","title":"FSharpType.MakeFunctionType","content":"FSharpType.MakeFunctionType \nMakeFunctionType \nReturns a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.type\u0022\u003EType\u003C/a\u003E representing the F# function type with the given domain and range","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#MakeStructTupleType","title":"FSharpType.MakeStructTupleType","content":"FSharpType.MakeStructTupleType \nMakeStructTupleType \nReturns a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.type\u0022\u003EType\u003C/a\u003E representing an F# struct tuple type with the given element types","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#MakeStructTupleType","title":"FSharpType.MakeStructTupleType","content":"FSharpType.MakeStructTupleType \nMakeStructTupleType \nReturns a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.type\u0022\u003EType\u003C/a\u003E representing an F# struct tuple type with the given element types","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#MakeTupleType","title":"FSharpType.MakeTupleType","content":"FSharpType.MakeTupleType \nMakeTupleType \nReturns a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.type\u0022\u003EType\u003C/a\u003E representing an F# tuple type with the given element types","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharptype.html#MakeTupleType","title":"FSharpType.MakeTupleType","content":"FSharpType.MakeTupleType \nMakeTupleType \nReturns a \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.type\u0022\u003EType\u003C/a\u003E representing an F# tuple type with the given element types","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html","title":"FSharpValue","content":"FSharpValue \n\u003Cpre\u003EContains operations associated with constructing and analyzing values associated with F# types\n such as records, unions and tuples.\u003C/pre\u003E \nFSharpValue.GetExceptionFields \nGetExceptionFields \nFSharpValue.GetRecordField \nGetRecordField \nFSharpValue.GetRecordFields \nGetRecordFields \nFSharpValue.GetTupleField \nGetTupleField \nFSharpValue.GetTupleFields \nGetTupleFields \nFSharpValue.GetUnionFields \nGetUnionFields \nFSharpValue.MakeFunction \nMakeFunction \nFSharpValue.MakeRecord \nMakeRecord \nFSharpValue.MakeTuple \nMakeTuple \nFSharpValue.MakeUnion \nMakeUnion \nFSharpValue.PreComputeRecordConstructor \nPreComputeRecordConstructor \nFSharpValue.PreComputeRecordConstructorInfo \nPreComputeRecordConstructorInfo \nFSharpValue.PreComputeRecordFieldReader \nPreComputeRecordFieldReader \nFSharpValue.PreComputeRecordReader \nPreComputeRecordReader \nFSharpValue.PreComputeTupleConstructor \nPreComputeTupleConstructor \nFSharpValue.PreComputeTupleConstructorInfo \nPreComputeTupleConstructorInfo \nFSharpValue.PreComputeTuplePropertyInfo \nPreComputeTuplePropertyInfo \nFSharpValue.PreComputeTupleReader \nPreComputeTupleReader \nFSharpValue.PreComputeUnionConstructor \nPreComputeUnionConstructor \nFSharpValue.PreComputeUnionConstructorInfo \nPreComputeUnionConstructorInfo \nFSharpValue.PreComputeUnionReader \nPreComputeUnionReader \nFSharpValue.PreComputeUnionTagMemberInfo \nPreComputeUnionTagMemberInfo \nFSharpValue.PreComputeUnionTagReader \nPreComputeUnionTagReader","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#GetExceptionFields","title":"FSharpValue.GetExceptionFields","content":"FSharpValue.GetExceptionFields \nGetExceptionFields \nReads all the fields from a value built using an instance of an F# exception declaration \nAssumes the given input is an F# exception value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#GetRecordField","title":"FSharpValue.GetRecordField","content":"FSharpValue.GetRecordField \nGetRecordField \nReads a field from a record value. \nAssumes the given input is a record value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#GetRecordFields","title":"FSharpValue.GetRecordFields","content":"FSharpValue.GetRecordFields \nGetRecordFields \nReads all the fields from a record value. \nAssumes the given input is a record value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#GetTupleField","title":"FSharpValue.GetTupleField","content":"FSharpValue.GetTupleField \nGetTupleField \nReads a field from a tuple value. \nAssumes the given input is a tuple value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#GetTupleFields","title":"FSharpValue.GetTupleFields","content":"FSharpValue.GetTupleFields \nGetTupleFields \nReads all fields from a tuple. \nAssumes the given input is a tuple value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#GetUnionFields","title":"FSharpValue.GetUnionFields","content":"FSharpValue.GetUnionFields \nGetUnionFields \nIdentify the union case and its fields for an object \nAssumes the given input is a union case value. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.\n\n If the type is not given, then the runtime type of the input object is used to identify the\n relevant union type. The type should always be given if the input object may be null. For example,\n option values may be represented using the \u0027null\u0027.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#MakeFunction","title":"FSharpValue.MakeFunction","content":"FSharpValue.MakeFunction \nMakeFunction \nBuilds a typed function from object from a dynamic function implementation","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#MakeRecord","title":"FSharpValue.MakeRecord","content":"FSharpValue.MakeRecord \nMakeRecord \nCreates an instance of a record type. \nAssumes the given input is a record type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#MakeTuple","title":"FSharpValue.MakeTuple","content":"FSharpValue.MakeTuple \nMakeTuple \nCreates an instance of a tuple type \nAssumes at least one element is given. If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#MakeUnion","title":"FSharpValue.MakeUnion","content":"FSharpValue.MakeUnion \nMakeUnion \nCreate a union case value.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeRecordConstructor","title":"FSharpValue.PreComputeRecordConstructor","content":"FSharpValue.PreComputeRecordConstructor \nPreComputeRecordConstructor \nPrecompute a function for constructing a record value. \nAssumes the given type is a RecordType.\n If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeRecordConstructorInfo","title":"FSharpValue.PreComputeRecordConstructorInfo","content":"FSharpValue.PreComputeRecordConstructorInfo \nPreComputeRecordConstructorInfo \nGet a ConstructorInfo for a record type","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeRecordFieldReader","title":"FSharpValue.PreComputeRecordFieldReader","content":"FSharpValue.PreComputeRecordFieldReader \nPreComputeRecordFieldReader \nPrecompute a function for reading a particular field from a record.\n Assumes the given type is a RecordType with a field of the given name.\n If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation. \nUsing the computed function will typically be faster than executing a corresponding call to Value.GetInfo\n because the path executed by the computed function is optimized given the knowledge that it will be\n used to read values of the given type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeRecordReader","title":"FSharpValue.PreComputeRecordReader","content":"FSharpValue.PreComputeRecordReader \nPreComputeRecordReader \nPrecompute a function for reading all the fields from a record. The fields are returned in the\n same order as the fields reported by a call to Microsoft.FSharp.Reflection.Type.GetInfo for\n this type. \nAssumes the given type is a RecordType.\n If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation.\n\n Using the computed function will typically be faster than executing a corresponding call to Value.GetInfo\n because the path executed by the computed function is optimized given the knowledge that it will be\n used to read values of the given type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeTupleConstructor","title":"FSharpValue.PreComputeTupleConstructor","content":"FSharpValue.PreComputeTupleConstructor \nPreComputeTupleConstructor \nPrecompute a function for reading the values of a particular tuple type \nAssumes the given type is a TupleType.\n If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeTupleConstructorInfo","title":"FSharpValue.PreComputeTupleConstructorInfo","content":"FSharpValue.PreComputeTupleConstructorInfo \nPreComputeTupleConstructorInfo \nGets a method that constructs objects of the given tuple type.\n For small tuples, no additional type will be returned. \nFor large tuples, an additional type is returned indicating that\n a nested encoding has been used for the tuple type. In this case\n the suffix portion of the tuple type has the given type and an\n object of this type must be created and passed as the last argument\n to the ConstructorInfo. A recursive call to PreComputeTupleConstructorInfo\n can be used to determine the constructor for that the suffix type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeTuplePropertyInfo","title":"FSharpValue.PreComputeTuplePropertyInfo","content":"FSharpValue.PreComputeTuplePropertyInfo \nPreComputeTuplePropertyInfo \nGets information that indicates how to read a field of a tuple","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeTupleReader","title":"FSharpValue.PreComputeTupleReader","content":"FSharpValue.PreComputeTupleReader \nPreComputeTupleReader \nPrecompute a function for reading the values of a particular tuple type \nAssumes the given type is a TupleType.\n If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeUnionConstructor","title":"FSharpValue.PreComputeUnionConstructor","content":"FSharpValue.PreComputeUnionConstructor \nPreComputeUnionConstructor \nPrecompute a function for constructing a discriminated union value for a particular union case. ","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeUnionConstructorInfo","title":"FSharpValue.PreComputeUnionConstructorInfo","content":"FSharpValue.PreComputeUnionConstructorInfo \nPreComputeUnionConstructorInfo \nA method that constructs objects of the given case","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeUnionReader","title":"FSharpValue.PreComputeUnionReader","content":"FSharpValue.PreComputeUnionReader \nPreComputeUnionReader \nPrecompute a function for reading all the fields for a particular discriminator case of a union type \nUsing the computed function will typically be faster than executing a corresponding call to GetFields","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeUnionTagMemberInfo","title":"FSharpValue.PreComputeUnionTagMemberInfo","content":"FSharpValue.PreComputeUnionTagMemberInfo \nPreComputeUnionTagMemberInfo \nPrecompute a property or static method for reading an integer representing the case tag of a union type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-fsharpvalue.html#PreComputeUnionTagReader","title":"FSharpValue.PreComputeUnionTagReader","content":"FSharpValue.PreComputeUnionTagReader \nPreComputeUnionTagReader \nAssumes the given type is a union type.\n If not, \u003Ca href=\u0022https://learn.microsoft.com/dotnet/api/system.argumentexception\u0022\u003EArgumentException\u003C/a\u003E is raised during pre-computation. \nUsing the computed function is more efficient than calling GetUnionCase\n because the path executed by the computed function is optimized given the knowledge that it will be\n used to read values of the given type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-unioncaseinfo.html","title":"UnionCaseInfo","content":"UnionCaseInfo \nRepresents a case of a discriminated union type \nUnionCaseInfo.GetCustomAttributes \nGetCustomAttributes \nUnionCaseInfo.GetCustomAttributes \nGetCustomAttributes \nUnionCaseInfo.GetCustomAttributesData \nGetCustomAttributesData \nUnionCaseInfo.GetFields \nGetFields \nUnionCaseInfo.Name \nName \nUnionCaseInfo.DeclaringType \nDeclaringType \nUnionCaseInfo.Tag \nTag","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-unioncaseinfo.html#GetCustomAttributes","title":"UnionCaseInfo.GetCustomAttributes","content":"UnionCaseInfo.GetCustomAttributes \nGetCustomAttributes \nReturns the custom attributes associated with the case matching the given attribute type.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-unioncaseinfo.html#GetCustomAttributes","title":"UnionCaseInfo.GetCustomAttributes","content":"UnionCaseInfo.GetCustomAttributes \nGetCustomAttributes \nReturns the custom attributes associated with the case.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-unioncaseinfo.html#GetCustomAttributesData","title":"UnionCaseInfo.GetCustomAttributesData","content":"UnionCaseInfo.GetCustomAttributesData \nGetCustomAttributesData \nReturns the custom attributes data associated with the case.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-unioncaseinfo.html#GetFields","title":"UnionCaseInfo.GetFields","content":"UnionCaseInfo.GetFields \nGetFields \nThe fields associated with the case, represented by a PropertyInfo.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-unioncaseinfo.html#Name","title":"UnionCaseInfo.Name","content":"UnionCaseInfo.Name \nName \nThe name of the case.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-unioncaseinfo.html#DeclaringType","title":"UnionCaseInfo.DeclaringType","content":"UnionCaseInfo.DeclaringType \nDeclaringType \nThe type in which the case occurs.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/reference/fsharp-reflection-unioncaseinfo.html#Tag","title":"UnionCaseInfo.Tag","content":"UnionCaseInfo.Tag \nTag \nThe integer tag for the case.","headings":[],"type":"apiDocs"},{"uri":"https://fsharp.github.io/fsharp-core-docs/index.html","title":"F# Core Library Documentation\r\n","content":"F# Core Library Documentation\r\nThis site contains the documentation for the FSharp.Core library used in all F# code.\r\nFSharp.Core contains functionality for basic F# definitions, operations for collections such as lists, maps and sequences,\r\nand library functionality for quotations, reflections, events, asynchronous programming and native interoperability.\r\nThe following namespaces are available:\r\n\r\nFSharp.Core - Basic definitions of options, functions, operators, results and formatting.\r\nFSharp.Collections - Operations for collections such as lists, arrays, sets, maps and sequences. See also F# Collection Types in the F# Language Guide.\r\nFSharp.Control - Library functionality for asynchronous programming, events and agents. See also F# Asynchronous Programming in the F# Language Guide.\r\nFSharp.Linq - Library functionality for F# query syntax and interoperability with .NET Expressions. See also F# Query Expressions in the F# Language Guide.\r\nFSharp.Quotations - Library functionality for F# quotations. See also F# Code Quotations in the F# Language Guide.\r\nFSharp.Reflection - Library functionality for accessing additional information about F# types and F# values at runtime, augmenting that available through System.Reflection. See also F# Reflection in the F# Wiki Book.\r\nFSharp.NativeInterop - Basic functionality for native interopability. See also F# External Functions in the F# Language Guide.\r\nFSharp.Core.CompilerServices - Library functionality for supporting type providers and code generated by the F# compiler. See also F# Type Providers in the F# Language Guide.\r\n\r\nContributing to this documentation\r\nTo contribute to this documentation site and its content, please see the notes in the corresponding GitHub repository.\r\n","headings":["F# Core Library Documentation","Contributing to this documentation"],"type":"content"}] \ No newline at end of file diff --git a/reference/fsharp-collections-array2dmodule.html b/reference/fsharp-collections-array2dmodule.html new file mode 100644 index 000000000..735caedd3 --- /dev/null +++ b/reference/fsharp-collections-array2dmodule.html @@ -0,0 +1,3296 @@ + + + + + + + + + + + + + + + + + + Array2D (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Array2D Module +

+ +
+
+
+

+ Contains operations for working with 2-dimensional arrays. +

+
+
+

+

See also F# Language Guide - 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.

+

+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Array2D.base1 array + + +

+
+
+
+ Full Usage: + Array2D.base1 array +
+
+ Parameters: +
    + + + array + + : + 'T[,] + - + The input array. + +
    +
+
+ + Returns: + int + + The base-index of the first dimension of the array. +
+
+
+
+
+
+ +
+
+

+ Fetches the base-index for the first dimension of the array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The base-index of the first dimension of the array. +

+
+
+
+ Example +
+

+ Create a 10x10 1-based array: +

 open System
+
+ let array = Array.CreateInstance(typeof<int>, [| 10; 10 |], [| 1; 1 |]) :?> int[,]
+
+ array |> Array2D.base1
+
+
namespace System
+
Multiple items
val array: int array2d

--------------------
type 'T array = 'T array
+
type Array = + interface ICollection + interface IEnumerable + interface IList + interface IStructuralComparable + interface IStructuralEquatable + interface ICloneable + member Clone: unit -> obj + member CopyTo: array: Array * index: int -> unit + 1 overload + member GetEnumerator: unit -> IEnumerator + member GetLength: dimension: int -> int + ...
<summary>Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the base class for all arrays in the common language runtime.</summary>
+
Array.CreateInstance(elementType: Type, [<ParamArray>] lengths: int64 array) : Array
Array.CreateInstance(elementType: Type, [<ParamArray>] lengths: int array) : Array
Array.CreateInstance(elementType: Type, length: int) : Array
Array.CreateInstance(elementType: Type, lengths: int array, lowerBounds: int array) : Array
Array.CreateInstance(elementType: Type, length1: int, length2: int) : Array
Array.CreateInstance(elementType: Type, length1: int, length2: int, length3: int) : Array
+
val typeof<'T> : Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
module Array2D + +from Microsoft.FSharp.Collections
+
val base1: array: 'T array2d -> int
+ + + Evaluates to 1. + +

+
+
+
+ +

+ + + Array2D.base2 array + + +

+
+
+
+ Full Usage: + Array2D.base2 array +
+
+ Parameters: +
    + + + array + + : + 'T[,] + - + The input array. + +
    +
+
+ + Returns: + int + + The base-index of the second dimension of the array. +
+
+
+
+
+
+ +
+
+

+ Fetches the base-index for the second dimension of the array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The base-index of the second dimension of the array. +

+
+
+
+ Example +
+

+ Create a 10x10 1-based array: +

 open System
+
+ let array = Array.CreateInstance(typeof<int>, [| 10; 10 |], [| 1; 1 |]) :?> int[,]
+
+ array |> Array2D.base2
+
+
namespace System
+
Multiple items
val array: int array2d

--------------------
type 'T array = 'T array
+
type Array = + interface ICollection + interface IEnumerable + interface IList + interface IStructuralComparable + interface IStructuralEquatable + interface ICloneable + member Clone: unit -> obj + member CopyTo: array: Array * index: int -> unit + 1 overload + member GetEnumerator: unit -> IEnumerator + member GetLength: dimension: int -> int + ...
<summary>Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the base class for all arrays in the common language runtime.</summary>
+
Array.CreateInstance(elementType: Type, [<ParamArray>] lengths: int64 array) : Array
Array.CreateInstance(elementType: Type, [<ParamArray>] lengths: int array) : Array
Array.CreateInstance(elementType: Type, length: int) : Array
Array.CreateInstance(elementType: Type, lengths: int array, lowerBounds: int array) : Array
Array.CreateInstance(elementType: Type, length1: int, length2: int) : Array
Array.CreateInstance(elementType: Type, length1: int, length2: int, length3: int) : Array
+
val typeof<'T> : Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
module Array2D + +from Microsoft.FSharp.Collections
+
val base2: array: 'T array2d -> int
+ + + Evaluates to 1. + +

+
+
+
+ +

+ + + Array2D.blit source sourceIndex1 sourceIndex2 target targetIndex1 targetIndex2 length1 length2 + + +

+
+
+
+ Full Usage: + Array2D.blit source sourceIndex1 sourceIndex2 target targetIndex1 targetIndex2 length1 length2 +
+
+ Parameters: +
    + + + source + + : + 'T[,] + - + The source array. + +
    + + + sourceIndex1 + + : + int + - + The first-dimension index to begin copying from in the source array. + +
    + + + sourceIndex2 + + : + int + - + The second-dimension index to begin copying from in the source array. + +
    + + + target + + : + 'T[,] + - + The target array. + +
    + + + targetIndex1 + + : + int + - + The first-dimension index to begin copying into in the target array. + +
    + + + targetIndex2 + + : + int + - + The second-dimension index to begin copying into in the target array. + +
    + + + length1 + + : + int + - + The number of elements to copy across the first dimension of the arrays. + +
    + + + length2 + + : + int + - + The number of elements to copy across the second dimension of the arrays. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Reads a range of elements from the first array and write them into the second. +

+
+
+ + + + + +
+
+
+

+ + Slicing syntax is generally preferred, e.g. +

 let source = array2D [ [ 3; 4 ]; [ 13; 14 ] ]
+ let target = array2D [ [ 2; 2; 2 ]; [ 12; 12; 12 ] ]
+ target[0..1,1..2] <- source
+
+
val source: int array2d
+
val array2D: rows: #('T seq) seq -> 'T array2d
+
val target: int array2d
+ + +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+ + sourceIndex1 + + : + int +
+
+

+ The first-dimension index to begin copying from in the source array. +

+
+
+ + sourceIndex2 + + : + int +
+
+

+ The second-dimension index to begin copying from in the source array. +

+
+
+ + target + + : + 'T[,] +
+
+

+ The target array. +

+
+
+ + targetIndex1 + + : + int +
+
+

+ The first-dimension index to begin copying into in the target array. +

+
+
+ + targetIndex2 + + : + int +
+
+

+ The second-dimension index to begin copying into in the target array. +

+
+
+ + length1 + + : + int +
+
+

+ The number of elements to copy across the first dimension of the arrays. +

+
+
+ + length2 + + : + int +
+
+

+ The number of elements to copy across the second dimension of the arrays. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when any of the indices are negative or if either of + the counts are larger than the dimensions of the array allow. +
+
+ Example +
+

+

 let source = array2D [ [ 3; 4 ]; [ 13; 14 ] ]
+ let target = array2D [ [ 2; 2; 2 ]; [ 12; 12; 12 ] ]
+
+ Array2D.blit source 0 0 target 0 1 2 2
+
+
val source: int array2d
+
val array2D: rows: #('T seq) seq -> 'T array2d
+
val target: int array2d
+
module Array2D + +from Microsoft.FSharp.Collections
+
val blit: source: 'T array2d -> sourceIndex1: int -> sourceIndex2: int -> target: 'T array2d -> targetIndex1: int -> targetIndex2: int -> length1: int -> length2: int -> unit
+ + + After evaluation target contains [ [ 2; 3; 4 ]; [ 12; 13; 14 ] ]. + +

+
+
+
+ +

+ + + Array2D.copy array + + +

+
+
+
+ Full Usage: + Array2D.copy array +
+
+ Parameters: +
    + + + array + + : + 'T[,] + - + The input array. + +
    +
+
+ + Returns: + 'T[,] + + A copy of the input array. +
+
+
+
+
+
+ +
+
+

+ 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 propagated to the output + array. +

+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ A copy of the input array. +

+
+
+
+ Example +
+

+

 open System
+
+ let array = Array2D.zeroCreate<int> 10 10
+
+ array |> Array2D.copy
+
+
namespace System
+
Multiple items
val array: int array2d

--------------------
type 'T array = 'T array
+
module Array2D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> 'T array2d
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val copy: array: 'T array2d -> 'T array2d
+ + + Evaluates to a new copy of the 10x10 array. + +

+
+
+
+ +

+ + + Array2D.create length1 length2 value + + +

+
+
+
+ Full Usage: + Array2D.create length1 length2 value +
+
+ Parameters: +
    + + + length1 + + : + int + - + The length of the first dimension of the array. + +
    + + + length2 + + : + int + - + The length of the second dimension of the array. + +
    + + + value + + : + 'T + - + The value to populate the new array. + +
    +
+
+ + Returns: + 'T[,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates an array whose elements are all initially the given value. +

+
+
+ + + + + +
+
+
+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension of the array. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension of the array. +

+
+
+ + value + + : + 'T +
+
+

+ The value to populate the new array. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The created array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when length1 or length2 is negative. +
+
+ Example +
+

+

 Array2D.create 2 3 1
+
+
module Array2D + +from Microsoft.FSharp.Collections
+
val create: length1: int -> length2: int -> value: 'T -> 'T array2d
+ + + Evaluates to a 2x3 array with contents [[1; 1; 1]; [1; 1; 1]] +

+
+
+
+ +

+ + + Array2D.createBased base1 base2 length1 length2 initial + + +

+
+
+
+ Full Usage: + Array2D.createBased base1 base2 length1 length2 initial +
+
+ Parameters: +
    + + + base1 + + : + int + - + The base for the first dimension of the array. + +
    + + + base2 + + : + int + - + The base for the second dimension of the array. + +
    + + + length1 + + : + int + - + The length of the first dimension of the array. + +
    + + + length2 + + : + int + - + The length of the second dimension of the array. + +
    + + + initial + + : + 'T + - + The value to populate the new array. + +
    +
+
+ + Returns: + 'T[,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates a based array whose elements are all initially the given value. +

+
+
+ + + + + +
+
+
+
+
+ + base1 + + : + int +
+
+

+ The base for the first dimension of the array. +

+
+
+ + base2 + + : + int +
+
+

+ The base for the second dimension of the array. +

+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension of the array. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension of the array. +

+
+
+ + initial + + : + 'T +
+
+

+ The value to populate the new array. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The created array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when base1, base2, length1, or length2 is negative. +
+
+ Example +
+

+

 Array2D.createBased 1 1 2 3 1
+
+
module Array2D + +from Microsoft.FSharp.Collections
+
val createBased: base1: int -> base2: int -> length1: int -> length2: int -> initial: 'T -> 'T array2d
+ + + Evaluates to a 2x3 1-based array with contents [[1; 1; 1]; [1; 1; 1]] +

+
+
+
+ +

+ + + Array2D.get array index1 index2 + + +

+
+
+
+ Full Usage: + Array2D.get array index1 index2 +
+
+ Parameters: +
    + + + array + + : + 'T[,] + - + The input array. + +
    + + + index1 + + : + int + - + The index along the first dimension. + +
    + + + index2 + + : + int + - + The index along the second dimension. + +
    +
+
+ + Returns: + 'T + + The value of the array at the given index. +
+
+
+
+
+
+ +
+
+

+ Fetches an element from a 2D array. You can also use the syntax array.[index1,index2]. +

+
+
+ + + + + +
+
+
+

+ + Indexer syntax is generally preferred, e.g. +

 let array = array2D [ [ 1.0; 2.0 ]; [ 3.0; 4.0 ] ]
+
+ array[0,1]
+
+
Multiple items
val array: float array2d

--------------------
type 'T array = 'T array
+
val array2D: rows: #('T seq) seq -> 'T array2d
+ + + Evaluates to 2.0. + +

+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+ + index1 + + : + int +
+
+

+ The index along the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The index along the second dimension. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value of the array at the given index. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the indices are negative or exceed the bounds of the array. +
+
+ Example +
+

+

 let array = array2D [ [ 1.0; 2.0 ]; [ 3.0; 4.0 ] ]
+
+ Array2D.get array 0 1
+
+
Multiple items
val array: float array2d

--------------------
type 'T array = 'T array
+
val array2D: rows: #('T seq) seq -> 'T array2d
+
module Array2D + +from Microsoft.FSharp.Collections
+
val get: array: 'T array2d -> index1: int -> index2: int -> 'T
+ + + Evaluates to 2.0. + +

+
+
+
+ +

+ + + Array2D.init length1 length2 initializer + + +

+
+
+
+ Full Usage: + Array2D.init length1 length2 initializer +
+
+ Parameters: +
    + + + length1 + + : + int + - + The length of the first dimension of the array. + +
    + + + length2 + + : + int + - + The length of the second dimension of the array. + +
    + + + initializer + + : + int -> int -> 'T + - + A function to produce elements of the array given the two indices. + +
    +
+
+ + Returns: + 'T[,] + + The generated array. +
+
+
+
+
+
+ +
+
+

+ Creates an array given the dimensions and a generator function to compute the elements. +

+
+
+ + + + + +
+
+
+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension of the array. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension of the array. +

+
+
+ + initializer + + : + int -> int -> 'T +
+
+

+ A function to produce elements of the array given the two indices. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The generated array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when either of the lengths is negative. +
+
+ Example +
+

+

 Array2D.init 2 3 (fun i j -> i + j)
+
+
module Array2D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> initializer: (int -> int -> 'T) -> 'T array2d
+
val i: int
+
val j: int
+ + + Evaluates to a 2x3 array with contents [[0; 1; 2]; [1; 2; 3]] +

+
+
+
+ +

+ + + Array2D.initBased base1 base2 length1 length2 initializer + + +

+
+
+
+ Full Usage: + Array2D.initBased base1 base2 length1 length2 initializer +
+
+ Parameters: +
    + + + base1 + + : + int + - + The base for the first dimension of the array. + +
    + + + base2 + + : + int + - + The base for the second dimension of the array. + +
    + + + length1 + + : + int + - + The length of the first dimension of the array. + +
    + + + length2 + + : + int + - + The length of the second dimension of the array. + +
    + + + initializer + + : + int -> int -> 'T + - + A function to produce elements of the array given the two indices. + +
    +
+
+ + Returns: + 'T[,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates a based array given the dimensions and a generator function to compute the elements. +

+
+
+ + + + + +
+
+
+
+
+ + base1 + + : + int +
+
+

+ The base for the first dimension of the array. +

+
+
+ + base2 + + : + int +
+
+

+ The base for the second dimension of the array. +

+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension of the array. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension of the array. +

+
+
+ + initializer + + : + int -> int -> 'T +
+
+

+ A function to produce elements of the array given the two indices. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The created array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when base1, base2, length1, or length2 is negative. +
+
+ Example +
+

+

 Array2D.initBased 1 1 2 3 (fun i j -> i + j)
+
+
module Array2D + +from Microsoft.FSharp.Collections
+
val initBased: base1: int -> base2: int -> length1: int -> length2: int -> initializer: (int -> int -> 'T) -> 'T array2d
+
val i: int
+
val j: int
+ + + Evaluates to a 2x3 1-based array with contents [[2; 3; 4]; [3; 4; 5]] +

+
+
+
+ +

+ + + Array2D.iter action array + + +

+
+
+
+ Full Usage: + Array2D.iter action array +
+
+ Parameters: +
    + + + action + + : + 'T -> unit + - + A function to apply to each element of the array. + +
    + + + array + + : + 'T[,] + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the array. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T -> unit +
+
+

+ A function to apply to each element of the array. +

+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+
+ Example +
+

+

 let inputs = array2D [ [ 3; 4 ]; [ 13; 14 ] ]
+
+ inputs |> Array2D.iter (fun v -> printfn $"value = {v}")
+
+
val inputs: int array2d
+
val array2D: rows: #('T seq) seq -> 'T array2d
+
module Array2D + +from Microsoft.FSharp.Collections
+
val iter: action: ('T -> unit) -> array: 'T array2d -> unit
+
val v: int
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 value = 3
+ value = 4
+ value = 13
+ value = 14
+
+ + + in the console. + +

+
+
+
+ +

+ + + Array2D.iteri action array + + +

+
+
+
+ Full Usage: + Array2D.iteri action array +
+
+ Parameters: +
    + + + action + + : + int -> int -> 'T -> unit + - + A function to apply to each element of the array with the indices available as an argument. + +
    + + + array + + : + 'T[,] + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the array. The integer indices passed to the + function indicates the index of element. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + int -> int -> 'T -> unit +
+
+

+ A function to apply to each element of the array with the indices available as an argument. +

+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+
+ Example +
+

+

 let inputs = array2D [ [ 3; 4 ]; [ 13; 14 ] ]
+
+ inputs |> Array2D.iteri (fun i j v -> printfn $"value at ({i},{j}) = {v}")
+
+
val inputs: int array2d
+
val array2D: rows: #('T seq) seq -> 'T array2d
+
module Array2D + +from Microsoft.FSharp.Collections
+
val iteri: action: (int -> int -> 'T -> unit) -> array: 'T array2d -> unit
+
val i: int
+
val j: int
+
val v: int
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 value at (0,0) = 3
+ value at (0,1) = 4
+ value at (1,0) = 13
+ value at (1,1) = 14
+
+ + + in the console. + +

+
+
+
+ +

+ + + Array2D.length1 array + + +

+
+
+
+ Full Usage: + Array2D.length1 array +
+
+ Parameters: +
    + + + array + + : + 'T[,] + - + The input array. + +
    +
+
+ + Returns: + int + + The length of the array in the first dimension. +
+
+
+
+
+
+ +
+
+

+ Returns the length of an array in the first dimension. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the array in the first dimension. +

+
+
+
+ Example +
+

+

 let array = array2D [ [ 3; 4; 5 ]; [ 13; 14; 15 ] ]
+
+ array |> Array2D.length1
+
+
Multiple items
val array: int array2d

--------------------
type 'T array = 'T array
+
val array2D: rows: #('T seq) seq -> 'T array2d
+
module Array2D + +from Microsoft.FSharp.Collections
+
val length1: array: 'T array2d -> int
+ + + Evaluates to 2. + +

+
+
+
+ +

+ + + Array2D.length2 array + + +

+
+
+
+ Full Usage: + Array2D.length2 array +
+
+ Parameters: +
    + + + array + + : + 'T[,] + - + The input array. + +
    +
+
+ + Returns: + int + + The length of the array in the second dimension. +
+
+
+
+
+
+ +
+
+

+ Returns the length of an array in the second dimension. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the array in the second dimension. +

+
+
+
+ Example +
+

+

 let array = array2D [ [ 3; 4; 5 ]; [ 13; 14; 15 ] ]
+
+ array |> Array2D.length2
+
+
Multiple items
val array: int array2d

--------------------
type 'T array = 'T array
+
val array2D: rows: #('T seq) seq -> 'T array2d
+
module Array2D + +from Microsoft.FSharp.Collections
+
val length2: array: 'T array2d -> int
+ + + Evaluates to 3. + +

+
+
+
+ +

+ + + Array2D.map mapping array + + +

+
+
+
+ Full Usage: + Array2D.map mapping array +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + A function that is applied to transform each item of the input array. + +
    + + + array + + : + 'T[,] + - + The input array. + +
    +
+
+ + Returns: + 'U[,] + + 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 propagated to the output + array. +

+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ A function that is applied to transform each item of the input array. +

+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U[,] +
+
+

+ An array whose elements have been transformed by the given mapping. +

+
+
+
+ Example +
+

+

 let inputs = array2D [ [ 3; 4 ]; [ 13; 14 ] ]
+
+ inputs |> Array2D.map (fun v -> 2 * v)
+
+
val inputs: int array2d
+
val array2D: rows: #('T seq) seq -> 'T array2d
+
module Array2D + +from Microsoft.FSharp.Collections
+
val map: mapping: ('T -> 'U) -> array: 'T array2d -> 'U array2d
+
val v: int
+ + + Evaluates to a 2x2 array with contents [[6; 8;]; [26; 28]] +

+
+
+
+ +

+ + + Array2D.mapi mapping array + + +

+
+
+
+ Full Usage: + Array2D.mapi mapping array +
+
+ Parameters: +
    + + + mapping + + : + int -> int -> 'T -> 'U + - + A function that is applied to transform each element of the array. The two integers + provide the index of the element. + +
    + + + array + + : + 'T[,] + - + The input array. + +
    +
+
+ + Returns: + 'U[,] + + 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. 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. +

+
+
+ + mapping + + : + int -> int -> 'T -> 'U +
+
+

+ A function that is applied to transform each element of the array. The two integers + provide the index of the element. +

+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U[,] +
+
+

+ An array whose elements have been transformed by the given mapping. +

+
+
+
+ Example +
+

+

 let inputs = array2D [ [ 3; 4 ]; [ 13; 14 ] ]
+
+ inputs |> Array2D.mapi (fun i j v -> i + j + v)
+
+
val inputs: int array2d
+
val array2D: rows: #('T seq) seq -> 'T array2d
+
module Array2D + +from Microsoft.FSharp.Collections
+
val mapi: mapping: (int -> int -> 'T -> 'U) -> array: 'T array2d -> 'U array2d
+
val i: int
+
val j: int
+
val v: int
+ + + Evaluates to a 2x2 array with contents [[3; 5;]; [14; 16]] +

+
+
+
+ +

+ + + Array2D.rebase array + + +

+
+
+
+ Full Usage: + Array2D.rebase array +
+
+ Parameters: +
    + + + array + + : + 'T[,] + - + The input array. + +
    +
+
+ + Returns: + 'T[,] + + The zero-based output 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. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The zero-based output array. +

+
+
+
+ Example +
+

+

 let inputs = Array2D.createBased 1 1 2 3 1
+
+ inputs |> Array2D.rebase
+
+
val inputs: int array2d
+
module Array2D + +from Microsoft.FSharp.Collections
+
val createBased: base1: int -> base2: int -> length1: int -> length2: int -> initial: 'T -> 'T array2d
+
val rebase: array: 'T array2d -> 'T array2d
+ + + Evaluates to a 2x2 zero-based array with contents [[1; 1]; [1; 1]] +

+
+
+
+ +

+ + + Array2D.set array index1 index2 value + + +

+
+
+
+ Full Usage: + Array2D.set array index1 index2 value +
+
+ Parameters: +
    + + + array + + : + 'T[,] + - + The input array. + +
    + + + index1 + + : + int + - + The index along the first dimension. + +
    + + + index2 + + : + int + - + The index along the second dimension. + +
    + + + value + + : + 'T + - + The value to set in the array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sets the value of an element in an array. You can also use the syntax array.[index1,index2] <- value. +

+
+
+ + + + + +
+
+
+

+ + Indexer syntax is generally preferred, e.g. +

 let array = Array2D.zeroCreate 2 2
+
+ array[0,1] <- 4.0
+
+
Multiple items
val array: float array2d

--------------------
type 'T array = 'T array
+
module Array2D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> 'T array2d
+ + +

+
+
+ + array + + : + 'T[,] +
+
+

+ The input array. +

+
+
+ + index1 + + : + int +
+
+

+ The index along the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The index along the second dimension. +

+
+
+ + value + + : + 'T +
+
+

+ The value to set in the array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the indices are negative or exceed the bounds of the array. +
+
+ Example +
+

+

 let array = Array2D.zeroCreate 2 2
+
+ Array2D.set array 0 1 4.0
+
+
Multiple items
val array: float array2d

--------------------
type 'T array = 'T array
+
module Array2D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> 'T array2d
+
val set: array: 'T array2d -> index1: int -> index2: int -> value: 'T -> unit
+ + + After evaluation array is a 2x2 array with contents [[0.0; 4.0]; [0.0; 0.0]] +

+
+
+
+ +

+ + + Array2D.zeroCreate length1 length2 + + +

+
+
+
+ Full Usage: + Array2D.zeroCreate length1 length2 +
+
+ Parameters: +
    + + + length1 + + : + int + - + The length of the first dimension of the array. + +
    + + + length2 + + : + int + - + The length of the second dimension of the array. + +
    +
+
+ + Returns: + 'T[,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates an array where the entries are initially Unchecked.defaultof<'T>. +

+
+
+ + + + + +
+
+
+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension of the array. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension of the array. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The created array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when length1 or length2 is negative. +
+
+ Example +
+

+

 Array2D.zeroCreate 2 3
+
+
module Array2D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> 'T array2d
+ + + Evaluates to a 2x3 array with contents [[0; 0; 0]; [0; 0; 0]] +

+
+
+
+ +

+ + + Array2D.zeroCreateBased base1 base2 length1 length2 + + +

+
+
+
+ Full Usage: + Array2D.zeroCreateBased base1 base2 length1 length2 +
+
+ Parameters: +
    + + + base1 + + : + int + - + The base for the first dimension of the array. + +
    + + + base2 + + : + int + - + The base for the second dimension of the array. + +
    + + + length1 + + : + int + - + The length of the first dimension of the array. + +
    + + + length2 + + : + int + - + The length of the second dimension of the array. + +
    +
+
+ + Returns: + 'T[,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates a based array where the entries are initially Unchecked.defaultof<'T>. +

+
+
+ + + + + +
+
+
+
+
+ + base1 + + : + int +
+
+

+ The base for the first dimension of the array. +

+
+
+ + base2 + + : + int +
+
+

+ The base for the second dimension of the array. +

+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension of the array. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension of the array. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The created array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when base1, base2, length1, or length2 is negative. +
+
+ Example +
+

+

 Array2D.zeroCreateBased 1 1 2 3
+
+
module Array2D + +from Microsoft.FSharp.Collections
+
val zeroCreateBased: base1: int -> base2: int -> length1: int -> length2: int -> 'T array2d
+ + + Evaluates to a 2x3 1-based array with contents [[0; 0; 0]; [0; 0; 0]] +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-array3dmodule.html b/reference/fsharp-collections-array3dmodule.html new file mode 100644 index 000000000..0f60c0423 --- /dev/null +++ b/reference/fsharp-collections-array3dmodule.html @@ -0,0 +1,2121 @@ + + + + + + + + + + + + + + + + + + Array3D (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Array3D Module +

+ +
+
+
+

+ Contains operations for working with rank 3 arrays. +

+
+
+

+ + See also F# Language Guide - Arrays. + +

+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Array3D.create length1 length2 length3 initial + + +

+
+
+
+ Full Usage: + Array3D.create length1 length2 length3 initial +
+
+ Parameters: +
    + + + length1 + + : + int + - + The length of the first dimension. + +
    + + + length2 + + : + int + - + The length of the second dimension. + +
    + + + length3 + + : + int + - + The length of the third dimension. + +
    + + + initial + + : + 'T + - + The value of the array elements. + +
    +
+
+ + Returns: + 'T[,,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates an array whose elements are all initially the given value. +

+
+
+ + + + + +
+
+
+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension. +

+
+
+ + length3 + + : + int +
+
+

+ The length of the third dimension. +

+
+
+ + initial + + : + 'T +
+
+

+ The value of the array elements. +

+
+
+
+
+ + Returns: + + 'T[,,] +
+
+

+ The created array. +

+
+
+
+ Example +
+

+

 Array3D.create 2 2 3 1
+
+
module Array3D + +from Microsoft.FSharp.Collections
+
val create: length1: int -> length2: int -> length3: int -> initial: 'T -> 'T array3d
+ + + Evaluates to a 2x3 array with contents [[[1; 1; 1]; [1; 1; 1]]; [[1; 1; 1]; [1; 1; 1]]] +

+
+
+
+ +

+ + + Array3D.get array index1 index2 index3 + + +

+
+
+
+ Full Usage: + Array3D.get array index1 index2 index3 +
+
+ Parameters: +
    + + + array + + : + 'T[,,] + - + The input array. + +
    + + + index1 + + : + int + - + The index along the first dimension. + +
    + + + index2 + + : + int + - + The index along the second dimension. + +
    + + + index3 + + : + int + - + The index along the third dimension. + +
    +
+
+ + Returns: + 'T + + The value at the given index. +
+
+
+
+
+
+ +
+
+

+ Fetches an element from a 3D array. You can also use the syntax 'array.[index1,index2,index3]' +

+
+
+ + + + + +
+
+
+

+ + Indexer syntax is generally preferred, e.g. +

 let array = Array3D.init 2 3 3 (fun i j k -> 100*i + 10*j + k)
+
+ array[0,2,1]
+
+
Multiple items
val array: int array3d

--------------------
type 'T array = 'T array
+
module Array3D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> initializer: (int -> int -> int -> 'T) -> 'T array3d
+
val i: int
+
val j: int
+
val k: int
+ + + Evaluates to 11. + +

+
+
+ + array + + : + 'T[,,] +
+
+

+ The input array. +

+
+
+ + index1 + + : + int +
+
+

+ The index along the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The index along the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The index along the third dimension. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value at the given index. +

+
+
+
+ Example +
+

+

 let array = Array3D.init 2 3 3 (fun i j k -> 100*i + 10*j + k)
+
+ Array3D.get array 0 2 1
+
+
Multiple items
val array: int array3d

--------------------
type 'T array = 'T array
+
module Array3D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> initializer: (int -> int -> int -> 'T) -> 'T array3d
+
val i: int
+
val j: int
+
val k: int
+
val get: array: 'T array3d -> index1: int -> index2: int -> index3: int -> 'T
+ + + Evaluates to 21. + +

+
+
+
+ +

+ + + Array3D.init length1 length2 length3 initializer + + +

+
+
+
+ Full Usage: + Array3D.init length1 length2 length3 initializer +
+
+ Parameters: +
    + + + length1 + + : + int + - + The length of the first dimension. + +
    + + + length2 + + : + int + - + The length of the second dimension. + +
    + + + length3 + + : + int + - + The length of the third dimension. + +
    + + + initializer + + : + int -> int -> int -> 'T + - + The function to create an initial value at each index into the array. + +
    +
+
+ + Returns: + 'T[,,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates an array given the dimensions and a generator function to compute the elements. +

+
+
+ + + + + +
+
+
+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension. +

+
+
+ + length3 + + : + int +
+
+

+ The length of the third dimension. +

+
+
+ + initializer + + : + int -> int -> int -> 'T +
+
+

+ The function to create an initial value at each index into the array. +

+
+
+
+
+ + Returns: + + 'T[,,] +
+
+

+ The created array. +

+
+
+
+ Example +
+

+

 Array3D.init 2 2 3 (fun i j k -> 100*i + 10*j + k)
+
+
module Array3D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> initializer: (int -> int -> int -> 'T) -> 'T array3d
+
val i: int
+
val j: int
+
val k: int
+ + + Evaluates to a 2x2x3 array with contents [[[0; 1; 2]; [10; 11; 12]]; [[100; 101; 102]; [110; 111; 112]]] +

+
+
+
+ +

+ + + Array3D.iter action array + + +

+
+
+
+ Full Usage: + Array3D.iter action array +
+
+ Parameters: +
    + + + action + + : + 'T -> unit + - + The function to apply to each element of the array. + +
    + + + array + + : + 'T[,,] + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the array. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T -> unit +
+
+

+ The function to apply to each element of the array. +

+
+
+ + array + + : + 'T[,,] +
+
+

+ The input array. +

+
+
+
+ Example +
+

+

 let inputs = Array3D.init 2 2 3 (fun i j k -> 100*i + 10*j + k)
+
+ inputs |> Array3D.iter (fun v -> printfn $"value = {v}")
+
+
val inputs: int array3d
+
module Array3D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> initializer: (int -> int -> int -> 'T) -> 'T array3d
+
val i: int
+
val j: int
+
val k: int
+
val iter: action: ('T -> unit) -> array: 'T array3d -> unit
+
val v: int
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 value = 0
+ value = 1
+ value = 2
+ value = 10
+ value = 11
+ value = 12
+ value = 100
+ value = 101
+ value = 102
+ value = 110
+ value = 111
+ value = 112
+
+ + + in the console. + +

+
+
+
+ +

+ + + Array3D.iteri action array + + +

+
+
+
+ Full Usage: + Array3D.iteri action array +
+
+ Parameters: +
    + + + action + + : + int -> int -> int -> 'T -> unit + - + The function to apply to each element of the array. + +
    + + + array + + : + 'T[,,] + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the array. The integer indices passed to the + function indicates the index of element. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + int -> int -> int -> 'T -> unit +
+
+

+ The function to apply to each element of the array. +

+
+
+ + array + + : + 'T[,,] +
+
+

+ The input array. +

+
+
+
+ Example +
+

+

 let inputs = Array3D.init 2 2 3 (fun i j k -> 100*i + 10*j + k)
+
+ inputs |> Array3D.iteri (fun i j k v -> printfn $"value at ({i},{j},{k}) = {v}")
+
+
val inputs: int array3d
+
module Array3D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> initializer: (int -> int -> int -> 'T) -> 'T array3d
+
val i: int
+
val j: int
+
val k: int
+
val iteri: action: (int -> int -> int -> 'T -> unit) -> array: 'T array3d -> unit
+
val v: int
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 value at (0,0,0) = 0
+ value at (0,0,1) = 1
+ value at (0,0,2) = 2
+ value at (0,1,0) = 10
+ value at (0,1,1) = 11
+ value at (0,1,2) = 12
+ value at (1,0,0) = 100
+ value at (1,0,1) = 101
+ value at (1,0,2) = 102
+ value at (1,1,0) = 110
+ value at (1,1,1) = 111
+ value at (1,1,2) = 112
+
+ + + in the console. + +

+
+
+
+ +

+ + + Array3D.length1 array + + +

+
+
+
+ Full Usage: + Array3D.length1 array +
+
+ Parameters: +
    + + + array + + : + 'T[,,] + - + The input array. + +
    +
+
+ + Returns: + int + + The length of the array in the first dimension. +
+
+
+
+
+
+ +
+
+

+ Returns the length of an array in the first dimension +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the array in the first dimension. +

+
+
+
+ Example +
+

+

 let array = Array3D.init 2 3 4 (fun i j k -> 100*i + 10*j + k)
+
+ array |> Array3D.length1
+
+
Multiple items
val array: int array3d

--------------------
type 'T array = 'T array
+
module Array3D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> initializer: (int -> int -> int -> 'T) -> 'T array3d
+
val i: int
+
val j: int
+
val k: int
+
val length1: array: 'T array3d -> int
+ + + Evaluates to 2. + +

+
+
+
+ +

+ + + Array3D.length2 array + + +

+
+
+
+ Full Usage: + Array3D.length2 array +
+
+ Parameters: +
    + + + array + + : + 'T[,,] + - + The input array. + +
    +
+
+ + Returns: + int + + The length of the array in the second dimension. +
+
+
+
+
+
+ +
+
+

+ Returns the length of an array in the second dimension. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the array in the second dimension. +

+
+
+
+ Example +
+

+

 let array = Array3D.init 2 3 4 (fun i j k -> 100*i + 10*j + k)
+
+ array |> Array3D.length2
+
+
Multiple items
val array: int array3d

--------------------
type 'T array = 'T array
+
module Array3D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> initializer: (int -> int -> int -> 'T) -> 'T array3d
+
val i: int
+
val j: int
+
val k: int
+
val length2: array: 'T array3d -> int
+ + + Evaluates to 3. + +

+
+
+
+ +

+ + + Array3D.length3 array + + +

+
+
+
+ Full Usage: + Array3D.length3 array +
+
+ Parameters: +
    + + + array + + : + 'T[,,] + - + The input array. + +
    +
+
+ + Returns: + int + + The length of the array in the third dimension. +
+
+
+
+
+
+ +
+
+

+ Returns the length of an array in the third dimension. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the array in the third dimension. +

+
+
+
+ Example +
+

+

 let array = Array3D.init 2 3 4 (fun i j k -> 100*i + 10*j + k)
+
+ array |> Array3D.length3
+
+
Multiple items
val array: int array3d

--------------------
type 'T array = 'T array
+
module Array3D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> initializer: (int -> int -> int -> 'T) -> 'T array3d
+
val i: int
+
val j: int
+
val k: int
+
val length3: array: 'T array3d -> int
+ + + Evaluates to 4. + +

+
+
+
+ +

+ + + Array3D.map mapping array + + +

+
+
+
+ Full Usage: + Array3D.map mapping array +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + The function to transform each element of the array. + +
    + + + array + + : + 'T[,,] + - + The input array. + +
    +
+
+ + Returns: + 'U[,,] + + 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 propagated to the output + array. +

+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ The function to transform each element of the array. +

+
+
+ + array + + : + 'T[,,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U[,,] +
+
+

+ The array created from the transformed elements. +

+
+
+
+ Example +
+

+

 let inputs = Array3D.init 2 3 3 (fun i j k -> 100*i + 10*j + k)
+
+ inputs |> Array3D.map (fun v -> 2 * v)
+
+
val inputs: int array3d
+
module Array3D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> initializer: (int -> int -> int -> 'T) -> 'T array3d
+
val i: int
+
val j: int
+
val k: int
+
val map: mapping: ('T -> 'U) -> array: 'T array3d -> 'U array3d
+
val v: int
+ + + Evaluates to a 2x3x3 array with contents [[[0; 2; 4]; [20; 22; 24]]; [[200; 202; 204]; [220; 222; 224]]] +

+
+
+
+ +

+ + + Array3D.mapi mapping array + + +

+
+
+
+ Full Usage: + Array3D.mapi mapping array +
+
+ Parameters: +
    + + + mapping + + : + int -> int -> int -> 'T -> 'U + - + The function to transform the elements at each index in the array. + +
    + + + array + + : + 'T[,,] + - + The input array. + +
    +
+
+ + Returns: + 'U[,,] + + 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. 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. +

+
+
+ + mapping + + : + int -> int -> int -> 'T -> 'U +
+
+

+ The function to transform the elements at each index in the array. +

+
+
+ + array + + : + 'T[,,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U[,,] +
+
+

+ The array created from the transformed elements. +

+
+
+
+ Example +
+

+

 let inputs = Array3D.zeroCreate 2 3 3
+
+ inputs |> Array3D.mapi (fun i j k v -> 100*i + 10*j + k)
+
+
val inputs: obj array3d
+
module Array3D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> length3: int -> 'T array3d
+
val mapi: mapping: (int -> int -> int -> 'T -> 'U) -> array: 'T array3d -> 'U array3d
+
val i: int
+
val j: int
+
val k: int
+
val v: obj
+ + + Evaluates to a 2x3x3 array with contents [[[0; 2; 4]; [20; 22; 24]]; [[200; 202; 204]; [220; 222; 224]]] +

+
+
+
+ +

+ + + Array3D.set array index1 index2 index3 value + + +

+
+
+
+ Full Usage: + Array3D.set array index1 index2 index3 value +
+
+ Parameters: +
    + + + array + + : + 'T[,,] + - + The input array. + +
    + + + index1 + + : + int + - + The index along the first dimension. + +
    + + + index2 + + : + int + - + The index along the second dimension. + +
    + + + index3 + + : + int + - + The index along the third dimension. + +
    + + + value + + : + 'T + - + The value to set at the given index. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sets the value of an element in an array. You can also + use the syntax 'array.[index1,index2,index3] <- value'. +

+
+
+ + + + + +
+
+
+

+ + Indexer syntax is generally preferred, e.g. +

 let array = Array3D.zeroCreate 2 3 3
+
+ array[0,2,1] < 4.0
+
+
Multiple items
val array: float array3d

--------------------
type 'T array = 'T array
+
module Array3D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> length3: int -> 'T array3d
+ + + Evaluates to 11. + +

+
+
+ + array + + : + 'T[,,] +
+
+

+ The input array. +

+
+
+ + index1 + + : + int +
+
+

+ The index along the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The index along the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The index along the third dimension. +

+
+
+ + value + + : + 'T +
+
+

+ The value to set at the given index. +

+
+
+
+ Example +
+

+

 let array = Array3D.zeroCreate 2 3 3
+
+ Array3D.set array 0 2 1 4.0
+
+
Multiple items
val array: float array3d

--------------------
type 'T array = 'T array
+
module Array3D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> length3: int -> 'T array3d
+
val set: array: 'T array3d -> index1: int -> index2: int -> index3: int -> value: 'T -> unit
+ + + After evaluation array is a 2x3x3 array with contents [[[0.0; 0.0; 0.0]; [0.0; 4.0; 0.0]]; [[0.0; 0.0; 0.0]; [0.0; 0.0; 0.0]]] +

+
+
+
+ +

+ + + Array3D.zeroCreate length1 length2 length3 + + +

+
+
+
+ Full Usage: + Array3D.zeroCreate length1 length2 length3 +
+
+ Parameters: +
    + + + length1 + + : + int + - + The length of the first dimension. + +
    + + + length2 + + : + int + - + The length of the second dimension. + +
    + + + length3 + + : + int + - + The length of the third dimension. + +
    +
+
+ + Returns: + 'T[,,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates an array where the entries are initially the "default" value. +

+
+
+ + + + + +
+
+
+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension. +

+
+
+ + length3 + + : + int +
+
+

+ The length of the third dimension. +

+
+
+
+
+ + Returns: + + 'T[,,] +
+
+

+ The created array. +

+
+
+
+ Example +
+

+

 let array : float[,,] = Array3D.zeroCreate 2 3 3
+
+
Multiple items
val array: float array3d

--------------------
type 'T array = 'T array
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
module Array3D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> length3: int -> 'T array3d
+ + + After evaluation array is a 2x3x3 array with contents all zero. + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-array4dmodule.html b/reference/fsharp-collections-array4dmodule.html new file mode 100644 index 000000000..62ceb8047 --- /dev/null +++ b/reference/fsharp-collections-array4dmodule.html @@ -0,0 +1,1771 @@ + + + + + + + + + + + + + + + + + + Array4D (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Array4D Module +

+ +
+
+
+

+ Contains operations for working with rank 4 arrays. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Array4D.create length1 length2 length3 length4 initial + + +

+
+
+
+ Full Usage: + Array4D.create length1 length2 length3 length4 initial +
+
+ Parameters: +
    + + + length1 + + : + int + - + The length of the first dimension. + +
    + + + length2 + + : + int + - + The length of the second dimension. + +
    + + + length3 + + : + int + - + The length of the third dimension. + +
    + + + length4 + + : + int + - + The length of the fourth dimension. + +
    + + + initial + + : + 'T + - + The initial value for each element of the array. + +
    +
+
+ + Returns: + 'T[,,,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates an array whose elements are all initially the given value +

+
+
+ + + + + +
+
+
+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension. +

+
+
+ + length3 + + : + int +
+
+

+ The length of the third dimension. +

+
+
+ + length4 + + : + int +
+
+

+ The length of the fourth dimension. +

+
+
+ + initial + + : + 'T +
+
+

+ The initial value for each element of the array. +

+
+
+
+
+ + Returns: + + 'T[,,,] +
+
+

+ The created array. +

+
+
+
+ Example +
+

+

 Array4D.create 2 2 2 2 1
+
+
module Array4D + +from Microsoft.FSharp.Collections
+
val create: length1: int -> length2: int -> length3: int -> length4: int -> initial: 'T -> 'T array4d
+ + + Evaluates to a 2x2x2x2 array with all entries 1 +

+
+
+
+ +

+ + + Array4D.get array index1 index2 index3 index4 + + +

+
+
+
+ Full Usage: + Array4D.get array index1 index2 index3 index4 +
+
+ Parameters: +
    + + + array + + : + 'T[,,,] + - + The input array. + +
    + + + index1 + + : + int + - + The index along the first dimension. + +
    + + + index2 + + : + int + - + The index along the second dimension. + +
    + + + index3 + + : + int + - + The index along the third dimension. + +
    + + + index4 + + : + int + - + The index along the fourth dimension. + +
    +
+
+ + Returns: + 'T + + The value at the given index. +
+
+
+
+
+
+ +
+
+

+ Fetches an element from a 4D array. You can also use the syntax 'array.[index1,index2,index3,index4]' +

+
+
+ + + + + +
+
+
+

+ + Indexer syntax is generally preferred, e.g. +

 let array: float[,,,] = Array4D.zeroCreate 2 3 4 5
+
+ array[0,2,1,3]
+
+
Multiple items
val array: float array4d

--------------------
type 'T array = 'T array
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
module Array4D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> length3: int -> length4: int -> 'T array4d
+ + +

+
+
+ + array + + : + 'T[,,,] +
+
+

+ The input array. +

+
+
+ + index1 + + : + int +
+
+

+ The index along the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The index along the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The index along the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The index along the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value at the given index. +

+
+
+
+ Example +
+

+

 let array = Array4D.zeroCreate 2 3 4 5
+
+ Array4D.get array 0 2 1 3
+
+
Multiple items
val array: obj array4d

--------------------
type 'T array = 'T array
+
module Array4D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> length3: int -> length4: int -> 'T array4d
+
val get: array: 'T array4d -> index1: int -> index2: int -> index3: int -> index4: int -> 'T
+ + +

+
+
+
+ +

+ + + Array4D.init length1 length2 length3 length4 initializer + + +

+
+
+
+ Full Usage: + Array4D.init length1 length2 length3 length4 initializer +
+
+ Parameters: +
    + + + length1 + + : + int + - + The length of the first dimension. + +
    + + + length2 + + : + int + - + The length of the second dimension. + +
    + + + length3 + + : + int + - + The length of the third dimension. + +
    + + + length4 + + : + int + - + The length of the fourth dimension. + +
    + + + initializer + + : + int -> int -> int -> int -> 'T + - + The function to create an initial value at each index in the array. + +
    +
+
+ + Returns: + 'T[,,,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates an array given the dimensions and a generator function to compute the elements. +

+
+
+ + + + + +
+
+
+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension. +

+
+
+ + length3 + + : + int +
+
+

+ The length of the third dimension. +

+
+
+ + length4 + + : + int +
+
+

+ The length of the fourth dimension. +

+
+
+ + initializer + + : + int -> int -> int -> int -> 'T +
+
+

+ The function to create an initial value at each index in the array. +

+
+
+
+
+ + Returns: + + 'T[,,,] +
+
+

+ The created array. +

+
+
+
+ Example +
+

+

 Array4D.init 2 2 2 2 (fun i j k l -> i*1000+j*100+k*10+l)
+
+
module Array4D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> length4: int -> initializer: (int -> int -> int -> int -> 'T) -> 'T array4d
+
val i: int
+
val j: int
+
val k: int
+
val l: int
+ + + Evaluates to a 2x2x2x2 array with contents [[[[0; 1]; [10; 11]]; [[100; 101]; [110; 111]]];[[[1000; 1]; [1010; 1011]]; [[1100; 1101]; [1110; 1111]]]] +

+
+
+
+ +

+ + + Array4D.length1 array + + +

+
+
+
+ Full Usage: + Array4D.length1 array +
+
+ Parameters: +
    + + + array + + : + 'T[,,,] + - + The input array. + +
    +
+
+ + Returns: + int + + The length of the array in the first dimension. +
+
+
+
+
+
+ +
+
+

+ Returns the length of an array in the first dimension +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,,,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the array in the first dimension. +

+
+
+
+ Example +
+

+

 let array = Array4D.init 2 3 4 5 (fun i j k -> 100*i + 10*j + k)
+
+ array |> Array4D.length1
+
+
type 'T array = 'T array
+
module Array4D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> length4: int -> initializer: (int -> int -> int -> int -> 'T) -> 'T array4d
+
val i: int
+
val j: int
+
val k: int
+
val length1: array: 'T array4d -> int
+ + + Evaluates to 2. + +

+
+
+
+ +

+ + + Array4D.length2 array + + +

+
+
+
+ Full Usage: + Array4D.length2 array +
+
+ Parameters: +
    + + + array + + : + 'T[,,,] + - + The input array. + +
    +
+
+ + Returns: + int + + The length of the array in the second dimension. +
+
+
+
+
+
+ +
+
+

+ Returns the length of an array in the second dimension. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,,,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the array in the second dimension. +

+
+
+
+ Example +
+

+

 let array = Array4D.init 2 3 4 5 (fun i j k -> 100*i + 10*j + k)
+
+ array |> Array4D.length2
+
+
type 'T array = 'T array
+
module Array4D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> length4: int -> initializer: (int -> int -> int -> int -> 'T) -> 'T array4d
+
val i: int
+
val j: int
+
val k: int
+
val length2: array: 'T array4d -> int
+ + + Evaluates to 3. + +

+
+
+
+ +

+ + + Array4D.length3 array + + +

+
+
+
+ Full Usage: + Array4D.length3 array +
+
+ Parameters: +
    + + + array + + : + 'T[,,,] + - + The input array. + +
    +
+
+ + Returns: + int + + The length of the array in the third dimension. +
+
+
+
+
+
+ +
+
+

+ Returns the length of an array in the third dimension. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,,,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the array in the third dimension. +

+
+
+
+ Example +
+

+

 let array = Array4D.init 2 3 4 5 (fun i j k -> 100*i + 10*j + k)
+
+ array |> Array4D.length3
+
+
type 'T array = 'T array
+
module Array4D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> length4: int -> initializer: (int -> int -> int -> int -> 'T) -> 'T array4d
+
val i: int
+
val j: int
+
val k: int
+
val length3: array: 'T array4d -> int
+ + + Evaluates to 4. + +

+
+
+
+ +

+ + + Array4D.length4 array + + +

+
+
+
+ Full Usage: + Array4D.length4 array +
+
+ Parameters: +
    + + + array + + : + 'T[,,,] + - + The input array. + +
    +
+
+ + Returns: + int + + The length of the array in the fourth dimension. +
+
+
+
+
+
+ +
+
+

+ Returns the length of an array in the fourth dimension. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T[,,,] +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the array in the fourth dimension. +

+
+
+
+ Example +
+

+

 let array = Array4D.init 2 3 4 5 (fun i j k -> 100*i + 10*j + k)
+
+ array |> Array4D.length4
+
+
type 'T array = 'T array
+
module Array4D + +from Microsoft.FSharp.Collections
+
val init: length1: int -> length2: int -> length3: int -> length4: int -> initializer: (int -> int -> int -> int -> 'T) -> 'T array4d
+
val i: int
+
val j: int
+
val k: int
+
val length4: array: 'T array4d -> int
+ + + Evaluates to 5. + +

+
+
+
+ +

+ + + Array4D.set array index1 index2 index3 index4 value + + +

+
+
+
+ Full Usage: + Array4D.set array index1 index2 index3 index4 value +
+
+ Parameters: +
    + + + array + + : + 'T[,,,] + - + The input array. + +
    + + + index1 + + : + int + - + The index along the first dimension. + +
    + + + index2 + + : + int + - + The index along the second dimension. + +
    + + + index3 + + : + int + - + The index along the third dimension. + +
    + + + index4 + + : + int + - + The index along the fourth dimension. + +
    + + + value + + : + 'T + - + The value to set. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sets the value of an element in an array. You can also + use the syntax 'array.[index1,index2,index3,index4] <- value'. +

+
+
+ + + + + +
+
+
+

+ + Indexer syntax is generally preferred, e.g. +

 let array: float[,,,] = Array4D.zeroCreate 2 3 4 5
+
+ array[0,2,1,3] <- 5.0
+
+
Multiple items
val array: float array4d

--------------------
type 'T array = 'T array
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
module Array4D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> length3: int -> length4: int -> 'T array4d
+ + +

+
+
+ + array + + : + 'T[,,,] +
+
+

+ The input array. +

+
+
+ + index1 + + : + int +
+
+

+ The index along the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The index along the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The index along the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The index along the fourth dimension. +

+
+
+ + value + + : + 'T +
+
+

+ The value to set. +

+
+
+
+ Example +
+

+

 let array = Array4D.zeroCreate 2 3 4 5
+
+ Array4D.2et array 0 2 1 3 5.0
+
+
Multiple items
val array: obj array4d

--------------------
type 'T array = 'T array
+
module Array4D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> length3: int -> length4: int -> 'T array4d
+ + +

+
+
+
+ +

+ + + Array4D.zeroCreate length1 length2 length3 length4 + + +

+
+
+
+ Full Usage: + Array4D.zeroCreate length1 length2 length3 length4 +
+
+ Parameters: +
    + + + length1 + + : + int + - + The length of the first dimension. + +
    + + + length2 + + : + int + - + The length of the second dimension. + +
    + + + length3 + + : + int + - + The length of the third dimension. + +
    + + + length4 + + : + int + - + The length of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,,,] + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates an array where the entries are initially the "default" value. +

+
+
+ + + + + +
+
+
+
+
+ + length1 + + : + int +
+
+

+ The length of the first dimension. +

+
+
+ + length2 + + : + int +
+
+

+ The length of the second dimension. +

+
+
+ + length3 + + : + int +
+
+

+ The length of the third dimension. +

+
+
+ + length4 + + : + int +
+
+

+ The length of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,,,] +
+
+

+ The created array. +

+
+
+
+ Example +
+

+

 let array : float[,,,] = Array4D.zeroCreate 2 3 3 5
+
+
Multiple items
val array: float array4d

--------------------
type 'T array = 'T array
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
module Array4D + +from Microsoft.FSharp.Collections
+
val zeroCreate: length1: int -> length2: int -> length3: int -> length4: int -> 'T array4d
+ + + After evaluation array is a 2x3x3x5 array with contents all zero. + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-arraymodule-parallel.html b/reference/fsharp-collections-arraymodule-parallel.html new file mode 100644 index 000000000..e64f30943 --- /dev/null +++ b/reference/fsharp-collections-arraymodule-parallel.html @@ -0,0 +1,5718 @@ + + + + + + + + + + + + + + + + + + Parallel (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Array.Parallel Module +

+ +
+
+
+

+ Provides parallel operations on arrays +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Array.Parallel.average array + + +

+
+
+
+ Full Usage: + Array.Parallel.average array +
+
+ Parameters: +
    + + + array + + : + ^T array + - + The input array. + +
    +
+
+ + Returns: + ^T + + The average of the elements in the array. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Returns the average of the elements in the array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + ^T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The average of the elements in the array. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when array is empty. +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 [| 1.0; 2.0; 6.0 |] |> Array.Parallel.average
+
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val average: array: 'T array -> 'T (requires member (+) and member DivideByInt)
+ + + Evaluates to 3.0 +

+
+ Example +
+

+

 [| |] |> Array.Parallel.average
+
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val average: array: 'T array -> 'T (requires member (+) and member DivideByInt)
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.Parallel.averageBy projection array + + +

+
+
+
+ Full Usage: + Array.Parallel.averageBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> ^U + - + The function to transform the array elements before averaging. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + ^U + + The computed average. +
+ Modifiers: + inline +
+ Type parameters: + 'T, ^U +
+
+
+
+
+ +
+
+

+ Returns the average of the elements generated by applying the function to each element of the array. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> ^U +
+
+

+ The function to transform the array elements before averaging. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ^U +
+
+

+ The computed average. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when array is empty. +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 type Foo = { Bar: float }
+
+ let input = [| {Bar = 2.0}; {Bar = 4.0} |]
+
+ input |> Array.Parallel.averageBy (fun foo -> foo.Bar)
+
+
type Foo = + { Bar: float }
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
val input: Foo array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val averageBy: projection: ('T -> 'U) -> array: 'T array -> 'U (requires member (+) and member DivideByInt)
+
val foo: Foo
+
Foo.Bar: float
+ + + Evaluates to 3.0 +

+
+ Example +
+

+

 type Foo = { Bar: float }
+
+ let input : Foo array = [| |]
+
+ input |> Array.Parallel.averageBy (fun foo -> foo.Bar)
+
+
type Foo = + { Bar: float }
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
val input: Foo array
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val averageBy: projection: ('T -> 'U) -> array: 'T array -> 'U (requires member (+) and member DivideByInt)
+
val foo: Foo
+
Foo.Bar: float
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.Parallel.choose chooser array + + +

+
+
+
+ Full Usage: + Array.Parallel.choose chooser array +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + The function to generate options from the elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U array + + The array of results. +
+
+
+
+
+
+ +
+
+

+ 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 Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. +

+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ The function to generate options from the elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ The array of results. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| Some 1; None; Some 2 |]
+
+ input |> Array.Parallel.choose id
+
+
val input: int option array
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val choose: chooser: ('T -> 'U option) -> array: 'T array -> 'U array
+
val id: x: 'T -> 'T
+ + + Evaluates to [| 1; 2 |] +

+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Array.Parallel.choose (fun n -> if n % 2 = 0 then Some n else None)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val choose: chooser: ('T -> 'U option) -> array: 'T array -> 'U array
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+ + + Evaluates to [| 2 |] +

+
+
+
+ +

+ + + Array.Parallel.collect mapping array + + +

+
+
+
+ Full Usage: + Array.Parallel.collect mapping array +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U array + - + + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U array + + 'U array +
+
+
+
+
+
+ +
+
+

+ 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 Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. +

+
+
+ + mapping + + : + 'T -> 'U array +
+
+

+ +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ 'U array +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 type Foo = { Bar: int array }
+
+ let input = [| {Bar = [| 1; 2 |]}; {Bar = [| 3; 4 |]} |]
+
+ input |> Array.Parallel.collect (fun foo -> foo.Bar)
+
+
type Foo = + { Bar: int array }
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
val input: Foo array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val collect: mapping: ('T -> 'U array) -> array: 'T array -> 'U array
+
val foo: Foo
+
Foo.Bar: int array
+ + + Evaluates to [| 1; 2; 3; 4 |] +

+
+ Example +
+

+

 let input = [| [| 1; 2 |]; [| 3; 4 |] |]
+
+ input |> Array.Parallel.collect id
+
+
val input: int array array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val collect: mapping: ('T -> 'U array) -> array: 'T array -> 'U array
+
val id: x: 'T -> 'T
+ + + Evaluates to [| 1; 2; 3; 4 |] +

+
+
+
+ +

+ + + Array.Parallel.exists predicate array + + +

+
+
+
+ Full Usage: + Array.Parallel.exists predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + bool + + 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 in parallel. If any application + returns true then the overall result is true and testing of other elements in all threads is stopped at system's earliest convenience. + Otherwise, false is returned. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if any result from predicate is true. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| 1; 2; 3; 4; 5 |]
+
+ input |> Array.Parallel.exists (fun elm -> elm % 4 = 0)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val exists: predicate: ('T -> bool) -> array: 'T array -> bool
+
val elm: int
+ + + Evaluates to true +

+
+ Example +
+

+

 let input = [| 1; 2; 3; 4; 5 |]
+
+ input |> Array.Parallel.exists (fun elm -> elm % 6 = 0)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val exists: predicate: ('T -> bool) -> array: 'T array -> bool
+
val elm: int
+ + + Evaluates to false +

+
+
+
+ +

+ + + Array.Parallel.filter predicate array + + +

+
+
+
+ Full Usage: + Array.Parallel.filter predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + An array containing the elements for which the given predicate returns true. +
+
+
+
+
+
+ +
+
+

+ Returns a new collection containing only the elements of the collection + for which the given predicate returns true. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An array containing the elements for which the given predicate returns true. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4 |]
+
+ inputs |> Array.Parallel.filter (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val filter: predicate: ('T -> bool) -> array: 'T array -> 'T array
+
val elm: int
+ + + Evaluates to [| 2; 4 |] +

+
+
+
+ +

+ + + Array.Parallel.forall predicate array + + +

+
+
+
+ Full Usage: + Array.Parallel.forall predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + bool + + 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 in parallel. If any application + returns false then the overall result is false and testing of other elements in all threads is stopped at system's earliest convenience. + Otherwise, true is returned. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if all of the array elements satisfy the predicate. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let isEven a = a % 2 = 0
+
+ [2; 42] |> Array.Parallel.forall isEven // evaluates to true
+
+ [1; 2] |> Array.Parallel.forall isEven // evaluates to false
+
+
val isEven: a: int -> bool
+
val a: int
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val forall: predicate: ('T -> bool) -> array: 'T array -> bool
+ + +

+
+
+
+ +

+ + + Array.Parallel.groupBy projection array + + +

+
+
+
+ Full Usage: + Array.Parallel.groupBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function that transforms an element of the array into a comparable key. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + ('Key * 'T array) array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Applies a key-generating function to each element of an array in parallel and yields an array of + unique keys. Each unique key contains an array of all elements that match + to this key. +

+
+
+ + + + + +
+
+
+

+ Performs the operation in parallel using Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. + The order of the keys and values in the result is also not specified +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function that transforms an element of the array into a comparable key. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ('Key * 'T array) array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.Parallel.groupBy (fun n -> n % 2)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val groupBy: projection: ('T -> 'Key) -> array: 'T array -> ('Key * 'T array) array (requires equality)
+
val n: int
+ + + Evaluates to [| (1, [| 1; 3; 5 |]); (0, [| 2; 4 |]) |] +

+
+
+
+ +

+ + + Array.Parallel.init count initializer + + +

+
+
+
+ Full Usage: + Array.Parallel.init count initializer +
+
+ Parameters: +
    + + + count + + : + int + - + + +
    + + + initializer + + : + int -> 'T + - + + +
    +
+
+ + Returns: + 'T array + + The array of results. +
+
+
+
+
+
+ +
+
+

+ Create an array given the dimension and a generator function to compute the elements. +

+
+
+ + + + + +
+
+
+

+ Performs the operation in parallel using Parallel.For. + The order in which the given function is applied to indices is not specified. +

+
+
+ + count + + : + int +
+
+

+ +

+
+
+ + initializer + + : + int -> 'T +
+
+

+ +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The array of results. +

+
+
+
+ Example +
+

+

 Array.Parallel.init 4 (fun v -> v + 5)
+
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val init: count: int -> initializer: (int -> 'T) -> 'T array
+
val v: int
+ + + Evaluates to [| 5; 6; 7; 8 |] +

+
+
+
+ +

+ + + Array.Parallel.iter action array + + +

+
+
+
+ Full Usage: + Array.Parallel.iter action array +
+
+ Parameters: +
    + + + action + + : + 'T -> unit + - + + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Apply the given function to each element of the array. +

+
+
+ + + + + +
+
+
+

+ Performs the operation in parallel using Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. +

+
+
+ + action + + : + 'T -> unit +
+
+

+ +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ inputs |> Array.Parallel.iter (printfn "%s")
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val iter: action: ('T -> unit) -> array: 'T array -> unit
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints the following to the console in an unspecified order: +
 a
+ c
+ b
+
+ + +

+
+
+
+ +

+ + + Array.Parallel.iteri action array + + +

+
+
+
+ Full Usage: + Array.Parallel.iteri action array +
+
+ Parameters: +
    + + + action + + : + int -> 'T -> unit + - + + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ 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 Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. +

+
+
+ + action + + : + int -> 'T -> unit +
+
+

+ +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ inputs |> Array.Parallel.iteri (fun i v -> printfn "{i}: {v}")
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val iteri: action: (int -> 'T -> unit) -> array: 'T array -> unit
+
val i: int
+
val v: string
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints the following to the console in an unspecified order: +
 0: a
+ 2: c
+ 1: b
+
+ + +

+
+
+
+ +

+ + + Array.Parallel.map mapping array + + +

+
+
+
+ Full Usage: + Array.Parallel.map mapping array +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U array + + The array of results. +
+
+
+
+
+
+ +
+
+

+ 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 Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. +

+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ The array of results. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "bbb"; "cc" |]
+
+ inputs |> Array.Parallel.map (fun x -> x.Length)
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val map: mapping: ('T -> 'U) -> array: 'T array -> 'U array
+
val x: string
+
property System.String.Length: int with get
+ + + Evaluates to [| 1; 3; 2 |] +

+
+
+
+ +

+ + + Array.Parallel.mapi mapping array + + +

+
+
+
+ Full Usage: + Array.Parallel.mapi mapping array +
+
+ Parameters: +
    + + + mapping + + : + int -> 'T -> 'U + - + + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U array + + The array of results. +
+
+
+
+
+
+ +
+
+

+ 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 Parallel.For. + The order in which the given function is applied to elements of the input array is not specified. +

+
+
+ + mapping + + : + int -> 'T -> 'U +
+
+

+ +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ The array of results. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 10; 10; 10 |]
+
+ inputs |> Array.Parallel.mapi (fun i x -> i + x)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val mapi: mapping: (int -> 'T -> 'U) -> array: 'T array -> 'U array
+
val i: int
+
val x: int
+ + + Evaluates to [| 10; 11; 12 |] +

+
+
+
+ +

+ + + Array.Parallel.max array + + +

+
+
+
+ Full Usage: + Array.Parallel.max array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The maximum element. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns the greatest of all elements of the array, compared via Operators.max. +

+
+
+ + + + + +
+
+
+

+ Throws ArgumentException for empty arrays. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The maximum element. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| 10; 12; 11 |]
+
+ inputs |> Array.Parallel.max
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val max: array: 'T array -> 'T (requires comparison)
+ + + Evaluates to 12 +

+
+ Example +
+

+

 let inputs: int array= [| |]
+
+ inputs |> Array.Parallel.max
+
+
val inputs: int array
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val max: array: 'T array -> 'T (requires comparison)
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Array.Parallel.maxBy projection array + + +

+
+
+
+ Full Usage: + Array.Parallel.maxBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'U + - + The function to transform the elements into a type supporting comparison. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The maximum element. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Returns the greatest of all elements of the array, compared via Operators.max on the function result. +

+
+
+ + + + + +
+
+
+

+ Throws ArgumentException for empty arrays. +

+
+
+ + projection + + : + 'T -> 'U +
+
+

+ The function to transform the elements into a type supporting comparison. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The maximum element. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| "aaa"; "b"; "cccc" |]
+
+ inputs |> Array.Parallel.maxBy (fun s -> s.Length)
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val maxBy: projection: ('T -> 'U) -> array: 'T array -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to "cccc" +

+
+ Example +
+

+

 let inputs: string array= [| |]
+
+ inputs |> Array.Parallel.maxBy (fun s -> s.Length)
+
+
val inputs: string array
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val maxBy: projection: ('T -> 'U) -> array: 'T array -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Array.Parallel.min array + + +

+
+
+
+ Full Usage: + Array.Parallel.min array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The minimum element. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns the smallest of all elements of the array, compared via Operators.min. +

+
+
+ + + + + +
+
+
+

+ Throws ArgumentException for empty arrays +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The minimum element. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| 10; 12; 11 |]
+
+ inputs |> Array.Parallel.min
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val min: array: 'T array -> 'T (requires comparison)
+ + + Evaluates to 10 +

+
+ Example +
+

+

 let inputs: int array= [| |]
+
+ inputs |> Array.Parallel.min
+
+
val inputs: int array
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val min: array: 'T array -> 'T (requires comparison)
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Array.Parallel.minBy projection array + + +

+
+
+
+ Full Usage: + Array.Parallel.minBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'U + - + The function to transform the elements into a type supporting comparison. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The minimum element. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Returns the lowest of all elements of the array, compared via Operators.min on the function result. +

+
+
+ + + + + +
+
+
+

+ Throws ArgumentException for empty arrays. +

+
+
+ + projection + + : + 'T -> 'U +
+
+

+ The function to transform the elements into a type supporting comparison. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The minimum element. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| "aaa"; "b"; "cccc" |]
+
+ inputs |> Array.Parallel.minBy (fun s -> s.Length)
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val minBy: projection: ('T -> 'U) -> array: 'T array -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to "b" +

+
+ Example +
+

+

 let inputs: string array= [| |]
+
+ inputs |> Array.Parallel.minBy (fun s -> s.Length)
+
+
val inputs: string array
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val minBy: projection: ('T -> 'U) -> array: 'T array -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Array.Parallel.partition predicate array + + +

+
+
+
+ Full Usage: + Array.Parallel.partition predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array * 'T array + + The two arrays of results. +
+
+
+
+
+
+ +
+
+

+ 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 Parallel.For. + The order in which the given function is applied to indices is not specified. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array * 'T array +
+
+

+ The two arrays of results. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4 |]
+
+ inputs |> Array.Parallel.partition (fun x -> x % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val partition: predicate: ('T -> bool) -> array: 'T array -> 'T array * 'T array
+
val x: int
+ + + Evaluates to ([|2; 4|], [|1; 3|]). + +

+
+
+
+ +

+ + + Array.Parallel.reduce reduction array + + +

+
+
+
+ Full Usage: + Array.Parallel.reduce reduction array +
+
+ Parameters: +
    + + + reduction + + : + 'T -> 'T -> 'T + - + The function to reduce a pair of elements to a single element. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + Result of the reductions. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Applies a function to each element of the array in parallel, threading an accumulator argument + through the computation for each thread involved in the computation. After processing entire input, results from all threads are reduced together. + Raises ArgumentException if the array is empty. +

+
+
+ + + + + +
+
+
+

+ The order of processing is not guaranteed. For that reason, the 'reduce' function argument should be commutative. + (That is, changing the order of execution must not affect the result) + Also, compared to the non-parallel version of Array.reduce, the 'reduce' function may be invoked more times due to the resulting reduction from participating threads. +

+
+
+ + reduction + + : + 'T -> 'T -> 'T +
+
+

+ The function to reduce a pair of elements to a single element. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ Result of the reductions. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| 1; 3; 4; 2 |]
+
+ inputs |> Array.Parallel.reduce (fun a b -> a + b)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val reduce: reduction: ('T -> 'T -> 'T) -> array: 'T array -> 'T
+
val a: int
+
val b: int
+ + + Evaluates to 1 + 3 + 4 + 2. However, the system could have decided to compute (1+3) and (4+2) first, and then put them together. + +

+
+
+
+ +

+ + + Array.Parallel.reduceBy projection reduction array + + +

+
+
+
+ Full Usage: + Array.Parallel.reduceBy projection reduction array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'U + - + The function to project from elements of the input array + +
    + + + reduction + + : + 'U -> 'U -> 'U + - + The function to reduce a pair of projected elements to a single element. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U + + The final result of the reductions. +
+
+
+
+
+
+ +
+
+

+ Applies a projection function to each element of the array in parallel, reducing elements in each thread with a dedicated 'reduction' function. + After processing entire input, results from all threads are reduced together. + Raises ArgumentException if the array is empty. +

+
+
+ + + + + +
+
+
+

+ The order of processing is not guaranteed. For that reason, the 'reduction' function argument should be commutative. + (That is, changing the order of execution must not affect the result) +

+
+
+ + projection + + : + 'T -> 'U +
+
+

+ The function to project from elements of the input array +

+
+
+ + reduction + + : + 'U -> 'U -> 'U +
+
+

+ The function to reduce a pair of projected elements to a single element. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The final result of the reductions. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| "1"; "3"; "4"; "2" |]
+
+ inputs |> Array.Parallel.reduceBy  (fun x -> int x) (+)
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val reduceBy: projection: ('T -> 'U) -> reduction: ('U -> 'U -> 'U) -> array: 'T array -> 'U
+
val x: string
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to 1 + 3 + 4 + 2. However, the system could have decided to compute (1+3) and (4+2) first, and then put them together. + +

+
+
+
+ +

+ + + Array.Parallel.sort array + + +

+
+
+
+ Full Usage: + Array.Parallel.sort array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The sorted array. +
+
+
+
+
+
+ +
+
+

+ Sorts the elements of an array in parallel, 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. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sorted array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| 8; 4; 3; 1; 6; 1 |]
+
+ Array.Parallel.sort input
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val sort: array: 'T array -> 'T array (requires comparison)
+ + + Evaluates to [| 1; 1 3; 4; 6; 8 |]. + +

+
+
+
+ +

+ + + Array.Parallel.sortBy projection array + + +

+
+
+
+ Full Usage: + Array.Parallel.sortBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + The function to transform array elements into the type that is compared. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The sorted array. +
+
+
+
+
+
+ +
+
+

+ Sorts the elements of an array in parallel, 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ The function to transform array elements into the type that is compared. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sorted array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| "a"; "bbb"; "cccc"; "dd" |]
+
+ input |> Array.Parallel.sortBy (fun s -> s.Length)
+
+
val input: string array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val sortBy: projection: ('T -> 'Key) -> array: 'T array -> 'T array (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to [|"a"; "dd"; "bbb"; "cccc"|]. + +

+
+
+
+ +

+ + + Array.Parallel.sortByDescending projection array + + +

+
+
+
+ Full Usage: + Array.Parallel.sortByDescending projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + The function to transform array elements into the type that is compared. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The sorted array. +
+
+
+
+
+
+ +
+
+

+ Sorts the elements of an array in parallel, in descending order, 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ The function to transform array elements into the type that is compared. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sorted array. +

+
+
+
+ Example +
+

+

 let input = [| "a"; "bbb"; "cccc"; "dd" |]
+
+ input |> Array.Parallel.sortByDescending (fun s -> s.Length)
+
+
val input: string array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val sortByDescending: projection: ('T -> 'Key) -> array: 'T array -> 'T array (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to [|"cccc"; "bbb"; "dd"; "a"|]. + +

+
+
+
+ +

+ + + Array.Parallel.sortDescending array + + +

+
+
+
+ Full Usage: + Array.Parallel.sortDescending array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The sorted array. +
+
+
+
+
+
+ +
+
+

+ Sorts the elements of an array in parallel, in descending order, 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. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sorted array. +

+
+
+
+ Example +
+

+

 let input = [| 8; 4; 3; 1; 6; 1 |]
+
+ input |> Array.Parallel.sortDescending
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val sortDescending: array: 'T array -> 'T array (requires comparison)
+ + + Evaluates to [| 8; 6; 4; 3; 1; 1 |]. + +

+
+
+
+ +

+ + + Array.Parallel.sortInPlace array + + +

+
+
+
+ Full Usage: + Array.Parallel.sortInPlace array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sorts the elements of an array by mutating the array in-place in parallel, using the given comparison function. + Elements are compared using Operators.compare. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let array = [| 8; 4; 3; 1; 6; 1 |]
+
+ Array.sortInPlace array
+
+
Multiple items
val array: int array

--------------------
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val sortInPlace: array: 'T array -> unit (requires comparison)
+ + + After evaluation array contains [| 1; 1; 3; 4; 6; 8 |]. + +

+
+
+
+ +

+ + + Array.Parallel.sortInPlaceBy projection array + + +

+
+
+
+ Full Usage: + Array.Parallel.sortInPlaceBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + The function to transform array elements into the type that is compared. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sorts the elements of an array by mutating the array in-place in parallel, 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ The function to transform array elements into the type that is compared. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let array = [| "a"; "bbb"; "cccc"; "dd" |]
+
+ array |> Array.Parallel.sortInPlaceBy (fun s -> s.Length)
+
+
Multiple items
val array: string array

--------------------
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val sortInPlaceBy: projection: ('T -> 'Key) -> array: 'T array -> unit (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + After evaluation array contains [|"a"; "dd"; "bbb"; "cccc"|]. + +

+
+
+
+ +

+ + + Array.Parallel.sortInPlaceWith comparer array + + +

+
+
+
+ Full Usage: + Array.Parallel.sortInPlaceWith comparer array +
+
+ Parameters: +
    + + + comparer + + : + 'T -> 'T -> int + - + The function to compare pairs of array elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sorts the elements of an array by mutating the array in-place in parallel, using the given comparison function as the order. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + 'T -> 'T -> int +
+
+

+ The function to compare pairs of array elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ The following sorts entries using a comparison function that compares string lengths then index numbers: +

 let compareEntries (n1: int, s1: string) (n2: int, s2: string) =
+     let c = compare s1.Length s2.Length
+     if c <> 0 then c else
+     compare n1 n2
+
+ let array = [| (0,"aa"); (1,"bbb"); (2,"cc"); (3,"dd") |]
+
+ array |> Array.Parallel.sortInPlaceWith compareEntries
+
+
val compareEntries: n1: int * s1: string -> n2: int * s2: string -> int
+
val n1: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val s1: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val n2: int
+
val s2: string
+
val c: int
+
val compare: e1: 'T -> e2: 'T -> int (requires comparison)
+
property System.String.Length: int with get
+
Multiple items
val array: (int * string) array

--------------------
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val sortInPlaceWith: comparer: ('T -> 'T -> int) -> array: 'T array -> unit
+ + + After evaluation array contains [|(0, "aa"); (2, "cc"); (3, "dd"); (1, "bbb")|]. + +

+
+
+
+ +

+ + + Array.Parallel.sortWith comparer array + + +

+
+
+
+ Full Usage: + Array.Parallel.sortWith comparer array +
+
+ Parameters: +
    + + + comparer + + : + 'T -> 'T -> int + - + The function to compare pairs of array elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The sorted array. +
+
+
+
+
+
+ +
+
+

+ Sorts the elements of an array in parallel, 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. +

+
+
+ + comparer + + : + 'T -> 'T -> int +
+
+

+ The function to compare pairs of array elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sorted array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Sort an array of pairs using a comparison function that compares string lengths then index numbers: +

 let compareEntries (n1: int, s1: string) (n2: int, s2: string) =
+     let c = compare s1.Length s2.Length
+     if c <> 0 then c else
+     compare n1 n2
+
+ let input = [| (0,"aa"); (1,"bbb"); (2,"cc"); (3,"dd") |]
+
+ input |> Array.Parallel.sortWith compareEntries
+
+
val compareEntries: n1: int * s1: string -> n2: int * s2: string -> int
+
val n1: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val s1: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val n2: int
+
val s2: string
+
val c: int
+
val compare: e1: 'T -> e2: 'T -> int (requires comparison)
+
property System.String.Length: int with get
+
val input: (int * string) array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val sortWith: comparer: ('T -> 'T -> int) -> array: 'T array -> 'T array
+ + + Evaluates to [|(0, "aa"); (2, "cc"); (3, "dd"); (1, "bbb")|]. + +

+
+
+
+ +

+ + + Array.Parallel.sum array + + +

+
+
+
+ Full Usage: + Array.Parallel.sum array +
+
+ Parameters: +
    + + + array + + : + ^T array + - + The input array. + +
    +
+
+ + Returns: + ^T + + The resulting sum. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Returns the sum of the elements in the array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + ^T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The resulting sum. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| 1; 5; 3; 2 |]
+
+ input |> Array.Parallel.sum
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val sum: array: 'T array -> 'T (requires member (+) and member Zero)
+ + + Evaluates to 11. + +

+
+
+
+ +

+ + + Array.Parallel.sumBy projection array + + +

+
+
+
+ Full Usage: + Array.Parallel.sumBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> ^U + - + The function to transform the array elements into the type to be summed. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + ^U + + The resulting sum. +
+ Modifiers: + inline +
+ Type parameters: + 'T, ^U +
+
+
+
+
+ +
+
+

+ Returns the sum of the results generated by applying the function to each element of the array. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> ^U +
+
+

+ The function to transform the array elements into the type to be summed. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ^U +
+
+

+ The resulting sum. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| "aa"; "bbb"; "cc" |]
+
+ input |> Array.Parallel.sumBy (fun s -> s.Length)
+
+
val input: string array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val sumBy: projection: ('T -> 'U) -> array: 'T array -> 'U (requires member (+) and member Zero)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to 7. + +

+
+
+
+ +

+ + + Array.Parallel.tryFind predicate array + + +

+
+
+
+ Full Usage: + Array.Parallel.tryFind predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T option + + The first element that satisfies the predicate, or None. +
+
+
+
+
+
+ +
+
+

+ Returns the first element for which the given function returns True. + Returns None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The first element that satisfies the predicate, or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Try to find the first even number: +

 let inputs = [| 1; 2; 3 |]
+
+ inputs |> Array.Parallel.tryFind (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val tryFind: predicate: ('T -> bool) -> array: 'T array -> 'T option
+
val elm: int
+ + + Evaluates to Some 2. + +

+
+ Example +
+

+ Try to find the first even number: +

 let inputs = [| 1; 5; 3 |]
+
+ inputs |> Array.Parallel.tryFind (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val tryFind: predicate: ('T -> bool) -> array: 'T array -> 'T option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + Array.Parallel.tryFindIndex predicate array + + +

+
+
+
+ Full Usage: + Array.Parallel.tryFindIndex predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + int option + + The index of the first element that satisfies the predicate, or None. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the first element in the array + that satisfies the given predicate. + Returns None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int option +
+
+

+ The index of the first element that satisfies the predicate, or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Try to find the index of the first even number: +

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.Parallel.tryFindIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val tryFindIndex: predicate: ('T -> bool) -> array: 'T array -> int option
+
val elm: int
+ + + Evaluates to Some 1 +

+
+ Example +
+

+ Try to find the index of the first even number: +

 let inputs = [| 1; 3; 5; 7 |]
+
+ inputs |> Array.Parallel.tryFindIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val tryFindIndex: predicate: ('T -> bool) -> array: 'T array -> int option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + Array.Parallel.tryPick chooser array + + +

+
+
+
+ Full Usage: + Array.Parallel.tryPick chooser array +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + The function to transform the array elements into options. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U option + + The first transformed element that is Some(x). +
+
+
+
+
+
+ +
+
+

+ Applies the given function to successive elements, returning the first + result where the function returns Some(x) for some x. If the function + never returns Some(x) then None is returned. +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ The function to transform the array elements into options. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U option +
+
+

+ The first transformed element that is Some(x). +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Array.Parallel.tryPick (fun n -> if n % 2 = 0 then Some (string n) else None)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val tryPick: chooser: ('T -> 'U option) -> array: 'T array -> 'U option
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to Some 2. + +

+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Array.Parallel.tryPick (fun n -> if n > 3 = 0 then Some (string n) else None)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val tryPick: chooser: ('T -> 'U option) -> array: 'T array -> 'U option
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to None. + +

+
+
+
+ +

+ + + Array.Parallel.zip array1 array2 + + +

+
+
+
+ Full Usage: + Array.Parallel.zip array1 array2 +
+
+ Parameters: +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    +
+
+ + Returns: + ('T1 * 'T2) array + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+
+
+ + Returns: + + ('T1 * 'T2) array +
+
+

+ The array of tupled elements. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

 let numbers = [|1; 2|]
+ let names = [|"one"; "two"|]
+
+ Array.Parallel.zip numbers names
+
+
val numbers: int array
+
val names: string array
+
module Array + +from Microsoft.FSharp.Collections
+
module Parallel + +from Microsoft.FSharp.Collections.ArrayModule
+
val zip: array1: 'T1 array -> array2: 'T2 array -> ('T1 * 'T2) array
+ + + Evaluates to [| (1, "one"); (2, "two") |]. + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-arraymodule.html b/reference/fsharp-collections-arraymodule.html new file mode 100644 index 000000000..ab22379c2 --- /dev/null +++ b/reference/fsharp-collections-arraymodule.html @@ -0,0 +1,21189 @@ + + + + + + + + + + + + + + + + + + Array (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Array Module +

+ +
+
+
+

+ Contains operations for working with arrays. +

+
+
+

+ + See also F# Language Guide - Arrays. + +

+
+
+

+ Nested modules +

+ + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + Parallel + + +

+
+
+
+

+ Provides parallel operations on arrays +

+
+
+ + + + + +
+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Array.allPairs array1 array2 + + +

+
+
+
+ Full Usage: + Array.allPairs array1 array2 +
+
+ Parameters: +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    +
+
+ + Returns: + ('T1 * 'T2) array + + The resulting array of pairs. +
+
+
+
+
+
+ +
+
+

+ Returns a new array that contains all pairings of elements from the first and second arrays. +

+
+
+ + + + + +
+
+
+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+
+
+ + Returns: + + ('T1 * 'T2) array +
+
+

+ The resulting array of pairs. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+
+ Example +
+

+

 ([| 1; 2 |], [| 3; 4 |]) ||> Array.allPairs
+
+
module Array + +from Microsoft.FSharp.Collections
+
val allPairs: array1: 'T1 array -> array2: 'T2 array -> ('T1 * 'T2) array
+ + + Evaluates to +
 [| (1, 3); (1, 4); (2, 3); (2, 4) |]
+
+ + +

+
+
+
+ +

+ + + Array.append array1 array2 + + +

+
+
+
+ Full Usage: + Array.append array1 array2 +
+
+ Parameters: +
    + + + array1 + + : + 'T array + - + The first input array. + +
    + + + array2 + + : + 'T array + - + The second input array. + +
    +
+
+ + Returns: + 'T array + + The resulting array. +
+
+
+
+
+
+ +
+
+

+ Builds a new array that contains the elements of the first array followed by the elements of the second array. +

+
+
+ + + + + +
+
+
+
+
+ + array1 + + : + 'T array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T array +
+
+

+ The second input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The resulting array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+
+ Example +
+

+

 Array.append [| 1; 2 |] [| 3; 4 |]
+
+
module Array + +from Microsoft.FSharp.Collections
+
val append: array1: 'T array -> array2: 'T array -> 'T array
+ + + Evaluates to [| 1; 2; 3; 4 |]. + +

+
+
+
+ +

+ + + Array.average array + + +

+
+
+
+ Full Usage: + Array.average array +
+
+ Parameters: +
    + + + array + + : + ^T array + - + The input array. + +
    +
+
+ + Returns: + ^T + + The average of the elements in the array. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Returns the average of the elements in the array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + ^T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The average of the elements in the array. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when array is empty. +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 [| 1.0; 2.0; 6.0 |] |> Array.average
+
+
module Array + +from Microsoft.FSharp.Collections
+
val average: array: 'T array -> 'T (requires member (+) and member DivideByInt and member Zero)
+ + + Evaluates to 3.0 +

+
+ Example +
+

+

 [| |] |> Array.average
+
+
module Array + +from Microsoft.FSharp.Collections
+
val average: array: 'T array -> 'T (requires member (+) and member DivideByInt and member Zero)
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.averageBy projection array + + +

+
+
+
+ Full Usage: + Array.averageBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> ^U + - + The function to transform the array elements before averaging. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + ^U + + The computed average. +
+ Modifiers: + inline +
+ Type parameters: + 'T, ^U +
+
+
+
+
+ +
+
+

+ Returns the average of the elements generated by applying the function to each element of the array. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> ^U +
+
+

+ The function to transform the array elements before averaging. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ^U +
+
+

+ The computed average. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when array is empty. +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 type Foo = { Bar: float }
+
+ let input = [| {Bar = 2.0}; {Bar = 4.0} |]
+
+ input |> Array.averageBy (fun foo -> foo.Bar)
+
+
type Foo = + { Bar: float }
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
val input: Foo array
+
module Array + +from Microsoft.FSharp.Collections
+
val averageBy: projection: ('T -> 'U) -> array: 'T array -> 'U (requires member (+) and member DivideByInt and member Zero)
+
val foo: Foo
+
Foo.Bar: float
+ + + Evaluates to 3.0 +

+
+ Example +
+

+

 type Foo = { Bar: float }
+
+ let input : Foo array = [| |]
+
+ input |> Array.averageBy (fun foo -> foo.Bar)
+
+
type Foo = + { Bar: float }
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
val input: Foo array
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val averageBy: projection: ('T -> 'U) -> array: 'T array -> 'U (requires member (+) and member DivideByInt and member Zero)
+
val foo: Foo
+
Foo.Bar: float
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.blit source sourceIndex target targetIndex count + + +

+
+
+
+ Full Usage: + Array.blit source sourceIndex target targetIndex count +
+
+ Parameters: +
    + + + source + + : + 'T array + - + The source array. + +
    + + + sourceIndex + + : + int + - + The starting index of the source array. + +
    + + + target + + : + 'T array + - + The target array. + +
    + + + targetIndex + + : + int + - + The starting index of the target array. + +
    + + + count + + : + int + - + The number of elements to copy. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Reads a range of elements from the first array and write them into the second. +

+
+
+ + + + + +
+
+
+

+ + Slicing syntax is generally preferred, e.g. +

 let source = [| 12; 13; 14 |]
+ let target = [| 0; 1; 2; 3; 4; 5 |]
+ target[3..4] <- source[1..2]
+
+
val source: int array
+
val target: int array
+ + +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+ + sourceIndex + + : + int +
+
+

+ The starting index of the source array. +

+
+
+ + target + + : + 'T array +
+
+

+ The target array. +

+
+
+ + targetIndex + + : + int +
+
+

+ The starting index of the target array. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to copy. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+ + ArgumentException + + + Thrown when any of sourceIndex, targetIndex or count are negative, + or when there aren't enough elements in source or target. +
+
+ Example +
+

+

 let source = [| 12; 13; 14 |]
+ let target = [| 0; 1; 2; 3; 4; 5 |]
+
+ Array.blit source 1 target 3 2
+
+
val source: int array
+
val target: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val blit: source: 'T array -> sourceIndex: int -> target: 'T array -> targetIndex: int -> count: int -> unit
+ + + After evaluation target contains [| 0; 1; 2; 13; 14; 5 |]. + +

+
+
+
+ +

+ + + Array.choose chooser array + + +

+
+
+
+ Full Usage: + Array.choose chooser array +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + The function to generate options from the elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U array + + The array of results. +
+
+
+
+
+
+ +
+
+

+ 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) +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ The function to generate options from the elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ The array of results. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| Some 1; None; Some 2 |]
+
+ input |> Array.choose id
+
+
val input: int option array
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+
module Array + +from Microsoft.FSharp.Collections
+
val choose: chooser: ('T -> 'U option) -> array: 'T array -> 'U array
+
val id: x: 'T -> 'T
+ + + Evaluates to [| 1; 2 |] +

+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Array.choose (fun n -> if n % 2 = 0 then Some n else None)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val choose: chooser: ('T -> 'U option) -> array: 'T array -> 'U array
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+ + + Evaluates to [| 2 |] +

+
+
+
+ +

+ + + Array.chunkBySize chunkSize array + + +

+
+
+
+ Full Usage: + Array.chunkBySize chunkSize array +
+
+ Parameters: +
    + + + chunkSize + + : + int + - + The maximum size of each chunk. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array array + + The array divided into chunks. +
+
+
+
+
+
+ +
+
+

+ Divides the input array into chunks of size at most chunkSize. +

+
+
+ + + + + +
+
+
+
+
+ + chunkSize + + : + int +
+
+

+ The maximum size of each chunk. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array array +
+
+

+ The array divided into chunks. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when chunkSize is not positive. +
+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Array.chunkBySize 2
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val chunkBySize: chunkSize: int -> array: 'T array -> 'T array array
+ + + Evaluates to [| [|1; 2|]; [|3|] |] +

+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Array.chunkBySize -2
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val chunkBySize: chunkSize: int -> array: 'T array -> 'T array array
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.collect mapping array + + +

+
+
+
+ Full Usage: + Array.collect mapping array +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U array + - + The function to create sub-arrays from the input array elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U array + + The concatenation of the sub-arrays. +
+
+
+
+
+
+ +
+
+

+ For each element of the array, applies the given function. Concatenates all the results and return the combined array. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'U array +
+
+

+ The function to create sub-arrays from the input array elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ The concatenation of the sub-arrays. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 type Foo = { Bar: int array }
+
+ let input = [| {Bar = [| 1; 2 |]}; {Bar = [| 3; 4 |]} |]
+
+ input |> Array.collect (fun foo -> foo.Bar)
+
+
type Foo = + { Bar: int array }
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
val input: Foo array
+
module Array + +from Microsoft.FSharp.Collections
+
val collect: mapping: ('T -> 'U array) -> array: 'T array -> 'U array
+
val foo: Foo
+
Foo.Bar: int array
+ + + Evaluates to [| 1; 2; 3; 4 |] +

+
+ Example +
+

+

 let input = [[1; 2]; [3; 4]]
+
+ input |> Array.collect id
+
+
val input: int list list
+
module Array + +from Microsoft.FSharp.Collections
+
val collect: mapping: ('T -> 'U array) -> array: 'T array -> 'U array
+
val id: x: 'T -> 'T
+ + + Evaluates to [| 1; 2; 3; 4 |] +

+
+
+
+ +

+ + + Array.compareWith comparer array1 array2 + + +

+
+
+
+ Full Usage: + Array.compareWith comparer array1 array2 +
+
+ Parameters: +
    + + + comparer + + : + 'T -> 'T -> int + - + A function that takes an element from each array and returns an int. + If it evaluates to a non-zero value iteration is stopped and that value is returned. + +
    + + + array1 + + : + 'T array + - + The first input array. + +
    + + + array2 + + : + 'T array + - + The second input array. + +
    +
+
+ + Returns: + int + + Returns the first non-zero result from the comparison function. If the first array has + a larger element, the return value is always positive. If the second array has a larger + element, the return value is always negative. When the elements are equal in the two + arrays, 1 is returned if the first array is longer, 0 is returned if they are equal in + length, and -1 is returned when the second array is longer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compares two arrays using the given comparison function, element by element. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + 'T -> 'T -> int +
+
+

+ A function that takes an element from each array and returns an int. + If it evaluates to a non-zero value iteration is stopped and that value is returned. +

+
+
+ + array1 + + : + 'T array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T array +
+
+

+ The second input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ Returns the first non-zero result from the comparison function. If the first array has + a larger element, the return value is always positive. If the second array has a larger + element, the return value is always negative. When the elements are equal in the two + arrays, 1 is returned if the first array is longer, 0 is returned if they are equal in + length, and -1 is returned when the second array is longer. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays + is null. +
+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [| 1; 10 |]
+ let input2 = [| 1; 10 |]
+
+ (input1, input2) ||> Array.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int array
+
val input2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val compareWith: comparer: ('T -> 'T -> int) -> array1: 'T array -> array2: 'T array -> int
+ + + Evaluates to 0 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [| 1; 5 |]
+ let input2 = [| 1; 8 |]
+
+ (input1, input2) ||> Array.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int array
+
val input2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val compareWith: comparer: ('T -> 'T -> int) -> array1: 'T array -> array2: 'T array -> int
+ + + Evaluates to -1 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [| 1; 11 |]
+ let input2 = [| 1; 13 |]
+
+ (input1, input2) ||> Array.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int array
+
val input2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val compareWith: comparer: ('T -> 'T -> int) -> array1: 'T array -> array2: 'T array -> int
+ + + Evaluates to 1 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [| 1; 2 |]
+ let input2 = [| 1 |]
+
+ (input1, input2) ||> Array.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int array
+
val input2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val compareWith: comparer: ('T -> 'T -> int) -> array1: 'T array -> array2: 'T array -> int
+ + + Evaluates to 1 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [| 1 |]
+ let input2 = [| 1; 2 |]
+
+ (input1, input2) ||> Array.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int array
+
val input2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val compareWith: comparer: ('T -> 'T -> int) -> array1: 'T array -> array2: 'T array -> int
+ + + Evaluates to -1 +

+
+
+
+ +

+ + + Array.concat arrays + + +

+
+
+
+ Full Usage: + Array.concat arrays +
+
+ Parameters: +
    + + + arrays + + : + 'T array seq + - + The input sequence of arrays. + +
    +
+
+ + Returns: + 'T array + + The concatenation of the sequence of input arrays. +
+
+
+
+
+
+ +
+
+

+ Builds a new array that contains the elements of each of the given sequence of arrays. +

+
+
+ + + + + +
+
+
+
+
+ + arrays + + : + 'T array seq +
+
+

+ The input sequence of arrays. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The concatenation of the sequence of input arrays. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = [ [| 1; 2 |]; [| 3 |]; [| 4; 5 |] ]
+
+ inputs |> Array.concat
+
+
val inputs: int array list
+
module Array + +from Microsoft.FSharp.Collections
+
val concat: arrays: 'T array seq -> 'T array
+ + + Evaluates to [| 1; 2; 3; 4; 5 |] +

+
+
+
+ +

+ + + Array.contains value array + + +

+
+
+
+ Full Usage: + Array.contains value array +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to locate in the input array. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + bool + + True if the input array contains the specified element; false otherwise. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Tests if the array contains the specified element. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to locate in the input array. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the input array contains the specified element; false otherwise. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 [| 1; 2 |] |> Array.contains 2 // evaluates to true
+ [| 1; 2 |] |> Array.contains 5 // evaluates to false
+
+
module Array + +from Microsoft.FSharp.Collections
+
val contains: value: 'T -> array: 'T array -> bool (requires equality)
+ + +

+
+
+
+ +

+ + + Array.copy array + + +

+
+
+
+ Full Usage: + Array.copy array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + A copy of the input array. +
+
+
+
+
+
+ +
+
+

+ Builds a new array that contains the elements of the given array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ A copy of the input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let source = [| 12; 13; 14 |]
+
+ Array.copy source
+
+
val source: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val copy: array: 'T array -> 'T array
+ + + Evaluates to a new array containing[| 12; 13; 14 |]. + +

+
+
+
+ +

+ + + Array.countBy projection array + + +

+
+
+
+ Full Usage: + Array.countBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function transforming each item of the input array into a key to be + compared against the others. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + ('Key * int) array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Applies a key-generating function to each element of an array and returns an array yielding unique + keys and their number of occurrences in the original array. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function transforming each item of the input array into a key to be + compared against the others. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ('Key * int) array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 type Foo = { Bar: string }
+
+ let inputs = [| {Bar = "a"}; {Bar = "b"}; {Bar = "a"} |]
+
+ inputs |> Array.countBy (fun foo -> foo.Bar)
+
+
type Foo = + { Bar: string }
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val inputs: Foo array
+
module Array + +from Microsoft.FSharp.Collections
+
val countBy: projection: ('T -> 'Key) -> array: 'T array -> ('Key * int) array (requires equality)
+
val foo: Foo
+
Foo.Bar: string
+ + + Evaluates to [| ("a", 2); ("b", 1) |] +

+
+
+
+ +

+ + + Array.create count value + + +

+
+
+
+ Full Usage: + Array.create count value +
+
+ Parameters: +
    + + + count + + : + int + - + The length of the array to create. + +
    + + + value + + : + 'T + - + The value for the elements. + +
    +
+
+ + Returns: + 'T array + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates an array whose elements are all initially the given value. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The length of the array to create. +

+
+
+ + value + + : + 'T +
+
+

+ The value for the elements. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The created array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when count is negative. +
+
+ Example +
+

+

 Array.create 4 "a"
+
+
module Array + +from Microsoft.FSharp.Collections
+
val create: count: int -> value: 'T -> 'T array
+ + + Evaluates to a new array containing[| "a"; "a"; "a"; "a" |]. + +

+
+ Example +
+

+

 let cell = ref "a"
+ let array = Array.create 2 cell
+ cell.Value <- "b"
+
+
val cell: string ref
+
Multiple items
val ref: value: 'T -> 'T ref

--------------------
type 'T ref = Ref<'T>
+
Multiple items
val array: string ref array

--------------------
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val create: count: int -> value: 'T -> 'T array
+
property Ref.Value: string with get, set
+ + + Before evaluation of the last line, array contains[| { contents = "a"}; { contents = "a"} |]. + After evaluation of the last line array contains[| { contents = "b"}; { contents = "b"} |]. + Note each entry in the array is the same mutable cell object. + +

+
+
+
+ +

+ + + Array.distinct array + + +

+
+
+
+ Full Usage: + Array.distinct array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Returns an array that contains no duplicate entries according to generic hash and + equality comparisons on the entries. + If an element occurs multiple times in the array then the later occurrences are discarded. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| 1; 1; 2; 3 |]
+
+ input |> Array.distinct
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val distinct: array: 'T array -> 'T array (requires equality)
+ + + Evaluates to [| 1; 2; 3 |] +

+
+
+
+ +

+ + + Array.distinctBy projection array + + +

+
+
+
+ Full Usage: + Array.distinctBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function transforming the array items into comparable keys. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Returns an array 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 array then the later occurrences are discarded. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function transforming the array items into comparable keys. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| {Bar = 1 };{Bar = 1}; {Bar = 2}; {Bar = 3} |]
+
+ inputs |> Array.distinctBy (fun foo -> foo.Bar)
+
+
val inputs: obj array
+
module Array + +from Microsoft.FSharp.Collections
+
val distinctBy: projection: ('T -> 'Key) -> array: 'T array -> 'T array (requires equality)
+
val foo: obj
+ + + Evaluates to [| { Bar = 1 }; { Bar = 2 }; { Bar = 3 } |] +

+
+
+
+ +

+ + + Array.empty + + +

+
+
+
+ Full Usage: + Array.empty +
+
+ + Returns: + 'T array + + The empty array. +
+
+
+
+
+
+ +
+
+

+ Returns an empty array of the given type. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The empty array. +

+
+
+
+ Example +
+

+

 Array.empty // Evaluates to [| |]
+
+
module Array + +from Microsoft.FSharp.Collections
+
val empty<'T> : 'T array
+ + +

+
+
+
+ +

+ + + Array.exactlyOne array + + +

+
+
+
+ Full Usage: + Array.exactlyOne array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The only element of the array. +
+
+
+
+
+
+ +
+
+

+ Returns the only element of the array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The only element of the array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input does not have precisely one element. +
+
+ Example +
+

+

 let inputs = [| "banana" |]
+
+ inputs |> Array.exactlyOne
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val exactlyOne: array: 'T array -> 'T
+ + + Evaluates to banana +

+
+ Example +
+

+

 let inputs = [| "pear"; "banana" |]
+
+ inputs |> Array.exactlyOne
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val exactlyOne: array: 'T array -> 'T
+ + + Throws ArgumentException +

+
+ Example +
+

+

 let inputs: int array = [| |]
+
+ inputs |> Array.exactlyOne
+
+
val inputs: int array
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val exactlyOne: array: 'T array -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.except itemsToExclude array + + +

+
+
+
+ Full Usage: + Array.except itemsToExclude array +
+
+ Parameters: +
    + + + itemsToExclude + + : + 'T seq + - + A sequence whose elements that also occur in the input array will cause those elements to be + removed from the result. + +
    + + + array + + : + 'T array + - + An array whose elements that are not also in itemsToExclude will be returned. + +
    +
+
+ + Returns: + 'T array + + An array that contains the distinct elements of array that do not appear in itemsToExclude. +
+
+
+
+
+
+ +
+
+

+ Returns a new list with the distinct elements of the input array which do not appear in the itemsToExclude sequence, + using generic hash and equality comparisons to compare values. +

+
+
+ + + + + +
+
+
+
+
+ + itemsToExclude + + : + 'T seq +
+
+

+ A sequence whose elements that also occur in the input array will cause those elements to be + removed from the result. +

+
+
+ + array + + : + 'T array +
+
+

+ An array whose elements that are not also in itemsToExclude will be returned. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An array that contains the distinct elements of array that do not appear in itemsToExclude. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either itemsToExclude or array is null. +
+
+ Example +
+

+

 let original = [| 1; 2; 3; 4; 5 |]
+ let itemsToExclude = [| 1; 3; 5 |]
+
+ original |> Array.except itemsToExclude
+
+
val original: int array
+
val itemsToExclude: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val except: itemsToExclude: 'T seq -> array: 'T array -> 'T array (requires equality)
+ + + Evaluates to [| 2; 4 |] +

+
+
+
+ +

+ + + Array.exists predicate array + + +

+
+
+
+ Full Usage: + Array.exists predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + bool + + True if any result from predicate is true. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if any result from predicate is true. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| 1; 2; 3; 4; 5 |]
+
+ input |> Array.exists (fun elm -> elm % 4 = 0)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val exists: predicate: ('T -> bool) -> array: 'T array -> bool
+
val elm: int
+ + + Evaluates to true +

+
+ Example +
+

+

 let input = [| 1; 2; 3; 4; 5 |]
+
+ input |> Array.exists (fun elm -> elm % 6 = 0)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val exists: predicate: ('T -> bool) -> array: 'T array -> bool
+
val elm: int
+ + + Evaluates to false +

+
+
+
+ +

+ + + Array.exists2 predicate array1 array2 + + +

+
+
+
+ Full Usage: + Array.exists2 predicate array1 array2 +
+
+ Parameters: +
    + + + predicate + + : + 'T1 -> 'T2 -> bool + - + The function to test the input elements. + +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    +
+
+ + Returns: + bool + + True if any result from predicate is 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. +

+
+
+ + predicate + + : + 'T1 -> 'T2 -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if any result from predicate is true. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

 let inputs1 = [| 1; 2 |]
+ let inputs2 = [| 1; 2; 0 |]
+
+ (inputs1, inputs2) ||> Array.exists2 (fun a b -> a > b)
+
+
val inputs1: int array
+
val inputs2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val exists2: predicate: ('T1 -> 'T2 -> bool) -> array1: 'T1 array -> array2: 'T2 array -> bool
+
val a: int
+
val b: int
+ + + Evaluates to false +

+
+ Example +
+

+

 let inputs1 = [| 1; 4 |]
+ let inputs2 = [| 1; 3; 5 |]
+
+ (inputs1, inputs2) ||> Array.exists2 (fun a b -> a > b)
+
+
val inputs1: int array
+
val inputs2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val exists2: predicate: ('T1 -> 'T2 -> bool) -> array1: 'T1 array -> array2: 'T2 array -> bool
+
val a: int
+
val b: int
+ + + Evaluates to true +

+
+
+
+ +

+ + + Array.fill target targetIndex count value + + +

+
+
+
+ Full Usage: + Array.fill target targetIndex count value +
+
+ Parameters: +
    + + + target + + : + 'T array + - + The target array. + +
    + + + targetIndex + + : + int + - + The index of the first element to set. + +
    + + + count + + : + int + - + The number of elements to set. + +
    + + + value + + : + 'T + - + The value to set. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Fills a range of elements of the array with the given value. +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T array +
+
+

+ The target array. +

+
+
+ + targetIndex + + : + int +
+
+

+ The index of the first element to set. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to set. +

+
+
+ + value + + : + 'T +
+
+

+ The value to set. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when either targetIndex or count is negative. +
+
+ Example +
+

+

 let target = [| 0; 1; 2; 3; 4; 5 |]
+
+ Array.fill target 3 2 100
+
+
val target: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val fill: target: 'T array -> targetIndex: int -> count: int -> value: 'T -> unit
+ + + After evaluation target contains [| 0; 1; 2; 100; 100; 5 |]. + +

+
+
+
+ +

+ + + Array.filter predicate array + + +

+
+
+
+ Full Usage: + Array.filter predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + An array containing the elements for which the given predicate returns true. +
+
+
+
+
+
+ +
+
+

+ Returns a new collection containing only the elements of the collection + for which the given predicate returns "true". +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An array containing the elements for which the given predicate returns true. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4 |]
+
+ inputs |> Array.filter (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val filter: predicate: ('T -> bool) -> array: 'T array -> 'T array
+
val elm: int
+ + + Evaluates to [| 2; 4 |] +

+
+
+
+ +

+ + + Array.find predicate array + + +

+
+
+
+ Full Usage: + Array.find predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The first element for which predicate returns true. +
+
+
+
+
+
+ +
+
+

+ Returns the first element for which the given function returns 'true'. + Raise KeyNotFoundException if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The first element for which predicate returns true. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + KeyNotFoundException + + + Thrown if predicate + never returns true. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3 |]
+
+ inputs |> Array.find (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val find: predicate: ('T -> bool) -> array: 'T array -> 'T
+
val elm: int
+ + + Evaluates to 2 +

+
+ Example +
+

+

 let inputs = [| 1; 2; 3 |]
+
+ inputs |> Array.find (fun elm -> elm % 6 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val find: predicate: ('T -> bool) -> array: 'T array -> 'T
+
val elm: int
+ + + Throws KeyNotFoundException +

+
+
+
+ +

+ + + Array.findBack predicate array + + +

+
+
+
+ Full Usage: + Array.findBack predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The last element for which predicate returns true. +
+
+
+
+
+
+ +
+
+

+ Returns the last element for which the given function returns 'true'. + Raise KeyNotFoundException if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The last element for which predicate returns true. +

+
+
+ + + + + + + + + +
+ + KeyNotFoundException + + + Thrown if predicate + never returns true. +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 2; 3; 4 |]
+
+ inputs |> Array.findBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val findBack: predicate: ('T -> bool) -> array: 'T array -> 'T
+
val elm: int
+ + + Evaluates to 4 +

+
+ Example +
+

+

 let inputs = [| 2; 3; 4 |]
+
+ inputs |> Array.findBack (fun elm -> elm % 6 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val findBack: predicate: ('T -> bool) -> array: 'T array -> 'T
+
val elm: int
+ + + Throws KeyNotFoundException +

+
+
+
+ +

+ + + Array.findIndex predicate array + + +

+
+
+
+ Full Usage: + Array.findIndex predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + int + + The index of the first element in the array that satisfies the given predicate. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the first element in the array + that satisfies the given predicate. Raise KeyNotFoundException if + none of the elements satisfy the predicate. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The index of the first element in the array that satisfies the given predicate. +

+
+
+ + + + + + + + + +
+ + KeyNotFoundException + + + Thrown if predicate + never returns true. +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.findIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val findIndex: predicate: ('T -> bool) -> array: 'T array -> int
+
val elm: int
+ + + Evaluates to 1 +

+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4; 5 |]
+ inputs |> Array.findIndex (fun elm -> elm % 6 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val findIndex: predicate: ('T -> bool) -> array: 'T array -> int
+
val elm: int
+ + + Throws KeyNotFoundException +

+
+
+
+ +

+ + + Array.findIndexBack predicate array + + +

+
+
+
+ Full Usage: + Array.findIndexBack predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + int + + The index of the last element in the array that satisfies the given predicate. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the last element in the array + that satisfies the given predicate. Raise KeyNotFoundException if + none of the elements satisfy the predicate. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The index of the last element in the array that satisfies the given predicate. +

+
+
+ + + + + + + + + +
+ + KeyNotFoundException + + + Thrown if predicate + never returns true. +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.findIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val findIndex: predicate: ('T -> bool) -> array: 'T array -> int
+
val elm: int
+ + + Evaluates to 3 +

+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.findIndex (fun elm -> elm % 6 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val findIndex: predicate: ('T -> bool) -> array: 'T array -> int
+
val elm: int
+ + + Throws KeyNotFoundException +

+
+
+
+ +

+ + + Array.fold folder state array + + +

+
+
+
+ Full Usage: + Array.fold folder state array +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T -> 'State + - + The function to update the state given the input elements. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + '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 +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = [| In 1; Out 2; In 3 |]
+
+ (0, inputs) ||> Array.fold (fun acc charge ->
+     match charge with
+     | In i -> acc + i
+     | Out o -> acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge array
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
module Array + +from Microsoft.FSharp.Collections
+
val fold<'T,'State> : folder: ('State -> 'T -> 'State) -> state: 'State -> array: 'T array -> 'State
+
val acc: int
+
val charge: Charge
+
val i: int
+
val o: int
+ + + Evaluates to 2 +

+
+
+
+ +

+ + + Array.fold2 folder state array1 array2 + + +

+
+
+
+ Full Usage: + Array.fold2 folder state array1 array2 +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T1 -> 'T2 -> 'State + - + The function to update the state given the input elements. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    +
+
+ + Returns: + 'State + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T1 -> 'T2 -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

 type CoinToss = Head | Tails
+
+ let data1 = [| Tails; Head; Tails |]
+ let data2 = [| Tails; Head; Head |]
+
+ (0, data1, data2) |||> Array.fold2 (fun acc a b ->
+     match (a, b) with
+     | Head, Head -> acc + 1
+     | Tails, Tails -> acc + 1
+     | _ -> acc - 1)
+
+
type CoinToss = + | Head + | Tails
+
val data1: CoinToss array
+
union case CoinToss.Tails: CoinToss
+
union case CoinToss.Head: CoinToss
+
val data2: CoinToss array
+
module Array + +from Microsoft.FSharp.Collections
+
val fold2<'T1,'T2,'State> : folder: ('State -> 'T1 -> 'T2 -> 'State) -> state: 'State -> array1: 'T1 array -> array2: 'T2 array -> 'State
+
val acc: int
+
val a: CoinToss
+
val b: CoinToss
+ + + Evaluates to 1 +

+
+
+
+ +

+ + + Array.foldBack folder array state + + +

+
+
+
+ Full Usage: + Array.foldBack folder array state +
+
+ Parameters: +
    + + + folder + + : + 'T -> 'State -> 'State + - + The function to update the state given the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State + + The state object after the folding function is applied to each element of the array. +
+
+
+
+
+
+ +
+
+

+ Applies a function to each element of the array, starting from the end, 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)) +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'T -> 'State -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The state object after the folding function is applied to each element of the array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 type Count =
+   { Positive: int
+     Negative: int
+     Text: string }
+
+ let sequence = [| 1; 0; -1; -2; 3 |]
+ let initialState = {Positive = 0; Negative = 0; Text = "" }
+
+ (sequence, initialState) ||> Array.foldBack (fun a acc  ->
+     let text = acc.Text + " " + string a
+     if a >= 0 then
+         { acc with
+             Positive = acc.Positive + 1
+             Text = text }
+     else
+         { acc with
+             Negative = acc.Negative + 1
+             Text = text })
+
+
type Count = + { + Positive: int + Negative: int + Text: string + }
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val sequence: int array
+
val initialState: Count
+
module Array + +from Microsoft.FSharp.Collections
+
val foldBack: folder: ('T -> 'State -> 'State) -> array: 'T array -> state: 'State -> 'State
+
val a: int
+
val acc: Count
+
val text: string
+
Count.Text: string
+
Count.Positive: int
+
Count.Negative: int
+ + + Evaluates to +
 { Positive = 2
+   Negative = 3
+   Text = " 3 -2 -1 0 1" }
+
+
namespace Microsoft.FSharp.Text
+ + +

+
+
+
+ +

+ + + Array.foldBack2 folder array1 array2 state + + +

+
+
+
+ Full Usage: + Array.foldBack2 folder array1 array2 state +
+
+ Parameters: +
    + + + folder + + : + 'T1 -> 'T2 -> 'State -> 'State + - + The function to update the state given the input elements. + +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State + + The final state. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'T1 -> 'T2 -> 'State -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

Count the positives, negatives and accumulate some text from back to front:
+ type Count =
+   { Positive: int
+     Negative: int
+     Text: string }
+
+ let inputs1 = [| -1; -2; -3 |]
+ let inputs2 = [| 3; 2; 1 |]
+ let initialState = {Positive = 0; Negative = 0; Text = ""}
+
+ (inputs1, inputs2, initialState) |||> Array.foldBack2 (fun a b acc  ->
+     let text = acc.Text + "(" + string a + "," + string b + ") "
+     if a + b >= 0 then
+         { acc with
+             Positive = acc.Positive + 1
+             Text = text }
+     else
+         { acc with
+             Negative = acc.Negative + 1
+             Text = text }
+ )
+
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
namespace Microsoft.FSharp.Text
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
module Array + +from Microsoft.FSharp.Collections
+
val foldBack2: folder: ('T1 -> 'T2 -> 'State -> 'State) -> array1: 'T1 array -> array2: 'T2 array -> state: 'State -> 'State
+ + + Evaluates to +
 { Positive = 2
+   Negative = 1
+   Text = "(-3,1) (-2,2) (-1,3) " }
+
+
namespace Microsoft.FSharp.Text
+ + +

+
+
+
+ +

+ + + Array.forall predicate array + + +

+
+
+
+ Full Usage: + Array.forall predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + bool + + 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. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if all of the array elements satisfy the predicate. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let isEven a = a % 2 = 0
+
+ [2; 42] |> Array.forall isEven // evaluates to true
+
+ [1; 2] |> Array.forall isEven // evaluates to false
+
+
val isEven: a: int -> bool
+
val a: int
+
module Array + +from Microsoft.FSharp.Collections
+
val forall: predicate: ('T -> bool) -> array: 'T array -> bool
+ + +

+
+
+
+ +

+ + + Array.forall2 predicate array1 array2 + + +

+
+
+
+ Full Usage: + Array.forall2 predicate array1 array2 +
+
+ Parameters: +
    + + + predicate + + : + 'T1 -> 'T2 -> bool + - + The function to test the input elements. + +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    +
+
+ + Returns: + bool + + True if all of the array elements satisfy the predicate. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + predicate + + : + 'T1 -> 'T2 -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if all of the array elements satisfy the predicate. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

 let inputs1 = [| 1; 2; 3 |]
+ let inputs2 = [| 1; 2; 3 |]
+
+ (inputs1, inputs2) ||> Array.forall2 (=)
+
+
val inputs1: int array
+
val inputs2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val forall2: predicate: ('T1 -> 'T2 -> bool) -> array1: 'T1 array -> array2: 'T2 array -> bool
+ + + Evaluates to true. + +

+
+ Example +
+

+

 let items1 = [| 2017; 1; 1 |]
+ let items2 = [| 2019; 19; 8 |]
+
+ (items1, items2) ||> Array.forall2 (=)
+
+
val items1: int array
+
val items2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val forall2: predicate: ('T1 -> 'T2 -> bool) -> array1: 'T1 array -> array2: 'T2 array -> bool
+ + + Evaluates to false. + +

+
+ Example +
+

+

 let items1 = [| 1; 2; 3 |]
+ let items2 = [| 1; 2 |]
+
+ (items1, items2) ||> Array.forall2 (=)
+
+
val items1: int array
+
val items2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val forall2: predicate: ('T1 -> 'T2 -> bool) -> array1: 'T1 array -> array2: 'T2 array -> bool
+ + + Throws ArgumentException. + +

+
+
+
+ +

+ + + Array.get array index + + +

+
+
+
+ Full Usage: + Array.get array index +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    + + + index + + : + int + - + The input index. + +
    +
+
+ + Returns: + 'T + + The value of the array at the given index. +
+
+
+
+
+
+ +
+
+

+ Gets an element from an array. +

+
+
+ + + + + +
+
+
+

+ Normally the syntax array[index] is preferred. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + index + + : + int +
+
+

+ The input index. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value of the array at the given index. +

+
+
+ + + + + + + + + +
+ + NullReferenceException + + + Thrown when the input array is null. +
+ + IndexOutOfRangeException + + + Thrown when the index is negative or the input array does not contain enough elements. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ Array.get inputs 1
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val get: array: 'T array -> index: int -> 'T
+ + + Evaluates to "b" +

+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ Array.get inputs 4
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val get: array: 'T array -> index: int -> 'T
+ + + Throws IndexOutOfRangeException +

+
+
+
+ +

+ + + Array.groupBy projection array + + +

+
+
+
+ Full Usage: + Array.groupBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function that transforms an element of the array into a comparable key. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + ('Key * 'T array) array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Applies a key-generating function to each element of an array and yields an array of + unique keys. Each unique key contains an array of all elements that match + to this key. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function that transforms an element of the array into a comparable key. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ('Key * 'T array) array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.groupBy (fun n -> n % 2)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val groupBy: projection: ('T -> 'Key) -> array: 'T array -> ('Key * 'T array) array (requires equality)
+
val n: int
+ + + Evaluates to [| (1, [| 1; 3; 5 |]); (0, [| 2; 4 |]) |] +

+
+
+
+ +

+ + + Array.head array + + +

+
+
+
+ Full Usage: + Array.head array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The first element of the array. +
+
+
+
+
+
+ +
+
+

+ Returns the first element of the array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The first element of the array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| "banana"; "pear" |]
+
+ inputs |> Array.head
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val head: array: 'T array -> 'T
+ + + Evaluates to banana +

+
+ Example +
+

+

 [| |] |> Array.head
+
+
module Array + +from Microsoft.FSharp.Collections
+
val head: array: 'T array -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.indexed array + + +

+
+
+
+ Full Usage: + Array.indexed array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + (int * 'T) array + + The array of indexed elements. +
+
+
+
+
+
+ +
+
+

+ Builds a new array whose elements are the corresponding elements of the input array + paired with the integer index (from 0) of each element. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + (int * 'T) array +
+
+

+ The array of indexed elements. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ inputs |> Array.indexed
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val indexed: array: 'T array -> (int * 'T) array
+ + + Evaluates to [| (0, "a"); (1, "b"); (2, "c") |] +

+
+
+
+ +

+ + + Array.init count initializer + + +

+
+
+
+ Full Usage: + Array.init count initializer +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to initialize. + +
    + + + initializer + + : + int -> 'T + - + The function to generate the initial values for each index. + +
    +
+
+ + Returns: + 'T array + + The created array. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Creates an array given the dimension and a generator function to compute the elements. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to initialize. +

+
+
+ + initializer + + : + int -> 'T +
+
+

+ The function to generate the initial values for each index. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The created array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when count is negative. +
+
+ Example +
+

+

 Array.init 4 (fun v -> v + 5)
+
+
module Array + +from Microsoft.FSharp.Collections
+
val init: count: int -> initializer: (int -> 'T) -> 'T array
+
val v: int
+ + + Evaluates to [| 5; 6; 7; 8 |] +

+
+ Example +
+

+

 Array.init -5 (fun v -> v + 5)
+
+
module Array + +from Microsoft.FSharp.Collections
+
val init: count: int -> initializer: (int -> 'T) -> 'T array
+
val v: int
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.insertAt index value source + + +

+
+
+
+ Full Usage: + Array.insertAt index value source +
+
+ Parameters: +
    + + + index + + : + int + - + The index where the item should be inserted. + +
    + + + value + + : + 'T + - + The value to insert. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Return a new array with a new item inserted before the given index. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index where the item should be inserted. +

+
+
+ + value + + : + 'T +
+
+

+ The value to insert. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is below 0 or greater than source.Length. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2 |]
+
+ inputs |> Array.insertAt 1 9
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val insertAt: index: int -> value: 'T -> source: 'T array -> 'T array
+ + + Evaluates to [| 0; 9; 1; 2 |]. + +

+
+
+
+ +

+ + + Array.insertManyAt index values source + + +

+
+
+
+ Full Usage: + Array.insertManyAt index values source +
+
+ Parameters: +
    + + + index + + : + int + - + The index where the items should be inserted. + +
    + + + values + + : + 'T seq + - + The values to insert. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Return a new array with new items inserted before the given index. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index where the items should be inserted. +

+
+
+ + values + + : + 'T seq +
+
+

+ The values to insert. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is below 0 or greater than source.Length. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2 |]
+
+ inputs |> Array.insertManyAt 1 [8; 9]
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val insertManyAt: index: int -> values: 'T seq -> source: 'T array -> 'T array
+ + + Evaluates to [| 0; 8; 9; 1; 2 |]. + +

+
+
+
+ +

+ + + Array.isEmpty array + + +

+
+
+
+ Full Usage: + Array.isEmpty array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + bool + + True if the array is empty. +
+
+
+
+
+
+ +
+
+

+ Returns true if the given array is empty, otherwise false. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the array is empty. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 [| |] |> Array.isEmpty
+
+
module Array + +from Microsoft.FSharp.Collections
+
val isEmpty: array: 'T array -> bool
+ + + Evaluates to true +

+
+ Example +
+

+

 [| "pear"; "banana" |] |> Array.isEmpty
+
+
module Array + +from Microsoft.FSharp.Collections
+
val isEmpty: array: 'T array -> bool
+ + + Evaluates to false +

+
+
+
+ +

+ + + Array.item index array + + +

+
+
+
+ Full Usage: + Array.item index array +
+
+ Parameters: +
    + + + index + + : + int + - + The input index. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The value of the array at the given index. +
+
+
+
+
+
+ +
+
+

+ Gets an element from an array. +

+
+
+ + + + + +
+
+
+

+ Normally the syntax array[index] is preferred. +

+
+
+ + index + + : + int +
+
+

+ The input index. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value of the array at the given index. +

+
+
+ + + + + + + + + +
+ + NullReferenceException + + + Thrown when the input array is null. +
+ + IndexOutOfRangeException + + + Thrown when the index is negative or the input array does not contain enough elements. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ inputs |> Array.item 1
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val item: index: int -> array: 'T array -> 'T
+ + + Evaluates to "b" +

+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ inputs |> Array.item 4
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val item: index: int -> array: 'T array -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.iter action array + + +

+
+
+
+ Full Usage: + Array.iter action array +
+
+ Parameters: +
    + + + action + + : + 'T -> unit + - + The function to apply. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the array. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T -> unit +
+
+

+ The function to apply. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ inputs |> Array.iter (printfn "%s")
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val iter: action: ('T -> unit) -> array: 'T array -> unit
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 a
+ b
+ c
+
+ + + in the console. + +

+
+
+
+ +

+ + + Array.iter2 action array1 array2 + + +

+
+
+
+ Full Usage: + Array.iter2 action array1 array2 +
+
+ Parameters: +
    + + + action + + : + 'T1 -> 'T2 -> unit + - + The function to apply. + +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second 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. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T1 -> 'T2 -> unit +
+
+

+ The function to apply. +

+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

 let inputs1 = [| "a"; "b"; "c" |]
+ let inputs2 = [| 1; 2; 3 |]
+
+ (inputs1, inputs2) ||> Array.iter2 (printfn "%s: %i")
+
+
val inputs1: string array
+
val inputs2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val iter2: action: ('T1 -> 'T2 -> unit) -> array1: 'T1 array -> array2: 'T2 array -> unit
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 a: 1
+ b: 2
+ c: 3
+
+ + + in the console. + +

+
+
+
+ +

+ + + Array.iteri action array + + +

+
+
+
+ Full Usage: + Array.iteri action array +
+
+ Parameters: +
    + + + action + + : + int -> 'T -> unit + - + The function to apply to each index and element. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the array. The integer passed to the + function indicates the index of element. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + int -> 'T -> unit +
+
+

+ The function to apply to each index and element. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ inputs |> Array.iteri (fun i v -> printfn "{i}: {v}")
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val iteri: action: (int -> 'T -> unit) -> array: 'T array -> unit
+
val i: int
+
val v: string
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 0: a
+ 1: b
+ 2: c
+
+ + + in the console. + +

+
+
+
+ +

+ + + Array.iteri2 action array1 array2 + + +

+
+
+
+ Full Usage: + Array.iteri2 action array1 array2 +
+
+ Parameters: +
    + + + action + + : + int -> 'T1 -> 'T2 -> unit + - + The function to apply to each index and pair of elements. + +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input 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. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + int -> 'T1 -> 'T2 -> unit +
+
+

+ The function to apply to each index and pair of elements. +

+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

 let inputs1 = [| "a"; "b"; "c" |]
+ let inputs2 = [| "banana"; "pear"; "apple" |]
+
+ (inputs1, inputs2) ||> Array.iteri2 (fun i s1 s2 -> printfn "Index {i}: {s1} - {s2}")
+
+
val inputs1: string array
+
val inputs2: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val iteri2: action: (int -> 'T1 -> 'T2 -> unit) -> array1: 'T1 array -> array2: 'T2 array -> unit
+
val i: int
+
val s1: string
+
val s2: string
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 Index 0: a - banana
+ Index 1: b - pear
+ Index 2: c - apple
+
+ + + in the console. + +

+
+
+
+ +

+ + + Array.last array + + +

+
+
+
+ Full Usage: + Array.last array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The last element of the array. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns the last element of the array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The last element of the array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input does not have any elements. +
+
+ Example +
+

+

 [| "pear"; "banana" |] |> Array.last
+
+
module Array + +from Microsoft.FSharp.Collections
+
val last: array: 'T array -> 'T
+ + + Evaluates to banana +

+
+ Example +
+

+

 [| |] |> Array.last
+
+
module Array + +from Microsoft.FSharp.Collections
+
val last: array: 'T array -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.length array + + +

+
+
+
+ Full Usage: + Array.length array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + int + + The length of the array. +
+
+
+
+
+
+ +
+
+

+ Returns the length of an array. You can also use property arr.Length. +

+
+
+ + + + + +
+
+
+

+ The notation array.Length is preferred. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the array. +

+
+
+ + + + + +
+ + NullReferenceException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ inputs |> Array.length
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val length: array: 'T array -> int
+ + + Evaluates to 3 +

+
+
+
+ +

+ + + Array.map mapping array + + +

+
+
+
+ Full Usage: + Array.map mapping array +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + The function to transform elements of the array. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U array + + The array of transformed elements. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Builds a new array whose elements are the results of applying the given function + to each of the elements of the array. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ The function to transform elements of the array. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ The array of transformed elements. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "bbb"; "cc" |]
+
+ inputs |> Array.map (fun x -> x.Length)
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val map: mapping: ('T -> 'U) -> array: 'T array -> 'U array
+
val x: string
+
property System.String.Length: int with get
+ + + Evaluates to [| 1; 3; 2 |] +

+
+
+
+ +

+ + + Array.map2 mapping array1 array2 + + +

+
+
+
+ Full Usage: + Array.map2 mapping array1 array2 +
+
+ Parameters: +
    + + + mapping + + : + 'T1 -> 'T2 -> 'U + - + The function to transform the pairs of the input elements. + +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    +
+
+ + Returns: + 'U 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. The two input + arrays must have the same lengths, otherwise an ArgumentException is + raised. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T1 -> 'T2 -> 'U +
+
+

+ The function to transform the pairs of the input elements. +

+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ The array of transformed elements. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+
+ Example +
+

+

 let inputs1 = [| "a"; "bad"; "good" |]
+ let inputs2 = [| 0; 2; 1 |]
+
+ (inputs1, inputs2) ||> Array.map2 (fun x y -> x[y])
+
+
val inputs1: string array
+
val inputs2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val map2: mapping: ('T1 -> 'T2 -> 'U) -> array1: 'T1 array -> array2: 'T2 array -> 'U array
+
val x: string
+
val y: int
+ + + Evaluates to [| 'a'; 'd'; 'o' |] +

+
+
+
+ +

+ + + Array.map3 mapping array1 array2 array3 + + +

+
+
+
+ Full Usage: + Array.map3 mapping array1 array2 array3 +
+
+ Parameters: +
    + + + mapping + + : + 'T1 -> 'T2 -> 'T3 -> 'U + - + The function to transform the pairs of the input elements. + +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    + + + array3 + + : + 'T3 array + - + The third input array. + +
    +
+
+ + Returns: + 'U array + + The array of transformed elements. +
+
+
+
+
+
+ +
+
+

+ Builds a new collection whose elements are the results of applying the given function + to the corresponding triples from the three collections. The three input + arrays must have the same length, otherwise an ArgumentException is + raised. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T1 -> 'T2 -> 'T3 -> 'U +
+
+

+ The function to transform the pairs of the input elements. +

+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+ + array3 + + : + 'T3 array +
+
+

+ The third input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ The array of transformed elements. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+ + ArgumentNullException + + + Thrown when any of the input arrays is null. +
+
+ Example +
+

+

 let inputs1 = [| "a"; "t"; "ti" |]
+ let inputs2 = [| "l"; "h"; "m" |]
+ let inputs3 = [| "l"; "e"; "e" |]
+
+ (inputs1, inputs2, inputs3) |||> Array.map3 (fun x y z -> x + y + z)
+
+
val inputs1: string array
+
val inputs2: string array
+
val inputs3: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val map3: mapping: ('T1 -> 'T2 -> 'T3 -> 'U) -> array1: 'T1 array -> array2: 'T2 array -> array3: 'T3 array -> 'U array
+
val x: string
+
val y: string
+
val z: string
+ + + Evaluates to [| "all"; "the"; "time" |] +

+
+
+
+ +

+ + + Array.mapFold mapping state array + + +

+
+
+
+ Full Usage: + Array.mapFold mapping state array +
+
+ Parameters: +
    + + + mapping + + : + 'State -> 'T -> 'Result * 'State + - + The function to transform elements from the input array and accumulate the final value. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'Result array * 'State + + The array of transformed elements, and the final accumulated value. +
+
+
+
+
+
+ +
+
+

+ Combines map and fold. Builds a new array whose elements are the results of applying the given function + to each of the elements of the input array. The function is also used to accumulate a final value. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'State -> 'T -> 'Result * 'State +
+
+

+ The function to transform elements from the input array and accumulate the final value. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'Result array * 'State +
+
+

+ The array of transformed elements, and the final accumulated value. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

Accumulate the charges, and double them as well
+ type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = [| In 1; Out 2; In 3 |]
+
+ let newCharges, balance =
+     (0, inputs) ||> Array.mapFold (fun acc charge ->
+         match charge with
+         | In i -> In (i*2), acc + i
+         | Out o -> Out (o*2), acc - o)
+
+
Multiple items
val double: value: 'T -> double (requires member op_Explicit)

--------------------
type double = System.Double

--------------------
type double<'Measure> = float<'Measure>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
module Array + +from Microsoft.FSharp.Collections
+
val mapFold<'T,'State,'Result> : mapping: ('State -> 'T -> 'Result * 'State) -> state: 'State -> array: 'T array -> 'Result array * 'State
+ + + Evaluates newCharges to [|In 2; Out 4; In 6|] and balance to 2. + +

+
+
+
+ +

+ + + Array.mapFoldBack mapping array state + + +

+
+
+
+ Full Usage: + Array.mapFoldBack mapping array state +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'State -> 'Result * 'State + - + The function to transform elements from the input array and accumulate the final value. + +
    + + + array + + : + 'T array + - + The input array. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'Result array * 'State + + The array of transformed elements, and the final accumulated value. +
+
+
+
+
+
+ +
+
+

+ Combines map and foldBack. Builds a new array whose elements are the results of applying the given function + to each of the elements of the input array. The function is also used to accumulate a final value. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'State -> 'Result * 'State +
+
+

+ The function to transform elements from the input array and accumulate the final value. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'Result array * 'State +
+
+

+ The array of transformed elements, and the final accumulated value. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Accumulate the charges from back to front, and double them as well +

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = [| In 1; Out 2; In 3 |]
+
+ let newCharges, balance =
+     (inputs, 0) ||> Array.mapFoldBack (fun charge acc ->
+         match charge with
+         | In i -> In (i*2), acc + i
+         | Out o -> Out (o*2), acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge array
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
val newCharges: Charge array
+
val balance: int
+
module Array + +from Microsoft.FSharp.Collections
+
val mapFoldBack: mapping: ('T -> 'State -> 'Result * 'State) -> array: 'T array -> state: 'State -> 'Result array * 'State
+
val charge: Charge
+
val acc: int
+
val i: int
+
val o: int
+ + + Evaluates newCharges to [|In 2; Out 4; In 6|] and balance to 2. + +

+
+
+
+ +

+ + + Array.mapi mapping array + + +

+
+
+
+ Full Usage: + Array.mapi mapping array +
+
+ Parameters: +
    + + + mapping + + : + int -> 'T -> 'U + - + The function to transform elements and their indices. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U array + + 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 integer index passed to the + function indicates the index of element being transformed, starting at zero. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + int -> 'T -> 'U +
+
+

+ The function to transform elements and their indices. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ The array of transformed elements. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 10; 10; 10 |]
+
+ inputs |> Array.mapi (fun i x -> i + x)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val mapi: mapping: (int -> 'T -> 'U) -> array: 'T array -> 'U array
+
val i: int
+
val x: int
+ + + Evaluates to [| 10; 11; 12 |] +

+
+
+
+ +

+ + + Array.mapi2 mapping array1 array2 + + +

+
+
+
+ Full Usage: + Array.mapi2 mapping array1 array2 +
+
+ Parameters: +
    + + + mapping + + : + int -> 'T1 -> 'T2 -> 'U + - + The function to transform pairs of input elements and their indices. + +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    +
+
+ + Returns: + 'U 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. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + int -> 'T1 -> 'T2 -> 'U +
+
+

+ The function to transform pairs of input elements and their indices. +

+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+
+
+ + Returns: + + 'U array +
+
+

+ The array of transformed elements. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

 let inputs1 = [| "a"; "bad"; "good" |]
+ let inputs2 = [| 0; 2; 1 |]
+
+ (inputs1, inputs2) ||> Array.mapi2 (fun i x y -> i, x[y])
+
+
val inputs1: string array
+
val inputs2: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val mapi2: mapping: (int -> 'T1 -> 'T2 -> 'U) -> array1: 'T1 array -> array2: 'T2 array -> 'U array
+
val i: int
+
val x: string
+
val y: int
+ + + Evaluates to [|(0, 'a'); (1, 'd'); (2, 'o')|] +

+
+
+
+ +

+ + + Array.max array + + +

+
+
+
+ Full Usage: + Array.max array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The maximum element. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns the greatest of all elements of the array, compared via Operators.max on the function result. +

+
+
+ + + + + +
+
+
+

+ Throws ArgumentException for empty arrays. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The maximum element. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| 10; 12; 11 |]
+
+ inputs |> Array.max
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val max: array: 'T array -> 'T (requires comparison)
+ + + Evaluates to 12 +

+
+ Example +
+

+

 let inputs: int array= [| |]
+
+ inputs |> Array.max
+
+
val inputs: int array
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val max: array: 'T array -> 'T (requires comparison)
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Array.maxBy projection array + + +

+
+
+
+ Full Usage: + Array.maxBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'U + - + The function to transform the elements into a type supporting comparison. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The maximum element. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Returns the greatest of all elements of the array, compared via Operators.max on the function result. +

+
+
+ + + + + +
+
+
+

+ Throws ArgumentException for empty arrays. +

+
+
+ + projection + + : + 'T -> 'U +
+
+

+ The function to transform the elements into a type supporting comparison. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The maximum element. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| "aaa"; "b"; "cccc" |]
+
+ inputs |> Array.maxBy (fun s -> s.Length)
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val maxBy: projection: ('T -> 'U) -> array: 'T array -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to "cccc" +

+
+ Example +
+

+

 let inputs: string array= [| |]
+
+ inputs |> Array.maxBy (fun s -> s.Length)
+
+
val inputs: string array
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val maxBy: projection: ('T -> 'U) -> array: 'T array -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Array.min array + + +

+
+
+
+ Full Usage: + Array.min array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The minimum element. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns the lowest of all elements of the array, compared via Operators.min. +

+
+
+ + + + + +
+
+
+

+ Throws ArgumentException for empty arrays +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The minimum element. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| 10; 12; 11 |]
+
+ inputs |> Array.min
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val min: array: 'T array -> 'T (requires comparison)
+ + + Evaluates to 10 +

+
+ Example +
+

+

 let inputs: int array= [| |]
+
+ inputs |> Array.min
+
+
val inputs: int array
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val min: array: 'T array -> 'T (requires comparison)
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Array.minBy projection array + + +

+
+
+
+ Full Usage: + Array.minBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'U + - + The function to transform the elements into a type supporting comparison. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The minimum element. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Returns the lowest of all elements of the array, compared via Operators.min on the function result. +

+
+
+ + + + + +
+
+
+

+ Throws ArgumentException for empty arrays. +

+
+
+ + projection + + : + 'T -> 'U +
+
+

+ The function to transform the elements into a type supporting comparison. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The minimum element. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| "aaa"; "b"; "cccc" |]
+
+ inputs |> Array.minBy (fun s -> s.Length)
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val minBy: projection: ('T -> 'U) -> array: 'T array -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to "b" +

+
+ Example +
+

+

 let inputs: string array= [| |]
+
+ inputs |> Array.minBy (fun s -> s.Length)
+
+
val inputs: string array
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val minBy: projection: ('T -> 'U) -> array: 'T array -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Array.ofList list + + +

+
+
+
+ Full Usage: + Array.ofList list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T array + + The array of elements from the list. +
+
+
+
+
+
+ +
+
+

+ Builds an array from the given list. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The array of elements from the list. +

+
+
+
+ Example +
+

+

 let inputs = [ 1; 2; 5 ]
+
+ inputs |> Array.ofList
+
+
val inputs: int list
+
module Array + +from Microsoft.FSharp.Collections
+
val ofList: list: 'T list -> 'T array
+ + + Evaluates to [| 1; 2; 5 |]. + +

+
+
+
+ +

+ + + Array.ofSeq source + + +

+
+
+
+ Full Usage: + Array.ofSeq source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T array + + The array of elements from the sequence. +
+
+
+
+
+
+ +
+
+

+ Builds a new array from the given enumerable object. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The array of elements from the sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = seq { 1; 2; 5 }
+
+ inputs |> Array.ofSeq
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Array + +from Microsoft.FSharp.Collections
+
val ofSeq: source: 'T seq -> 'T array
+ + + Evaluates to [| 1; 2; 5 |]. + +

+
+
+
+ +

+ + + Array.pairwise array + + +

+
+
+
+ Full Usage: + Array.pairwise array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + ('T * 'T) array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Returns an array of each element in the input array and its predecessor, with the + exception of the first element which is only returned as the predecessor of the second element. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ('T * 'T) array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4 |]
+
+ inputs |> Array.pairwise
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val pairwise: array: 'T array -> ('T * 'T) array
+ + + Evaluates to [|(1, 2); (2, 3); (3, 4)|]. + +

+
+
+
+ +

+ + + Array.partition predicate array + + +

+
+
+
+ Full Usage: + Array.partition predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array * 'T array + + A pair of arrays. The first containing the elements the predicate evaluated to true, + and the second containing those evaluated to false. +
+
+
+
+
+
+ +
+
+

+ Splits the collection into two collections, containing the + elements for which the given predicate returns "true" and "false" + respectively. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array * 'T array +
+
+

+ A pair of arrays. The first containing the elements the predicate evaluated to true, + and the second containing those evaluated to false. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4 |]
+
+ inputs |> Array.partition (fun x -> x % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val partition: predicate: ('T -> bool) -> array: 'T array -> 'T array * 'T array
+
val x: int
+ + + Evaluates to ([|2; 4|], [|1; 3|]). + +

+
+
+
+ +

+ + + Array.permute indexMap array + + +

+
+
+
+ Full Usage: + Array.permute indexMap array +
+
+ Parameters: +
    + + + indexMap + + : + int -> int + - + The function that maps input indices to output indices. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The output array. +
+
+
+
+
+
+ +
+
+

+ Returns an array with all elements permuted according to the + specified permutation. +

+
+
+ + + + + +
+
+
+
+
+ + indexMap + + : + int -> int +
+
+

+ The function that maps input indices to output indices. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The output array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when indexMap does not produce a valid permutation. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4 |]
+
+ inputs |> Array.permute (fun x -> (x + 1) % 4)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val permute: indexMap: (int -> int) -> array: 'T array -> 'T array
+
val x: int
+ + + Evaluates to [|4; 1; 2; 3|]. + +

+
+
+
+ +

+ + + Array.pick chooser array + + +

+
+
+
+ Full Usage: + Array.pick chooser array +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + The function to generate options from the elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U + + The first result. +
+
+
+
+
+
+ +
+
+

+ Applies the given function to successive elements, returning the first + result where the function returns Some(x) for some x. If the function + never returns Some(x) then KeyNotFoundException is raised. +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ The function to generate options from the elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The first result. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + KeyNotFoundException + + + Thrown if every result from + chooser is None. +
+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Array.pick (fun n -> if n % 2 = 0 then Some (string n) else None)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val pick: chooser: ('T -> 'U option) -> array: 'T array -> 'U
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to "2". + +

+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Array.pick (fun n -> if n > 3 = 0 then Some (string n) else None)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val pick: chooser: ('T -> 'U option) -> array: 'T array -> 'U
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Throws KeyNotFoundException. + +

+
+
+
+ +

+ + + Array.randomChoice source + + +

+
+
+
+ Full Usage: + Array.randomChoice source +
+
+ Parameters: +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + A randomly selected element from the input array. +
+
+
+
+
+
+ +
+
+

+ Returns a random element from the given array. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ A randomly selected element from the input array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomChoice
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to 3. + +

+
+
+
+ +

+ + + Array.randomChoiceBy randomizer source + + +

+
+
+
+ Full Usage: + Array.randomChoiceBy randomizer source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + A randomly selected element from the input array. +
+
+
+
+
+
+ +
+
+

+ Returns a random element from the given array using the specified randomizer function. +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ A randomly selected element from the input array. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a value outside the range [0, 1). +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomChoiceBy Random.Shared.NextDouble
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to 3. + +

+
+
+
+ +

+ + + Array.randomChoiceWith random source + + +

+
+
+
+ Full Usage: + Array.randomChoiceWith random source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + A randomly selected element from the input array. +
+
+
+
+
+
+ +
+
+

+ Returns a random element from the given array with the specified Random instance. +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ A randomly selected element from the input array. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomChoiceWith Random.Shared
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to 3. + +

+
+
+
+ +

+ + + Array.randomChoices count source + + +

+
+
+
+ Full Usage: + Array.randomChoices count source +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + An array of randomly selected elements from the input array. +
+
+
+
+
+
+ +
+
+

+ Returns an array of random elements from the given array, each element can be selected multiple times. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An array of randomly selected elements from the input array. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomChoices 3
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to [| 3; 1; 3 |]. + +

+
+
+
+ +

+ + + Array.randomChoicesBy randomizer count source + + +

+
+
+
+ Full Usage: + Array.randomChoicesBy randomizer count source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + An array of randomly selected elements from the input array. +
+
+
+
+
+
+ +
+
+

+ Returns an array of random elements from the given array using the specified randomizer function, each element can be selected multiple times. +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An array of randomly selected elements from the input array. +

+
+
+ + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a value outside the range [0, 1). +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomChoicesBy Random.Shared.NextDouble 3
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to [| 3; 1; 3 |]. + +

+
+
+
+ +

+ + + Array.randomChoicesWith random count source + + +

+
+
+
+ Full Usage: + Array.randomChoicesWith random count source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + An array of randomly selected elements from the input array. +
+
+
+
+
+
+ +
+
+

+ Returns an array of random elements from the given array with the specified Random instance, each element can be selected multiple times. +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An array of randomly selected elements from the input array. +

+
+
+ + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomChoicesWith Random.Shared 3
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to [| 3; 1; 3 |]. + +

+
+
+
+ +

+ + + Array.randomSample count source + + +

+
+
+
+ Full Usage: + Array.randomSample count source +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + An array of randomly selected elements from the input array. +
+
+
+
+
+
+ +
+
+

+ Returns a random sample of elements from the given array, each element can be selected only once. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An array of randomly selected elements from the input array. +

+
+
+ + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentException + + + Thrown when count is greater than the length of the input array. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomSample 3
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to [| 3; 1; 2 |]. + +

+
+
+
+ +

+ + + Array.randomSampleBy randomizer count source + + +

+
+
+
+ Full Usage: + Array.randomSampleBy randomizer count source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + An array of randomly selected elements from the input array. +
+
+
+
+
+
+ +
+
+

+ Returns a random sample of elements from the given array using the specified randomizer function, each element can be selected only once. +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An array of randomly selected elements from the input array. +

+
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentException + + + Thrown when count is greater than the length of the input array. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a value outside the range [0, 1). +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomSampleBy Random.Shared.NextDouble 3
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to [| 3; 1; 2 |]. + +

+
+
+
+ +

+ + + Array.randomSampleWith random count source + + +

+
+
+
+ Full Usage: + Array.randomSampleWith random count source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + An array of randomly selected elements from the input array. +
+
+
+
+
+
+ +
+
+

+ Returns a random sample of elements from the given array with the specified Random instance, each element can be selected only once. +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An array of randomly selected elements from the input array. +

+
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentException + + + Thrown when count is greater than the length of the input array. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomSampleWith Random.Shared 3
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to [| 3; 1; 2 |]. + +

+
+
+
+ +

+ + + Array.randomShuffle source + + +

+
+
+
+ Full Usage: + Array.randomShuffle source +
+
+ Parameters: +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Return a new array shuffled in a random order. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomShuffle
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to [| 0; 2; 4; 3; 1 |]. + +

+
+
+
+ +

+ + + Array.randomShuffleBy randomizer source + + +

+
+
+
+ Full Usage: + Array.randomShuffleBy randomizer source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Return a new array shuffled in a random order using the specified randomizer function. +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a value outside the range [0, 1). +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomShuffleBy Random.Shared.NextDouble
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to [| 0; 2; 4; 3; 1 |]. + +

+
+
+
+ +

+ + + Array.randomShuffleInPlace source + + +

+
+
+
+ Full Usage: + Array.randomShuffleInPlace source +
+
+ Parameters: +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sorts input array in a random order by mutating the array in-place. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomShuffleInPlace
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + After evaluation array can contain [| 0; 2; 4; 3; 1 |]. + +

+
+
+
+ +

+ + + Array.randomShuffleInPlaceBy randomizer source + + +

+
+
+
+ Full Usage: + Array.randomShuffleInPlaceBy randomizer source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sorts input array in a random order using the specified randomizer function by mutating the array in-place. +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a value outside the range [0, 1). +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomShuffleInPlaceBy Random.Shared.NextDouble
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + After evaluation array can contain [| 0; 2; 4; 3; 1 |]. + +

+
+
+
+ +

+ + + Array.randomShuffleInPlaceWith random source + + +

+
+
+
+ Full Usage: + Array.randomShuffleInPlaceWith random source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sorts input array in a random order with the specified Random instance by mutating the array in-place. +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomShuffleInPlaceWith Random.Shared
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + After evaluation array can contain [| 0; 2; 4; 3; 1 |]. + +

+
+
+
+ +

+ + + Array.randomShuffleWith random source + + +

+
+
+
+ Full Usage: + Array.randomShuffleWith random source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Return a new array shuffled in a random order with the specified Random instance. +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3; 4 |]
+
+ inputs |> Array.randomShuffleWith Random.Shared
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to [| 0; 2; 4; 3; 1 |]. + +

+
+
+
+ +

+ + + Array.reduce reduction array + + +

+
+
+
+ Full Usage: + Array.reduce reduction array +
+
+ Parameters: +
    + + + reduction + + : + 'T -> 'T -> 'T + - + The function to reduce a pair of elements to a single element. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + reduction + + : + 'T -> 'T -> 'T +
+
+

+ The function to reduce a pair of elements to a single element. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The final result of the reductions. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| 1; 3; 4; 2 |]
+
+ inputs |> Array.reduce (fun a b -> a * 10 + b)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val reduce: reduction: ('T -> 'T -> 'T) -> array: 'T array -> 'T
+
val a: int
+
val b: int
+ + + Evaluates to 1342, by computing ((1 * 10 + 3) * 10 + 4) * 10 + 2 +

+
+
+
+ +

+ + + Array.reduceBack reduction array + + +

+
+
+
+ Full Usage: + Array.reduceBack reduction array +
+
+ Parameters: +
    + + + reduction + + : + 'T -> 'T -> 'T + - + A function that takes in the next-to-last element of the list and the + current accumulated result to produce the next accumulated result. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T + + The final result of the reductions. +
+
+
+
+
+
+ +
+
+

+ Applies a function to each element of the array, starting from the end, 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)). +

+
+
+ + + + + +
+
+
+
+
+ + reduction + + : + 'T -> 'T -> 'T +
+
+

+ A function that takes in the next-to-last element of the list and the + current accumulated result to produce the next accumulated result. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The final result of the reductions. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+
+ Example +
+

+

 let inputs = [| 1; 3; 4; 2 |]
+
+ inputs |> Array.reduceBack (fun a b -> a + b * 10)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val reduceBack: reduction: ('T -> 'T -> 'T) -> array: 'T array -> 'T
+
val a: int
+
val b: int
+ + + Evaluates to 2431, by computing 1 + (3 + (4 + 2 * 10) * 10) * 10 +

+
+
+
+ +

+ + + Array.removeAt index source + + +

+
+
+
+ Full Usage: + Array.removeAt index source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of the item to be removed. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Return a new array with the item at a given index removed. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of the item to be removed. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is outside 0..source.Length - 1 +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2 |]
+
+ inputs |> Array.removeAt 1
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val removeAt: index: int -> source: 'T array -> 'T array
+ + + Evaluates to [| 0; 2 |]. + +

+
+
+
+ +

+ + + Array.removeManyAt index count source + + +

+
+
+
+ Full Usage: + Array.removeManyAt index count source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of the item to be removed. + +
    + + + count + + : + int + - + The number of items to remove. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Return a new array with the number of items starting at a given index removed. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of the item to be removed. +

+
+
+ + count + + : + int +
+
+

+ The number of items to remove. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is outside 0..source.Length - count +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2; 3 |]
+
+ inputs |> Array.removeManyAt 1 2
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val removeManyAt: index: int -> count: int -> source: 'T array -> 'T array
+ + + Evaluates to [| 0; 3 |]. + +

+
+
+
+ +

+ + + Array.replicate count initial + + +

+
+
+
+ Full Usage: + Array.replicate count initial +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to replicate. + +
    + + + initial + + : + 'T + - + The value to replicate + +
    +
+
+ + Returns: + 'T array + + The generated array. +
+
+
+
+
+
+ +
+
+

+ Creates an array by replicating the given initial value. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to replicate. +

+
+
+ + initial + + : + 'T +
+
+

+ The value to replicate +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The generated array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when count is negative. +
+
+ Example +
+

+

 Array.replicate 3 "a"
+
+
module Array + +from Microsoft.FSharp.Collections
+
val replicate: count: int -> initial: 'T -> 'T array
+ + + Evaluates to [| "a"; "a"; "a" |]. + +

+
+
+
+ +

+ + + Array.rev array + + +

+
+
+
+ Full Usage: + Array.rev array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The reversed array. +
+
+
+
+
+
+ +
+
+

+ Returns a new array with the elements in reverse order. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The reversed array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 Array.rev [| 0; 1; 2 |]
+
+
module Array + +from Microsoft.FSharp.Collections
+
val rev: array: 'T array -> 'T array
+ + + Evaluates to [| 2; 1; 0 |]. + +

+
+
+
+ +

+ + + Array.scan folder state array + + +

+
+
+
+ Full Usage: + Array.scan folder state array +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T -> 'State + - + The function to update the state given the input elements. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'State array + + The array of state values. +
+
+
+
+
+
+ +
+
+

+ Like fold, but return the intermediary and final results. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'State array +
+
+

+ The array of state values. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Apply a list charges and collect the running balances as each is applied: +

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = [| In 1; Out 2; In 3 |]
+
+ (0, inputs) ||> Array.scan (fun acc charge ->
+     match charge with
+     | In i -> acc + i
+     | Out o -> acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge array
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
module Array + +from Microsoft.FSharp.Collections
+
val scan<'T,'State> : folder: ('State -> 'T -> 'State) -> state: 'State -> array: 'T array -> 'State array
+
val acc: int
+
val charge: Charge
+
val i: int
+
val o: int
+ + + Evaluates to [|0; 1; -1; 2|]. Note 0 is the initial + state, 1 the next state, -1 the next state, and 2 the final state. + +

+
+
+
+ +

+ + + Array.scanBack folder array state + + +

+
+
+
+ Full Usage: + Array.scanBack folder array state +
+
+ Parameters: +
    + + + folder + + : + 'T -> 'State -> 'State + - + The function to update the state given the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State array + + The array of state values. +
+
+
+
+
+
+ +
+
+

+ Like foldBack, but return both the intermediary and final results. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'T -> 'State -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State array +
+
+

+ The array of state values. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Apply a list charges from back to front, and collect the running balances as each is applied: +

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = [| In 1; Out 2; In 3 |]
+
+ (inputs, 0) ||> Array.scanBack (fun charge acc ->
+     match charge with
+     | In i -> acc + i
+     | Out o -> acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge array
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
module Array + +from Microsoft.FSharp.Collections
+
val scanBack: folder: ('T -> 'State -> 'State) -> array: 'T array -> state: 'State -> 'State array
+
val charge: Charge
+
val acc: int
+
val i: int
+
val o: int
+ + + Evaluates to [|2; 1; 3; 0|] by processing each input from back to front. Note 0 is the initial + state, 3 the next state, 1 the next state, and 2 the final state. + +

+
+
+
+ +

+ + + Array.set array index value + + +

+
+
+
+ Full Usage: + Array.set array index value +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    + + + index + + : + int + - + The input index. + +
    + + + value + + : + 'T + - + The input value. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sets an element of an array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + index + + : + int +
+
+

+ The input index. +

+
+
+ + value + + : + 'T +
+
+

+ The input value. +

+
+
+ + + + + + + + + +
+ + NullReferenceException + + + Thrown when the input array is null. +
+ + IndexOutOfRangeException + + + Thrown when the index is negative or the input array does not contain enough elements. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ Array.set inputs 1 "B"
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val set: array: 'T array -> index: int -> value: 'T -> unit
+ + + After evaluation inputs contains [| "a"; "B"; "c" |] +

+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ Array.set inputs 4 "d"
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val set: array: 'T array -> index: int -> value: 'T -> unit
+ + + Throws IndexOutOfRangeException +

+
+
+
+ +

+ + + Array.singleton value + + +

+
+
+
+ Full Usage: + Array.singleton value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The input item. + +
    +
+
+ + Returns: + 'T array + + The result array of one item. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns an array that contains one item only. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The input item. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array of one item. +

+
+
+
+ Example +
+

+

 Array.singleton 7
+
+
module Array + +from Microsoft.FSharp.Collections
+
val singleton: value: 'T -> 'T array
+ + + Evaluates to [| 7 |]. + +

+
+
+
+ +

+ + Array.skip count array + + +

+
+
+
+ Full Usage: + Array.skip count array +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to skip. If negative the full array will be returned as a copy. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + A copy of the input array, after removing the first N elements. +
+
+
+
+
+
+ +
+
+

+ Builds a new array that contains the elements of the given array, excluding the first N elements. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to skip. If negative the full array will be returned as a copy. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ A copy of the input array, after removing the first N elements. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when count exceeds the number of + elements in the array. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c"; "d" |]
+
+ inputs |> Array.skip 2
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val skip: count: int -> array: 'T array -> 'T array
+ + + Evaluates to [| "c"; "d" |] +

+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c"; "d" |]
+
+ inputs |> Array.skip 5
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val skip: count: int -> array: 'T array -> 'T array
+ + + Throws ArgumentException. + +

+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c"; "d" |]
+
+ inputs |> Array.skip -1
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val skip: count: int -> array: 'T array -> 'T array
+ + + Evaluates to [| "a"; "b"; "c"; "d" |]. + +

+
+
+
+ +

+ + + Array.skipWhile predicate array + + +

+
+
+
+ Full Usage: + Array.skipWhile predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates an element of the array to a boolean value. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The created sub array. +
+
+
+
+
+
+ +
+
+

+ Bypasses elements in an array while the given predicate returns True, and then returns + the remaining elements in a new array. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates an element of the array to a boolean value. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The created sub array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "bbb"; "cc"; "d" |]
+
+ inputs |> Array.skipWhile (fun x -> x.Length < 3)
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val skipWhile: predicate: ('T -> bool) -> array: 'T array -> 'T array
+
val x: string
+
property System.String.Length: int with get
+ + + Evaluates to [|"bbb"; "cc"; "d"|] +

+
+
+
+ +

+ + + Array.sort array + + +

+
+
+
+ Full Usage: + Array.sort array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T 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. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sorted array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| 8; 4; 3; 1; 6; 1 |]
+
+ Array.sort input
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val sort: array: 'T array -> 'T array (requires comparison)
+ + + Evaluates to [| 1; 1; 3; 4; 6; 8 |]. + +

+
+
+
+ +

+ + + Array.sortBy projection array + + +

+
+
+
+ Full Usage: + Array.sortBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + The function to transform array elements into the type that is compared. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ The function to transform array elements into the type that is compared. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sorted array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| "a"; "bbb"; "cccc"; "dd" |]
+
+ input |> Array.sortBy (fun s -> s.Length)
+
+
val input: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val sortBy: projection: ('T -> 'Key) -> array: 'T array -> 'T array (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to [|"a"; "dd"; "bbb"; "cccc"|]. + +

+
+
+
+ +

+ + + Array.sortByDescending projection array + + +

+
+
+
+ Full Usage: + Array.sortByDescending projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + The function to transform array elements into the type that is compared. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The sorted array. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Key +
+
+
+
+
+ +
+
+

+ Sorts the elements of an array, in descending order, 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ The function to transform array elements into the type that is compared. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sorted array. +

+
+
+
+ Example +
+

+

 let input = [| "a"; "bbb"; "cccc"; "dd" |]
+
+ input |> Array.sortByDescending (fun s -> s.Length)
+
+
val input: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val sortByDescending: projection: ('T -> 'Key) -> array: 'T array -> 'T array (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to [|"cccc"; "bbb"; "dd"; "a"|]. + +

+
+
+
+ +

+ + + Array.sortDescending array + + +

+
+
+
+ Full Usage: + Array.sortDescending array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The sorted array. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sorts the elements of an array, in descending order, 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. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sorted array. +

+
+
+
+ Example +
+

+

 let input = [| 8; 4; 3; 1; 6; 1 |]
+
+ input |> Array.sortDescending
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val sortDescending: array: 'T array -> 'T array (requires comparison)
+ + + Evaluates to [| 8; 6; 4; 3; 1; 1 |]. + +

+
+
+
+ +

+ + + Array.sortInPlace array + + +

+
+
+
+ Full Usage: + Array.sortInPlace array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sorts the elements of an array by mutating the array in-place, using the given comparison function. + Elements are compared using Operators.compare. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let array = [| 8; 4; 3; 1; 6; 1 |]
+
+ Array.sortInPlace array
+
+
Multiple items
val array: int array

--------------------
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val sortInPlace: array: 'T array -> unit (requires comparison)
+ + + After evaluation array contains [| 1; 1; 3; 4; 6; 8 |]. + +

+
+
+
+ +

+ + + Array.sortInPlaceBy projection array + + +

+
+
+
+ Full Usage: + Array.sortInPlaceBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + The function to transform array elements into the type that is compared. + +
    + + + array + + : + 'T array + - + 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ The function to transform array elements into the type that is compared. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let array = [| "a"; "bbb"; "cccc"; "dd" |]
+
+ array |> Array.sortInPlaceBy (fun s -> s.Length)
+
+
Multiple items
val array: string array

--------------------
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val sortInPlaceBy: projection: ('T -> 'Key) -> array: 'T array -> unit (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + After evaluation array contains [|"a"; "dd"; "bbb"; "cccc"|]. + +

+
+
+
+ +

+ + + Array.sortInPlaceWith comparer array + + +

+
+
+
+ Full Usage: + Array.sortInPlaceWith comparer array +
+
+ Parameters: +
    + + + comparer + + : + 'T -> 'T -> int + - + The function to compare pairs of array elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sorts the elements of an array by mutating the array in-place, using the given comparison function as the order. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + 'T -> 'T -> int +
+
+

+ The function to compare pairs of array elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ The following sorts entries using a comparison function that compares string lengths then index numbers: +

 let compareEntries (n1: int, s1: string) (n2: int, s2: string) =
+     let c = compare s1.Length s2.Length
+     if c <> 0 then c else
+     compare n1 n2
+
+ let array = [| (0,"aa"); (1,"bbb"); (2,"cc"); (3,"dd") |]
+
+ array |> Array.sortInPlaceWith compareEntries
+
+
val compareEntries: n1: int * s1: string -> n2: int * s2: string -> int
+
val n1: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val s1: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val n2: int
+
val s2: string
+
val c: int
+
val compare: e1: 'T -> e2: 'T -> int (requires comparison)
+
property System.String.Length: int with get
+
Multiple items
val array: (int * string) array

--------------------
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val sortInPlaceWith: comparer: ('T -> 'T -> int) -> array: 'T array -> unit
+ + + After evaluation array contains [|(0, "aa"); (2, "cc"); (3, "dd"); (1, "bbb")|]. + +

+
+
+
+ +

+ + + Array.sortWith comparer array + + +

+
+
+
+ Full Usage: + Array.sortWith comparer array +
+
+ Parameters: +
    + + + comparer + + : + 'T -> 'T -> int + - + The function to compare pairs of array elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The sorted 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. +

+
+
+ + comparer + + : + 'T -> 'T -> int +
+
+

+ The function to compare pairs of array elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sorted array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Sort an array of pairs using a comparison function that compares string lengths then index numbers: +

 let compareEntries (n1: int, s1: string) (n2: int, s2: string) =
+     let c = compare s1.Length s2.Length
+     if c <> 0 then c else
+     compare n1 n2
+
+ let input = [| (0,"aa"); (1,"bbb"); (2,"cc"); (3,"dd") |]
+
+ input |> Array.sortWith compareEntries
+
+
val compareEntries: n1: int * s1: string -> n2: int * s2: string -> int
+
val n1: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val s1: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val n2: int
+
val s2: string
+
val c: int
+
val compare: e1: 'T -> e2: 'T -> int (requires comparison)
+
property System.String.Length: int with get
+
val input: (int * string) array
+
module Array + +from Microsoft.FSharp.Collections
+
val sortWith: comparer: ('T -> 'T -> int) -> array: 'T array -> 'T array
+ + + Evaluates to [|(0, "aa"); (2, "cc"); (3, "dd"); (1, "bbb")|]. + +

+
+
+
+ +

+ + + Array.splitAt index array + + +

+
+
+
+ Full Usage: + Array.splitAt index array +
+
+ Parameters: +
    + + + index + + : + int + - + The index at which the array is split. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array * 'T array + + The two split arrays. +
+
+
+
+
+
+ +
+
+

+ Splits an array into two arrays, at the given index. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index at which the array is split. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array * 'T array +
+
+

+ The two split arrays. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + InvalidOperationException + + + Thrown when split index exceeds the number of elements + in the array. +
+
+ Example +
+

+

 let input = [| 8; 4; 3; 1; 6; 1 |]
+
+ let front, back = input |> Array.splitAt 3
+
+
val input: int array
+
val front: int array
+
val back: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val splitAt: index: int -> array: 'T array -> 'T array * 'T array
+ + + Evaluates front to [|8; 4; 3|] and back to [|1; 6; 1|]. + +

+
+
+
+ +

+ + + Array.splitInto count array + + +

+
+
+
+ Full Usage: + Array.splitInto count array +
+
+ Parameters: +
    + + + count + + : + int + - + The maximum number of chunks. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array array + + The array split into chunks. +
+
+
+
+
+
+ +
+
+

+ Splits the input array into at most count chunks. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The maximum number of chunks. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array array +
+
+

+ The array split into chunks. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when count is not positive. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.splitInto 3
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val splitInto: count: int -> array: 'T array -> 'T array array
+ + + Evaluates to seq [| [|1; 2|]; [|3; 4|]; [|5|] |] +

+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.splitInto -1
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val splitInto: count: int -> array: 'T array -> 'T array array
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Array.sub array startIndex count + + +

+
+
+
+ Full Usage: + Array.sub array startIndex count +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    + + + startIndex + + : + int + - + The index of the first element of the sub array. + +
    + + + count + + : + int + - + The length of the sub array. + +
    +
+
+ + Returns: + 'T array + + The created sub array. +
+
+
+
+
+
+ +
+
+

+ Builds a new array that contains the given subrange specified by + starting index and length. +

+
+
+ + + + + +
+
+
+

+ + Slicing syntax is generally preferred, e.g. +

 let input = [| 0; 1; 2; 3; 4; 5 |]
+
+ input.[2..4]
+
+
val input: int array
+ + +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+ + startIndex + + : + int +
+
+

+ The index of the first element of the sub array. +

+
+
+ + count + + : + int +
+
+

+ The length of the sub array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The created sub array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when either startIndex or count is negative, + or when there aren't enough elements in the input array. +
+
+ Example +
+

+

 let input = [| 0; 1; 2; 3; 4; 5 |]
+
+ Array.sub input 2 3
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val sub: array: 'T array -> startIndex: int -> count: int -> 'T array
+ + + Evaluates to [| 2; 3; 4 |]. + +

+
+
+
+ +

+ + + Array.sum array + + +

+
+
+
+ Full Usage: + Array.sum array +
+
+ Parameters: +
    + + + array + + : + ^T array + - + The input array. + +
    +
+
+ + Returns: + ^T + + The resulting sum. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Returns the sum of the elements in the array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + ^T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The resulting sum. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| 1; 5; 3; 2 |]
+
+ input |> Array.sum
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val sum: array: 'T array -> 'T (requires member (+) and member Zero)
+ + + Evaluates to 11. + +

+
+
+
+ +

+ + + Array.sumBy projection array + + +

+
+
+
+ Full Usage: + Array.sumBy projection array +
+
+ Parameters: +
    + + + projection + + : + 'T -> ^U + - + The function to transform the array elements into the type to be summed. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + ^U + + The resulting sum. +
+ Modifiers: + inline +
+ Type parameters: + 'T, ^U +
+
+
+
+
+ +
+
+

+ Returns the sum of the results generated by applying the function to each element of the array. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> ^U +
+
+

+ The function to transform the array elements into the type to be summed. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + ^U +
+
+

+ The resulting sum. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| "aa"; "bbb"; "cc" |]
+
+ input |> Array.sumBy (fun s -> s.Length)
+
+
val input: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val sumBy: projection: ('T -> 'U) -> array: 'T array -> 'U (requires member (+) and member Zero)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to 7. + +

+
+
+
+ +

+ + + Array.tail array + + +

+
+
+
+ Full Usage: + Array.tail array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + A new array containing the elements of the original except the first element. +
+
+
+
+
+
+ +
+
+

+ Returns a new array containing the elements of the original except the first element. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ A new array containing the elements of the original except the first element. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when the array is empty. +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "bb"; "ccc" |]
+
+ inputs |> Array.tail
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val tail: array: 'T array -> 'T array
+ + + Evaluates to [| "bb"; "ccc" |] +

+
+
+
+ +

+ + + Array.take count array + + +

+
+
+
+ Full Usage: + Array.take count array +
+
+ Parameters: +
    + + + count + + : + int + - + The number of items to take. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Returns the first N elements of the array. +

+
+
+ + + + + +
+
+
+

+ Throws InvalidOperationException + if the count exceeds the number of elements in the array. Array.truncate + returns as many items as the array contains instead of throwing an exception. +

+
+
+ + count + + : + int +
+
+

+ The number of items to take. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when the input array is empty. +
+ + InvalidOperationException + + + Thrown when count exceeds the number of elements + in the list. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c"; "d" |]
+
+ inputs |> Array.take 2
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val take: count: int -> array: 'T array -> 'T array
+ + + Evaluates to [| "a"; "b" |] +

+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c"; "d" |]
+
+ inputs |> Array.take 6
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val take: count: int -> array: 'T array -> 'T array
+ + + Throws InvalidOperationException. + +

+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c"; "d" |]
+
+ inputs |> Array.take 0
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val take: count: int -> array: 'T array -> 'T array
+ + + Evaluates to [| |]. + +

+
+
+
+ +

+ + + Array.takeWhile predicate array + + +

+
+
+
+ Full Usage: + Array.takeWhile predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to false when no more items should be returned. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Returns an array that contains all elements of the original array while the + given predicate returns True, and then returns no further elements. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to false when no more items should be returned. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "bb"; "ccc"; "d" |]
+
+ inputs |> Array.takeWhile (fun x -> x.Length < 3)
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val takeWhile: predicate: ('T -> bool) -> array: 'T array -> 'T array
+
val x: string
+
property System.String.Length: int with get
+ + + Evaluates to [| "a"; "bb" |] +

+
+
+
+ +

+ + + Array.toList array + + +

+
+
+
+ Full Usage: + Array.toList array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T list + + The list of array elements. +
+
+
+
+
+
+ +
+
+

+ Builds a list from the given array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The list of array elements. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 5 |]
+
+ inputs |> Array.toList
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val toList: array: 'T array -> 'T list
+ + + Evaluates to [ 1; 2; 5 ]. + +

+
+
+
+ +

+ + + Array.toSeq array + + +

+
+
+
+ Full Usage: + Array.toSeq array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T seq + + The sequence of array elements. +
+
+
+
+
+
+ +
+
+

+ Views the given array as a sequence. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The sequence of array elements. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 5 |]
+
+ inputs |> Array.toSeq
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val toSeq: array: 'T array -> 'T seq
+ + + Evaluates to seq { 1; 2; 5 }. + +

+
+
+
+ +

+ + + Array.transpose arrays + + +

+
+
+
+ Full Usage: + Array.transpose arrays +
+
+ Parameters: +
    + + + arrays + + : + 'T array seq + - + The input sequence of arrays. + +
    +
+
+ + Returns: + 'T array array + + The transposed array. +
+
+
+
+
+
+ +
+
+

+ Returns the transpose of the given sequence of arrays. +

+
+
+ + + + + +
+
+
+
+
+ + arrays + + : + 'T array seq +
+
+

+ The input sequence of arrays. +

+
+
+
+
+ + Returns: + + 'T array array +
+
+

+ The transposed array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

 let inputs =
+     [| [| 10; 20; 30 |]
+        [| 11; 21; 31 |] |]
+
+ inputs |> Array.transpose
+
+
val inputs: int array array
+
module Array + +from Microsoft.FSharp.Collections
+
val transpose: arrays: 'T array seq -> 'T array array
+ + + Evaluates to [|[|10; 11|]; [|20; 21|]; [|30; 31|]|]. + +

+
+
+
+ +

+ + + Array.truncate count array + + +

+
+
+
+ Full Usage: + Array.truncate count array +
+
+ Parameters: +
    + + + count + + : + int + - + The maximum number of items to return. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Returns at most N elements in a new array. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The maximum number of items to return. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c"; "d" |]
+
+ inputs |> Array.truncate 2
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val truncate: count: int -> array: 'T array -> 'T array
+ + + Evaluates to [| "a"; "b" |] +

+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c"; "d" |]
+
+ inputs |> Array.truncate 6
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val truncate: count: int -> array: 'T array -> 'T array
+ + + Evaluates to [| "a"; "b"; "c"; "d" |] +

+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c"; "d" |]
+
+ inputs |> Array.truncate 0
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val truncate: count: int -> array: 'T array -> 'T array
+ + + Evaluates to [| |]. + +

+
+
+
+ +

+ + + Array.tryExactlyOne array + + +

+
+
+
+ Full Usage: + Array.tryExactlyOne array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T option + + The only element of the array or None. +
+
+
+
+
+
+ +
+
+

+ Returns the only element of the array or None if array is empty or contains more than one element. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The only element of the array or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "banana" |]
+
+ inputs |> Array.tryExactlyOne
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryExactlyOne: array: 'T array -> 'T option
+ + + Evaluates to Some banana +

+
+ Example +
+

+

 let inputs = [| "pear"; "banana" |]
+
+ inputs |> Array.tryExactlyOne
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryExactlyOne: array: 'T array -> 'T option
+ + + Evaluates to None +

+
+ Example +
+

+

 let inputs: int array = [| |]
+
+ inputs |> Array.tryExactlyOne
+
+
val inputs: int array
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryExactlyOne: array: 'T array -> 'T option
+ + + Evaluates to None +

+
+
+
+ +

+ + + Array.tryFind predicate array + + +

+
+
+
+ Full Usage: + Array.tryFind predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T option + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The first element that satisfies the predicate, or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Try to find the first even number: +

 let inputs = [| 1; 2; 3 |]
+
+ inputs |> Array.tryFind (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryFind: predicate: ('T -> bool) -> array: 'T array -> 'T option
+
val elm: int
+ + + Evaluates to Some 2 +

+
+ Example +
+

+ Try to find the first even number: +

 let inputs = [| 1; 5; 3 |]
+
+ inputs |> Array.tryFind (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryFind: predicate: ('T -> bool) -> array: 'T array -> 'T option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + Array.tryFindBack predicate array + + +

+
+
+
+ Full Usage: + Array.tryFindBack predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T option + + The last element that satisfies the predicate, or None. +
+
+
+
+
+
+ +
+
+

+ Returns the last element for which the given function returns True. + Return None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The last element that satisfies the predicate, or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Try to find the first even number from the back: +

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.tryFindBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryFindBack: predicate: ('T -> bool) -> array: 'T array -> 'T option
+
val elm: int
+ + + Evaluates to Some 4 +

+
+ Example +
+

+ Try to find the first even number from the back: +

 let inputs = [| 1; 5; 3 |]
+
+ inputs |> Array.tryFindBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryFindBack: predicate: ('T -> bool) -> array: 'T array -> 'T option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + Array.tryFindIndex predicate array + + +

+
+
+
+ Full Usage: + Array.tryFindIndex predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + int option + + The index of the first element that satisfies the predicate, or None. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the first element in the array + that satisfies the given predicate. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int option +
+
+

+ The index of the first element that satisfies the predicate, or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Try to find the index of the first even number: +

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.tryFindIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryFindIndex: predicate: ('T -> bool) -> array: 'T array -> int option
+
val elm: int
+ + + Evaluates to Some 1 +

+
+ Example +
+

+ Try to find the index of the first even number: +

 let inputs = [| 1; 3; 5; 7 |]
+
+ inputs |> Array.tryFindIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryFindIndex: predicate: ('T -> bool) -> array: 'T array -> int option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + Array.tryFindIndexBack predicate array + + +

+
+
+
+ Full Usage: + Array.tryFindIndexBack predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + int option + + The index of the last element that satisfies the predicate, or None. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the last element in the array + that satisfies the given predicate. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + int option +
+
+

+ The index of the last element that satisfies the predicate, or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Try to find the index of the first even number from the back: +

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.tryFindIndexBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryFindIndexBack: predicate: ('T -> bool) -> array: 'T array -> int option
+
val elm: int
+ + + Evaluates to Some 3 +

+
+ Example +
+

+ Try to find the index of the first even number from the back: +

 let inputs = [| 1; 3; 5; 7 |]
+
+ inputs |> Array.tryFindIndexBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryFindIndexBack: predicate: ('T -> bool) -> array: 'T array -> int option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + Array.tryHead array + + +

+
+
+
+ Full Usage: + Array.tryHead array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T option + + The first element of the array or None. +
+
+
+
+
+
+ +
+
+

+ Returns the first element of the array, or + None if the array is empty. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The first element of the array or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "banana"; "pear" |]
+
+ inputs |> Array.tryHead
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryHead: array: 'T array -> 'T option
+ + + Evaluates to Some "banana" +

+
+ Example +
+

+

 let inputs : int array = [| |]
+
+ inputs |> Array.tryHead
+
+
val inputs: int array
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryHead: array: 'T array -> 'T option
+ + + Evaluates to None +

+
+
+
+ +

+ + + Array.tryItem index array + + +

+
+
+
+ Full Usage: + Array.tryItem index array +
+
+ Parameters: +
    + + + index + + : + int + - + The index of element to retrieve. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T option + + The nth element of the array or None. +
+
+
+
+
+
+ +
+
+

+ Tries to find the nth element in the array. + Returns None if index is negative or the input array does not contain enough elements. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of element to retrieve. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The nth element of the array or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ inputs |> Array.tryItem 1
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryItem: index: int -> array: 'T array -> 'T option
+ + + Evaluates to Some "b". + +

+
+ Example +
+

+

 let inputs = [| "a"; "b"; "c" |]
+
+ inputs |> Array.tryItem 4
+
+
val inputs: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryItem: index: int -> array: 'T array -> 'T option
+ + + Evaluates to None. + +

+
+
+
+ +

+ + + Array.tryLast array + + +

+
+
+
+ Full Usage: + Array.tryLast array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T option + + The last element of the array or None. +
+
+
+
+
+
+ +
+
+

+ Returns the last element of the array. + Return None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The last element of the array or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 [| "pear"; "banana" |] |> Array.tryLast
+
+
module Array + +from Microsoft.FSharp.Collections
+
val tryLast: array: 'T array -> 'T option
+ + + Evaluates to Some "banana" +

+
+ Example +
+

+

 [| |] |> Array.tryLast
+
+
module Array + +from Microsoft.FSharp.Collections
+
val tryLast: array: 'T array -> 'T option
+ + + Evaluates to None +

+
+
+
+ +

+ + + Array.tryPick chooser array + + +

+
+
+
+ Full Usage: + Array.tryPick chooser array +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + The function to transform the array elements into options. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'U option + + The first transformed element that is Some(x). +
+
+
+
+
+
+ +
+
+

+ Applies the given function to successive elements, returning the first + result where the function returns Some(x) for some x. If the function + never returns Some(x) then None is returned. +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ The function to transform the array elements into options. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'U option +
+
+

+ The first transformed element that is Some(x). +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Array.tryPick (fun n -> if n % 2 = 0 then Some (string n) else None)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryPick: chooser: ('T -> 'U option) -> array: 'T array -> 'U option
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to Some "2". + +

+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Array.tryPick (fun n -> if n > 3 = 0 then Some (string n) else None)
+
+
val input: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val tryPick: chooser: ('T -> 'U option) -> array: 'T array -> 'U option
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to None. + +

+
+
+
+ +

+ + + Array.unfold generator state + + +

+
+
+
+ Full Usage: + Array.unfold generator state +
+
+ Parameters: +
    + + + generator + + : + 'State -> ('T * 'State) option + - + A function that takes in the current state and returns an option tuple of the next + element of the array and the next state value. + +
    + + + state + + : + 'State + - + The initial state value. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Returns an array that contains the elements generated by the given computation. + The generator is repeatedly called to build the list until it returns `None`. + The given initial state argument is passed to the element generator. +

+
+
+ + + + + +
+
+
+
+
+ + generator + + : + 'State -> ('T * 'State) option +
+
+

+ A function that takes in the current state and returns an option tuple of the next + element of the array and the next state value. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state value. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+
+ Example +
+

+

 1 |> Array.unfold (fun state -> if state > 100 then None else Some (state, state * 2))
+
+
module Array + +from Microsoft.FSharp.Collections
+
val unfold<'T,'State> : generator: ('State -> ('T * 'State) option) -> state: 'State -> 'T array
+
val state: int
+
union case Option.None: Option<'T>
+
union case Option.Some: Value: 'T -> Option<'T>
+ + + Evaluates to [| 1; 2; 4; 8; 16; 32; 64 |] +

+
+
+
+ +

+ + + Array.unzip array + + +

+
+
+
+ Full Usage: + Array.unzip array +
+
+ Parameters: +
    + + + array + + : + ('T1 * 'T2) array + - + The input array. + +
    +
+
+ + Returns: + 'T1 array * 'T2 array + + The two arrays. +
+
+
+
+
+
+ +
+
+

+ Splits an array of pairs into two arrays. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + ('T1 * 'T2) array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T1 array * 'T2 array +
+
+

+ The two arrays. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| (1, "one"); (2, "two") |]
+
+ let numbers, names = inputs |> Array.unzip
+
+
val inputs: (int * string) array
+
val numbers: int array
+
val names: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val unzip: array: ('T1 * 'T2) array -> 'T1 array * 'T2 array
+ + + Evaluates numbers to [|1; 2|] and names to [|"one"; "two"|]. + +

+
+
+
+ +

+ + + Array.unzip3 array + + +

+
+
+
+ Full Usage: + Array.unzip3 array +
+
+ Parameters: +
    + + + array + + : + ('T1 * 'T2 * 'T3) array + - + The input array. + +
    +
+
+ + Returns: + 'T1 array * 'T2 array * 'T3 array + + The tuple of three arrays. +
+
+
+
+
+
+ +
+
+

+ Splits an array of triples into three arrays. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + ('T1 * 'T2 * 'T3) array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T1 array * 'T2 array * 'T3 array +
+
+

+ The tuple of three arrays. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+

 let inputs = [| (1, "one", "I"); (2, "two", "II") |]
+
+ let numbers, names, roman = inputs |> Array.unzip3
+
+
val inputs: (int * string * string) array
+
val numbers: int array
+
val names: string array
+
val roman: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val unzip3: array: ('T1 * 'T2 * 'T3) array -> 'T1 array * 'T2 array * 'T3 array
+ + + Evaluates numbers to [|1; 2|], names to [|"one"; "two"|] and roman to [|"I"; "II"|]. + +

+
+
+
+ +

+ + + Array.updateAt index value source + + +

+
+
+
+ Full Usage: + Array.updateAt index value source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of the item to be replaced. + +
    + + + value + + : + 'T + - + The new value. + +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Return a new array with the item at a given index set to the new value. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of the item to be replaced. +

+
+
+ + value + + : + 'T +
+
+

+ The new value. +

+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is outside 0..source.Length - 1 +
+
+ Example +
+

+

 let inputs = [| 0; 1; 2 |]
+
+ inputs |> Array.updateAt 1 9
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val updateAt: index: int -> value: 'T -> source: 'T array -> 'T array
+ + + Evaluates to [| 0; 9; 2 |]. + +

+
+
+
+ +

+ + + Array.where predicate array + + +

+
+
+
+ Full Usage: + Array.where predicate array +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array + + An array containing the elements for which the given predicate returns true. +
+
+
+
+
+
+ +
+
+

+ Returns a new array containing only the elements of the array + for which the given predicate returns "true". +

+
+
+ + + + + +
+
+
+

+ This is identical to Array.filter. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An array containing the elements for which the given predicate returns true. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+
+ Example +
+

+ Select only the even numbers: +

 let inputs = [| 1; 2; 3; 4 |]
+
+ inputs |> Array.where (fun elm -> elm % 2 = 0)
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val where: predicate: ('T -> bool) -> array: 'T array -> 'T array
+
val elm: int
+ + + Evaluates to [| 2; 4 |] +

+
+
+
+ +

+ + + Array.windowed windowSize array + + +

+
+
+
+ Full Usage: + Array.windowed windowSize array +
+
+ Parameters: +
    + + + windowSize + + : + int + - + The number of elements in each window. + +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T array array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Returns an array of sliding windows containing elements drawn from the input + array. Each window is returned as a fresh array. +

+
+
+ + + + + +
+
+
+
+
+ + windowSize + + : + int +
+
+

+ The number of elements in each window. +

+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T array array +
+
+

+ The result array. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input array is null. +
+ + ArgumentException + + + Thrown when windowSize is not positive. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 3; 4; 5 |]
+
+ inputs |> Array.windowed 3
+
+
val inputs: int array
+
module Array + +from Microsoft.FSharp.Collections
+
val windowed: windowSize: int -> array: 'T array -> 'T array array
+ + + Evaluates to [|[|1; 2; 3|]; [|2; 3; 4|]; [|3; 4; 5|]|] +

+
+
+
+ +

+ + + Array.zeroCreate count + + +

+
+
+
+ Full Usage: + Array.zeroCreate count +
+
+ Parameters: +
    + + + count + + : + int + - + The length of the array to create. + +
    +
+
+ + Returns: + 'T array + + The created array. +
+
+
+
+
+
+ +
+
+

+ Creates an array where the entries are initially the default value Unchecked.defaultof<'T>. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The length of the array to create. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The created array. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when count is negative. +
+
+ Example +
+

+

 let arr : int array = Array.zeroCreate 4
+
+
val arr: int array
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
module Array + +from Microsoft.FSharp.Collections
+
val zeroCreate: count: int -> 'T array
+ + + Evaluates to [| 0; 0; 0; 0 |] +

+
+
+
+ +

+ + + Array.zip array1 array2 + + +

+
+
+
+ Full Usage: + Array.zip array1 array2 +
+
+ Parameters: +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    +
+
+ + Returns: + ('T1 * 'T2) array + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+
+
+ + Returns: + + ('T1 * 'T2) array +
+
+

+ The array of tupled elements. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when either of the input arrays is null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

 let numbers = [|1; 2|]
+ let names = [|"one"; "two"|]
+
+ Array.zip numbers names
+
+
val numbers: int array
+
val names: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val zip: array1: 'T1 array -> array2: 'T2 array -> ('T1 * 'T2) array
+ + + Evaluates to [| (1, "one"); (2, "two") |]. + +

+
+
+
+ +

+ + + Array.zip3 array1 array2 array3 + + +

+
+
+
+ Full Usage: + Array.zip3 array1 array2 array3 +
+
+ Parameters: +
    + + + array1 + + : + 'T1 array + - + The first input array. + +
    + + + array2 + + : + 'T2 array + - + The second input array. + +
    + + + array3 + + : + 'T3 array + - + The third input array. + +
    +
+
+ + Returns: + ('T1 * 'T2 * 'T3) array + + The array of tupled elements. +
+
+
+
+
+
+ +
+
+

+ Combines three arrays into an array of pairs. The three arrays must have equal lengths, otherwise an ArgumentException is + raised. +

+
+
+ + + + + +
+
+
+
+
+ + array1 + + : + 'T1 array +
+
+

+ The first input array. +

+
+
+ + array2 + + : + 'T2 array +
+
+

+ The second input array. +

+
+
+ + array3 + + : + 'T3 array +
+
+

+ The third input array. +

+
+
+
+
+ + Returns: + + ('T1 * 'T2 * 'T3) array +
+
+

+ The array of tupled elements. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when any of the input arrays are null. +
+ + ArgumentException + + + Thrown when the input arrays differ in length. +
+
+ Example +
+

+

 let numbers = [| 1; 2 |]
+ let names = [| "one"; "two" |]
+ let roman = [| "I"; "II" |]
+
+ Array.zip3 numbers names roman
+
+
val numbers: int array
+
val names: string array
+
val roman: string array
+
module Array + +from Microsoft.FSharp.Collections
+
val zip3: array1: 'T1 array -> array2: 'T2 array -> array3: 'T3 array -> ('T1 * 'T2 * 'T3) array
+ + + Evaluates to [|(1, "one", "I"); (2, "two", "II")|]. + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-comparisonidentity.html b/reference/fsharp-collections-comparisonidentity.html new file mode 100644 index 000000000..c706a6f2c --- /dev/null +++ b/reference/fsharp-collections-comparisonidentity.html @@ -0,0 +1,616 @@ + + + + + + + + + + + + + + + + + + ComparisonIdentity (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ComparisonIdentity Module +

+ +
+
+
+

+ Common notions of value ordering implementing the IComparer + interface, for constructing sorted data structures and performing sorting operations. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + FromFunction comparer + + +

+
+
+
+ Full Usage: + FromFunction comparer +
+
+ Parameters: +
    + + + comparer + + : + 'T -> 'T -> int + - + A function to compare two values. + +
    +
+
+ + Returns: + IComparer<'T> + + An object implementing IComparer using the supplied function. +
+
+
+
+
+
+ +
+
+

+ Get an implementation of comparison semantics using the given function. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + 'T -> 'T -> int +
+
+

+ A function to compare two values. +

+
+
+
+
+ + Returns: + + IComparer<'T> +
+
+

+ An object implementing IComparer using the supplied function. +

+
+
+
+ Example +
+

+ Create and use a comparer using the given function: +

 let comparer = ComparisonIdentity.FromFunction(fun i1 i2 -> compare (i1%5) (i2%5))
+
+ comparer.Compare(7, 2)
+
+
val comparer: System.Collections.Generic.IComparer<int>
+
module ComparisonIdentity + +from Microsoft.FSharp.Collections
+
val FromFunction: comparer: ('T -> 'T -> int) -> System.Collections.Generic.IComparer<'T>
+
val i1: int
+
val i2: int
+
val compare: e1: 'T -> e2: 'T -> int (requires comparison)
+
System.Collections.Generic.IComparer.Compare(x: int, y: int) : int
+ + + Evaluates to 0because 7 and 2 compare as equal using to the provided function. + +

+
+
+
+ +

+ + + NonStructural + + +

+
+
+
+ Full Usage: + NonStructural +
+
+ + Returns: + IComparer<^T> + + An object implementing IComparer using NonStructuralComparison.Compare. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Get an implementation of comparison semantics using non-structural comparison. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IComparer<^T> +
+
+

+ An object implementing IComparer using NonStructuralComparison.Compare. +

+
+
+
+ Example +
+

+ Create and use a comparer using structural comparison: +

 let comparer = ComparisonIdentity.NonStructural<System.DateTime>
+
+ comparer.Compare(System.DateTime.Now, System.DateTime.Today)
+
+
val comparer: System.Collections.Generic.IComparer<System.DateTime>
+
module ComparisonIdentity + +from Microsoft.FSharp.Collections
+
val NonStructural<'T (requires member (<) and member (>))> : System.Collections.Generic.IComparer<'T> (requires member (<) and member (>))
+
namespace System
+
Multiple items
[<Struct>] +type DateTime = + new: date: DateOnly * time: TimeOnly -> unit + 16 overloads + member Add: value: TimeSpan -> DateTime + member AddDays: value: float -> DateTime + member AddHours: value: float -> DateTime + member AddMicroseconds: value: float -> DateTime + member AddMilliseconds: value: float -> DateTime + member AddMinutes: value: float -> DateTime + member AddMonths: months: int -> DateTime + member AddSeconds: value: float -> DateTime + member AddTicks: value: int64 -> DateTime + ...
<summary>Represents an instant in time, typically expressed as a date and time of day.</summary>

--------------------
System.DateTime ()
   (+0 other overloads)
System.DateTime(ticks: int64) : System.DateTime
   (+0 other overloads)
System.DateTime(date: System.DateOnly, time: System.TimeOnly) : System.DateTime
   (+0 other overloads)
System.DateTime(ticks: int64, kind: System.DateTimeKind) : System.DateTime
   (+0 other overloads)
System.DateTime(date: System.DateOnly, time: System.TimeOnly, kind: System.DateTimeKind) : System.DateTime
   (+0 other overloads)
System.DateTime(year: int, month: int, day: int) : System.DateTime
   (+0 other overloads)
System.DateTime(year: int, month: int, day: int, calendar: System.Globalization.Calendar) : System.DateTime
   (+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int) : System.DateTime
   (+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, kind: System.DateTimeKind) : System.DateTime
   (+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, calendar: System.Globalization.Calendar) : System.DateTime
   (+0 other overloads)
+
System.Collections.Generic.IComparer.Compare(x: System.DateTime, y: System.DateTime) : int
+
property System.DateTime.Now: System.DateTime with get
<summary>Gets a <see cref="T:System.DateTime" /> object that is set to the current date and time on this computer, expressed as the local time.</summary>
<returns>An object whose value is the current local date and time.</returns>
+
property System.DateTime.Today: System.DateTime with get
<summary>Gets the current date.</summary>
<returns>An object that is set to today's date, with the time component set to 00:00:00.</returns>
+ + + Evaluates to 1. + +

+
+
+
+ +

+ + + Structural + + +

+
+
+
+ Full Usage: + Structural +
+
+ + Returns: + IComparer<'T> + + An object implementing IComparer using Operators.compare. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Get an implementation of comparison semantics using structural comparison. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IComparer<'T> +
+
+

+ An object implementing IComparer using Operators.compare. +

+
+
+
+ Example +
+

+ Create and use a comparer using structural comparison: +

 let compareTuples = ComparisonIdentity.Structural<int * int>
+
+ compareTuples.Compare((1, 4), (1, 5))
+
+
val compareTuples: System.Collections.Generic.IComparer<int * int>
+
module ComparisonIdentity + +from Microsoft.FSharp.Collections
+
val Structural<'T (requires comparison)> : System.Collections.Generic.IComparer<'T> (requires comparison)
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
System.Collections.Generic.IComparer.Compare(x: int * int, y: int * int) : int
+ + + Evaluates to -1. + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-fsharplist.html b/reference/fsharp-collections-fsharplist.html new file mode 100644 index 000000000..bb78b1705 --- /dev/null +++ b/reference/fsharp-collections-fsharplist.html @@ -0,0 +1,396 @@ + + + + + + + + + + + + + + + + + + List (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ List Type +

+ +
+
+
+

+ Contains methods for compiler use related to lists. +

+
+
+
+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + List.Create(items) + + +

+
+
+
+ Full Usage: + List.Create(items) +
+
+ Parameters: +
    + + + items + + : + ReadOnlySpan<'T> + - + The items to store in the list. + +
    +
+
+ + Returns: + 'T list + + A list containing the specified items. +
+
+
+
+
+
+ +
+
+

+ Creates a list with the specified items. +

+
+
+ + + + + +
+
+
+
+
+ + items + + : + ReadOnlySpan<'T> +
+
+

+ The items to store in the list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ A list containing the specified items. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-fsharpmap-2.html b/reference/fsharp-collections-fsharpmap-2.html new file mode 100644 index 000000000..f066b65b0 --- /dev/null +++ b/reference/fsharp-collections-fsharpmap-2.html @@ -0,0 +1,1775 @@ + + + + + + + + + + + + + + + + + + Map<'Key, 'Value> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Map<'Key, 'Value> Type +

+ +
+
+
+

+ Immutable maps based on binary trees, where keys are ordered by F# generic comparison. By default + comparison is the F# structural comparison function or uses implementations of the IComparable interface on key values. +

+
+
+

+ See the Map module for further operations on maps. + + All members of this class are thread-safe and may be used concurrently from multiple threads. +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + Map(elements) + + +

+
+
+
+ Full Usage: + Map(elements) +
+
+ Parameters: +
    + + + elements + + : + ('Key * 'Value) seq + - + The input sequence of key/value pairs. + +
    +
+
+ + Returns: + Map<'Key, 'Value> + + The resulting map. +
+
+
+
+
+
+ +
+
+

+ Builds a map that contains the bindings of the given IEnumerable. +

+
+
+ + + + + +
+
+
+
+
+ + elements + + : + ('Key * 'Value) seq +
+
+

+ The input sequence of key/value pairs. +

+
+
+
+
+ + Returns: + + Map<'Key, 'Value> +
+
+

+ The resulting map. +

+
+
+
+ Example +
+

+

 Map [ (1, "a"); (2, "b") ] // evaluates to map [(1, "a"); (2, "b")]
+
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+ + +

+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Add + + +

+
+
+
+ Full Usage: + this.Add +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The key to add. + +
    + + + value + + : + 'Value + - + The value to add. + +
    +
+
+ + Returns: + Map<'Key, 'Value> + + The resulting map. +
+
+
+
+
+
+ +
+
+

+ Returns a new map with the binding added to the given map. + If a binding with the given key already exists in the input map, the existing binding is replaced by the new binding in the result map. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The key to add. +

+
+
+ + value + + : + 'Value +
+
+

+ The value to add. +

+
+
+
+
+ + Returns: + + Map<'Key, 'Value> +
+
+

+ The resulting map. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample.Add (3, "c") // evaluates to map [(1, "a"); (2, "b"); (3, "c")]
+ sample.Add (2, "aa") // evaluates to map [(1, "a"); (2, "aa")]
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
member Map.Add: key: 'Key * value: 'Value -> Map<'Key,'Value>
+ + +

+
+
+
+ +

+ + + this.Change + + +

+
+
+
+ Full Usage: + this.Change +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    + + + f + + : + 'Value option -> 'Value option + - + The change function. + +
    +
+
+ + Returns: + Map<'Key, 'Value> + + The resulting map. +
+
+
+
+
+
+ +
+
+

+ Returns a new map with the value stored under key changed according to f. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+ + f + + : + 'Value option -> 'Value option +
+
+

+ The change function. +

+
+
+
+
+ + Returns: + + Map<'Key, 'Value> +
+
+

+ The resulting map. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ let f x =
+     match x with
+     | Some s -> Some (s + "z")
+     | None -> None
+
+ sample.Change (1, f) // evaluates to map [(1, "az"); (2, "b")]
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val f: x: string option -> string option
+
val x: string option
+
union case Option.Some: Value: 'T -> Option<'T>
+
val s: string
+
union case Option.None: Option<'T>
+
member Map.Change: key: 'Key * f: ('Value option -> 'Value option) -> Map<'Key,'Value>
+ + +

+
+
+
+ +

+ + + this.ContainsKey + + +

+
+
+
+ Full Usage: + this.ContainsKey +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    +
+
+ + Returns: + bool + + True if the map contains the given key. +
+
+
+
+
+
+ +
+
+

+ Tests if an element is in the domain of the map. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the map contains the given key. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample.ContainsKey 1 // evaluates to true
+ sample.ContainsKey 3 // evaluates to false
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
member Map.ContainsKey: key: 'Key -> bool
+ + +

+
+
+
+ +

+ + + this.Count + + +

+
+
+
+ Full Usage: + this.Count +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ The number of bindings in the map. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample.Count // evaluates to 2
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
property Map.Count: int with get
+ + +

+
+
+
+ +

+ + + this.IsEmpty + + +

+
+
+
+ Full Usage: + this.IsEmpty +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Returns true if there are no bindings in the map. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+

 let emptyMap: Map<int, string> = Map.empty
+ emptyMap.IsEmpty // evaluates to true
+
+ let notEmptyMap = Map [ (1, "a"); (2, "b") ]
+ notEmptyMap.IsEmpty // evaluates to false
+
+
val emptyMap: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val empty<'Key,'T (requires comparison)> : Map<'Key,'T> (requires comparison)
+
property Map.IsEmpty: bool with get
+
val notEmptyMap: Map<int,string>
+ + +

+
+
+
+ +

+ + + this[key] + + +

+
+
+
+ Full Usage: + this[key] +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    +
+
+ + Returns: + 'Value + + The value mapped to the key. +
+
+
+
+
+
+ +
+
+

+ Lookup an element in the map. Raise KeyNotFoundException if no binding + exists in the map. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+
+
+ + Returns: + + 'Value +
+
+

+ The value mapped to the key. +

+
+
+ + + + + +
+ + KeyNotFoundException + + + Thrown when the key is not found. +
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample.[1] // evaluates to "a"
+ sample.[3] // throws KeyNotFoundException
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+ + +

+
+
+
+ +

+ + + this.Keys + + +

+
+
+
+ Full Usage: + this.Keys +
+
+ + Returns: + ICollection<'Key> + +
+
+
+
+
+
+ +
+
+

+ The keys in the map. + The sequence will be ordered by the keys of the map. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + ICollection<'Key> +
+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample.Keys // evaluates to seq [1; 2]
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
property Map.Keys: System.Collections.Generic.ICollection<int> with get
+ + +

+
+
+
+ +

+ + + this.Remove + + +

+
+
+
+ Full Usage: + this.Remove +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    +
+
+ + Returns: + Map<'Key, 'Value> + + The resulting map. +
+
+
+
+
+
+ +
+
+

+ Removes an element from the domain of the map. No exception is raised if the element is not present. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+
+
+ + Returns: + + Map<'Key, 'Value> +
+
+

+ The resulting map. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample.Remove 1 // evaluates to map [(2, "b")]
+ sample.Remove 3 // equal to sample
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
member Map.Remove: key: 'Key -> Map<'Key,'Value>
+ + +

+
+
+
+ +

+ + + this.TryFind + + +

+
+
+
+ Full Usage: + this.TryFind +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    +
+
+ + Returns: + 'Value option + + The mapped value, or None if the key is not 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. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+
+
+ + Returns: + + 'Value option +
+
+

+ The mapped value, or None if the key is not in the map. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample.TryFind 1 // evaluates to Some "a"
+ sample.TryFind 3 // evaluates to None
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
member Map.TryFind: key: 'Key -> 'Value option
+ + +

+
+
+
+ +

+ + + this.TryGetValue + + +

+
+
+
+ Full Usage: + this.TryGetValue +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    + + + value + + : + byref<'Value> + - + A reference to the output value. + +
    +
+
+ + Returns: + bool + + true if the value is present, false if not. +
+
+
+
+
+
+ +
+
+

+ Lookup an element in the map, assigning to value if the element is in the domain + of the map and returning false if not. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+ + value + + : + byref<'Value> +
+
+

+ A reference to the output value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ true if the value is present, false if not. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample.TryGetValue 1 // evaluates to (true, "a")
+ sample.TryGetValue 3 // evaluates to (false, null)
+
+ let mutable x = ""
+ sample.TryGetValue (1, &x) // evaluates to true, x set to "a"
+
+ let mutable y = ""
+ sample.TryGetValue (3, &y) // evaluates to false, y unchanged
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
member Map.TryGetValue: key: 'Key * [<System.Runtime.InteropServices.Out>] value: byref<'Value> -> bool
+
val mutable x: string
+
val mutable y: string
+ + +

+
+
+
+ +

+ + + this.Values + + +

+
+
+
+ Full Usage: + this.Values +
+
+ + Returns: + ICollection<'Value> + +
+
+
+
+
+
+ +
+
+

+ All the values in the map, including the duplicates. + The sequence will be ordered by the keys of the map. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + ICollection<'Value> +
+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample.Values // evaluates to seq ["a"; "b"]
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
property Map.Values: System.Collections.Generic.ICollection<string> with get
+ + +

+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-fsharpset-1.html b/reference/fsharp-collections-fsharpset-1.html new file mode 100644 index 000000000..396ff30bf --- /dev/null +++ b/reference/fsharp-collections-fsharpset-1.html @@ -0,0 +1,2004 @@ + + + + + + + + + + + + + + + + + + Set<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Set<'T> Type +

+ +
+
+
+

+ Immutable sets based on binary trees, where elements are ordered by F# generic comparison. By default + comparison is the F# structural comparison function or uses implementations of the IComparable interface on element 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. +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + Set(elements) + + +

+
+
+
+ Full Usage: + Set(elements) +
+
+ Parameters: +
    + + + elements + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + Set<'T> + + The result set. +
+
+
+
+
+
+ +
+
+

+ Create a set containing elements drawn from the given sequence. +

+
+
+ + + + + +
+
+
+
+
+ + elements + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The result set. +

+
+
+
+ Example +
+

+

 let sequenceOfNumbers = seq { 1 .. 3 }
+ let numbersInSet = Set(sequenceOfNumbers)
+ printfn $"The set is {numbersInSet}"
+
+
val sequenceOfNumbers: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val numbersInSet: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + +

+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Add + + +

+
+
+
+ Full Usage: + this.Add +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to add to the set. + +
    +
+
+ + Returns: + Set<'T> + + The result set. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to add to the set. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The result set. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(1).Add(2)
+ printfn $"The new set is: {set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The new set is: set [1; 2] +

+
+
+
+ +

+ + + this.Contains + + +

+
+
+
+ Full Usage: + this.Contains +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to check. + +
    +
+
+ + Returns: + bool + + True if the set contains value. +
+
+
+
+
+
+ +
+
+

+ A useful shortcut for Set.contains. See the Set module for further operations on sets. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to check. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the set contains value. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(2).Add(3)
+ printfn $"Does the set contain 1? {set.Contains(1)}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
member Set.Contains: value: 'T -> bool
+ + + The sample evaluates to the following output: Does the set contain 1? false +

+
+
+
+ +

+ + + this.Count + + +

+
+
+
+ Full Usage: + this.Count +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ The number of elements in the set +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(1).Add(2)
+ printfn $"The set has {set.Count} elements"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
property Set.Count: int with get
+ + + The sample evaluates to the following output: The set has 3 elements +

+
+
+
+ +

+ + + this.IsEmpty + + +

+
+
+
+ Full Usage: + this.IsEmpty +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A useful shortcut for Set.isEmpty. See the Set module for further operations on sets. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+

 let set = Set.empty.Add(2).Add(3)
+ printfn $"Is the set empty? {set.IsEmpty}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
property Set.IsEmpty: bool with get
+ + + The sample evaluates to the following output: Is the set empty? false +

+
+
+
+ +

+ + + this.IsProperSubsetOf + + +

+
+
+
+ Full Usage: + this.IsProperSubsetOf +
+
+ Parameters: +
    + + + otherSet + + : + Set<'T> + - + The set to test against. + +
    +
+
+ + Returns: + bool + + True if this set is a proper subset 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. +

+
+
+ + + + + +
+
+
+
+
+ + otherSet + + : + Set<'T> +
+
+

+ The set to test against. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if this set is a proper subset of otherSet. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(1).Add(2).Add(3).Add(4)
+ printfn $"Is {set1} a proper superset of {set2}? {Set.isProperSuperset set1 set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: Is set [1; 2; 3] a proper subset of set [1; 2; 3; 4]? true +

+
+
+
+ +

+ + + this.IsProperSupersetOf + + +

+
+
+
+ Full Usage: + this.IsProperSupersetOf +
+
+ Parameters: +
    + + + otherSet + + : + Set<'T> + - + The set to test against. + +
    +
+
+ + Returns: + bool + + True if this set is a proper superset 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. +

+
+
+ + + + + +
+
+
+
+
+ + otherSet + + : + Set<'T> +
+
+

+ The set to test against. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if this set is a proper superset of otherSet. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(1).Add(2).Add(3).Add(4)
+ printfn $"Is {set1} a proper superset of {set2}? {Set.isProperSuperset set1 set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: Is set [1; 2; 3] a proper superset of set [1; 2; 3; 4]? false +

+
+
+
+ +

+ + + this.IsSubsetOf + + +

+
+
+
+ Full Usage: + this.IsSubsetOf +
+
+ Parameters: +
    + + + otherSet + + : + Set<'T> + - + The set to test against. + +
    +
+
+ + Returns: + bool + + True if this set is a subset of otherSet. +
+
+
+
+
+
+ +
+
+

+ Evaluates to "true" if all elements of the first set are in the second. +

+
+
+ + + + + +
+
+
+
+
+ + otherSet + + : + Set<'T> +
+
+

+ The set to test against. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if this set is a subset of otherSet. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(1).Add(2).Add(3).Add(4)
+ printfn $"Is {set1} a subset of {set2}? {Set.isSubset set1 set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: Is set [1; 2; 3] a subset of set [1; 2; 3; 4]? true +

+
+
+
+ +

+ + + this.IsSupersetOf + + +

+
+
+
+ Full Usage: + this.IsSupersetOf +
+
+ Parameters: +
    + + + otherSet + + : + Set<'T> + - + The set to test against. + +
    +
+
+ + Returns: + bool + + True if this set is a superset of otherSet. +
+
+
+
+
+
+ +
+
+

+ Evaluates to "true" if all elements of the second set are in the first. +

+
+
+ + + + + +
+
+
+
+
+ + otherSet + + : + Set<'T> +
+
+

+ The set to test against. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if this set is a superset of otherSet. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(1).Add(2).Add(3).Add(4)
+ printfn $"Is {set1} a superset of {set2}? {Set.isSuperset set1 set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: Is set [1; 2; 3] a superset of set [1; 2; 3; 4]? false +

+
+
+
+ +

+ + + this.MaximumElement + + +

+
+
+
+ Full Usage: + this.MaximumElement +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Returns the highest element in the set according to the ordering being used for the set. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"MaximumElement: {set.MaximumElement}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
property Set.MaximumElement: int with get
+ + + The sample evaluates to the following output: MaximumElement: 3 +

+
+
+
+ +

+ + + this.MinimumElement + + +

+
+
+
+ Full Usage: + this.MinimumElement +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Returns the lowest element in the set according to the ordering being used for the set. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"MinimumElement: {set.MinimumElement}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
property Set.MinimumElement: int with get
+ + + The sample evaluates to the following output: MinimumElement: 1 +

+
+
+
+ +

+ + + this.Remove + + +

+
+
+
+ Full Usage: + this.Remove +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to remove from the set. + +
    +
+
+ + Returns: + Set<'T> + + The result 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to remove from the set. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The result set. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(1).Add(2)
+ printfn $"The new set is: {set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The new set is: set [2] +

+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + set1 + set2 + + +

+
+
+
+ Full Usage: + set1 + set2 +
+
+ Parameters: +
    + + + set1 + + : + Set<'T> + - + The first input set. + +
    + + + set2 + + : + Set<'T> + - + The second input set. + +
    +
+
+ + Returns: + Set<'T> + + The union of the two input sets. +
+
+
+
+
+
+ +
+
+

+ Compute the union of the two sets. +

+
+
+ + + + + +
+
+
+
+
+ + set1 + + : + Set<'T> +
+
+

+ The first input set. +

+
+
+ + set2 + + : + Set<'T> +
+
+

+ The second input set. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The union of the two input sets. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(2).Add(3).Add(4)
+ printfn $"Output is %A" {set1 + set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The new set is: set [1; 2; 3; 4] +

+
+
+
+ +

+ + + set1 - set2 + + +

+
+
+
+ Full Usage: + set1 - set2 +
+
+ Parameters: +
    + + + set1 + + : + Set<'T> + - + The first input set. + +
    + + + set2 + + : + Set<'T> + - + The second input set. + +
    +
+
+ + Returns: + Set<'T> + + A set containing elements of the first set that are not contained in the second set. +
+
+
+
+
+
+ +
+
+

+ Returns a new set with the elements of the second set removed from the first. +

+
+
+ + + + + +
+
+
+
+
+ + set1 + + : + Set<'T> +
+
+

+ The first input set. +

+
+
+ + set2 + + : + Set<'T> +
+
+

+ The second input set. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ A set containing elements of the first set that are not contained in the second set. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(2).Add(3).Add(4)
+ printfn $"The new set is: {set1 - set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The new set is: set [1] +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-fsharpset.html b/reference/fsharp-collections-fsharpset.html new file mode 100644 index 000000000..148349b0d --- /dev/null +++ b/reference/fsharp-collections-fsharpset.html @@ -0,0 +1,396 @@ + + + + + + + + + + + + + + + + + + Set (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Set Type +

+ +
+
+
+

+ Contains methods for compiler use related to sets. +

+
+
+
+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + Set.Create(items) + + +

+
+
+
+ Full Usage: + Set.Create(items) +
+
+ Parameters: +
    + + + items + + : + ReadOnlySpan<'T> + - + The items to store in the set. + +
    +
+
+ + Returns: + Set<'T> + + A set containing the specified items. +
+
+
+
+
+
+ +
+
+

+ Creates a set with the specified items. +

+
+
+ + + + + +
+
+
+
+
+ + items + + : + ReadOnlySpan<'T> +
+
+

+ The items to store in the set. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ A set containing the specified items. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-hashidentity.html b/reference/fsharp-collections-hashidentity.html new file mode 100644 index 000000000..00a17617b --- /dev/null +++ b/reference/fsharp-collections-hashidentity.html @@ -0,0 +1,971 @@ + + + + + + + + + + + + + + + + + + HashIdentity (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ HashIdentity Module +

+ +
+
+
+

+ Common notions of value identity implementing the IEqualityComparer + interface, for constructing Dictionary objects and other collections +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + FromFunctions hasher equality + + +

+
+
+
+ Full Usage: + FromFunctions hasher equality +
+
+ Parameters: +
    + + + hasher + + : + 'T -> int + - + A function to generate a hash code from a value. + +
    + + + equality + + : + 'T -> 'T -> bool + - + A function to test equality of two values. + +
    +
+
+ + Returns: + IEqualityComparer<'T> + + An object implementing IEqualityComparer using the given functions. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Get an implementation of equality semantics using the given functions. +

+
+
+ + + + + +
+
+
+
+
+ + hasher + + : + 'T -> int +
+
+

+ A function to generate a hash code from a value. +

+
+
+ + equality + + : + 'T -> 'T -> bool +
+
+

+ A function to test equality of two values. +

+
+
+
+
+ + Returns: + + IEqualityComparer<'T> +
+
+

+ An object implementing IEqualityComparer using the given functions. +

+
+
+
+ Example +
+

+ Create a dictionary which uses the given functions for equality and hashing: +

 open System.Collections.Generic
+
+ let modIdentity = HashIdentity.FromFunctions((fun i -> i%5), (fun i1 i2 -> i1%5 = i2%5))
+ let dict = new Dictionary<int,int>(HashIdentity.FromFunctions)
+
+ dict.[2] <- 6
+ dict.[7] <- 10
+
+
namespace System
+
namespace System.Collections
+
namespace System.Collections.Generic
+
val modIdentity: ((obj -> obj -> bool) -> IEqualityComparer<obj>)
+
module HashIdentity + +from Microsoft.FSharp.Collections
+
val FromFunctions: hasher: ('T -> int) -> equality: ('T -> 'T -> bool) -> IEqualityComparer<'T>
+
val i: 'a (requires member (%))
+
val i1: 'a (requires member (%) and equality and member (%))
+
val i2: 'a (requires member (%) and equality and member (%))
+
val dict: Dictionary<int,int>
+
Multiple items
type Dictionary<'TKey,'TValue> = + interface ICollection<KeyValuePair<'TKey,'TValue>> + interface IEnumerable<KeyValuePair<'TKey,'TValue>> + interface IEnumerable + interface IDictionary<'TKey,'TValue> + interface IReadOnlyCollection<KeyValuePair<'TKey,'TValue>> + interface IReadOnlyDictionary<'TKey,'TValue> + interface ICollection + interface IDictionary + interface IDeserializationCallback + interface ISerializable + ...
<summary>Represents a collection of keys and values.</summary>
<typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
<typeparam name="TValue">The type of the values in the dictionary.</typeparam>


--------------------
Dictionary() : Dictionary<'TKey,'TValue>
Dictionary(dictionary: IDictionary<'TKey,'TValue>) : Dictionary<'TKey,'TValue>
Dictionary(collection: IEnumerable<KeyValuePair<'TKey,'TValue>>) : Dictionary<'TKey,'TValue>
Dictionary(comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(capacity: int) : Dictionary<'TKey,'TValue>
Dictionary(dictionary: IDictionary<'TKey,'TValue>, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(collection: IEnumerable<KeyValuePair<'TKey,'TValue>>, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(capacity: int, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + In this example, only one entry is added, as the keys 2 and 7 have the same hash and are equal according to the provided functions. + +

+
+
+
+ +

+ + + LimitedStructural limit + + +

+
+
+
+ Full Usage: + LimitedStructural limit +
+
+ Parameters: +
    + + + limit + + : + int + - + The limit on the number of hashing operations used. + +
    +
+
+ + Returns: + IEqualityComparer<'T> + + An object implementing IEqualityComparer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Get an implementation of equality semantics using limited structural equality and structural hashing. +

+
+
+ + + + + +
+
+
+
+
+ + limit + + : + int +
+
+

+ The limit on the number of hashing operations used. +

+
+
+
+
+ + Returns: + + IEqualityComparer<'T> +
+
+

+ An object implementing IEqualityComparer. +

+
+
+
+ Example +
+

+ Create a dictionary which uses limited structural equality and structural hashing on the key, allowing trees as efficient keys: +

 open System.Collections.Generic
+
+ type Tree = Tree of int * Tree list
+
+ let dict = new Dictionary<Tree,int>(HashIdentity.LimitedStructural 4)
+
+ let tree1 = Tree(0, [])
+ let tree2 = Tree(0, [tree1; tree1])
+ dict.Add(tree1, 6)
+ dict.Add(tree2, 7)
+
+
namespace System
+
namespace System.Collections
+
namespace System.Collections.Generic
+
Multiple items
union case Tree.Tree: int * Tree list -> Tree

--------------------
type Tree = | Tree of int * Tree list
+
type Tree = | Tree of int * Tree list
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T list = List<'T>
+
val dict: Dictionary<Tree,int>
+
Multiple items
type Dictionary<'TKey,'TValue> = + interface ICollection<KeyValuePair<'TKey,'TValue>> + interface IEnumerable<KeyValuePair<'TKey,'TValue>> + interface IEnumerable + interface IDictionary<'TKey,'TValue> + interface IReadOnlyCollection<KeyValuePair<'TKey,'TValue>> + interface IReadOnlyDictionary<'TKey,'TValue> + interface ICollection + interface IDictionary + interface IDeserializationCallback + interface ISerializable + ...
<summary>Represents a collection of keys and values.</summary>
<typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
<typeparam name="TValue">The type of the values in the dictionary.</typeparam>


--------------------
Dictionary() : Dictionary<'TKey,'TValue>
Dictionary(dictionary: IDictionary<'TKey,'TValue>) : Dictionary<'TKey,'TValue>
Dictionary(collection: IEnumerable<KeyValuePair<'TKey,'TValue>>) : Dictionary<'TKey,'TValue>
Dictionary(comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(capacity: int) : Dictionary<'TKey,'TValue>
Dictionary(dictionary: IDictionary<'TKey,'TValue>, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(collection: IEnumerable<KeyValuePair<'TKey,'TValue>>, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(capacity: int, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
+
module HashIdentity + +from Microsoft.FSharp.Collections
+
val LimitedStructural: limit: int -> IEqualityComparer<'T> (requires equality)
+
val tree1: Tree
+
val tree2: Tree
+
Dictionary.Add(key: Tree, value: int) : unit
+ + +

+
+
+
+ +

+ + + NonStructural + + +

+
+
+
+ Full Usage: + NonStructural +
+
+ + Returns: + IEqualityComparer<^T> + + + An object implementing IEqualityComparer using NonStructuralComparison.op_Equality + and NonStructuralComparison.hash. + +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Get an implementation of equality semantics using non-structural equality and non-structural hashing. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEqualityComparer<^T> +
+
+

+ + An object implementing IEqualityComparer using NonStructuralComparison.op_Equality + and NonStructuralComparison.hash. + +

+
+
+
+ Example +
+

+ Create a dictionary which uses non-structural equality and hashing on the key: +

 open System.Collections.Generic
+
+ let dict = new Dictionary<System.DateTime,int>(HashIdentity.NonStructural)
+
+ dict.Add(System.DateTime.Now, 1)
+
+
namespace System
+
namespace System.Collections
+
namespace System.Collections.Generic
+
val dict: Dictionary<System.DateTime,int>
+
Multiple items
type Dictionary<'TKey,'TValue> = + interface ICollection<KeyValuePair<'TKey,'TValue>> + interface IEnumerable<KeyValuePair<'TKey,'TValue>> + interface IEnumerable + interface IDictionary<'TKey,'TValue> + interface IReadOnlyCollection<KeyValuePair<'TKey,'TValue>> + interface IReadOnlyDictionary<'TKey,'TValue> + interface ICollection + interface IDictionary + interface IDeserializationCallback + interface ISerializable + ...
<summary>Represents a collection of keys and values.</summary>
<typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
<typeparam name="TValue">The type of the values in the dictionary.</typeparam>


--------------------
Dictionary() : Dictionary<'TKey,'TValue>
Dictionary(dictionary: IDictionary<'TKey,'TValue>) : Dictionary<'TKey,'TValue>
Dictionary(collection: IEnumerable<KeyValuePair<'TKey,'TValue>>) : Dictionary<'TKey,'TValue>
Dictionary(comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(capacity: int) : Dictionary<'TKey,'TValue>
Dictionary(dictionary: IDictionary<'TKey,'TValue>, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(collection: IEnumerable<KeyValuePair<'TKey,'TValue>>, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(capacity: int, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
+
Multiple items
[<Struct>] +type DateTime = + new: date: DateOnly * time: TimeOnly -> unit + 16 overloads + member Add: value: TimeSpan -> DateTime + member AddDays: value: float -> DateTime + member AddHours: value: float -> DateTime + member AddMicroseconds: value: float -> DateTime + member AddMilliseconds: value: float -> DateTime + member AddMinutes: value: float -> DateTime + member AddMonths: months: int -> DateTime + member AddSeconds: value: float -> DateTime + member AddTicks: value: int64 -> DateTime + ...
<summary>Represents an instant in time, typically expressed as a date and time of day.</summary>

--------------------
System.DateTime ()
   (+0 other overloads)
System.DateTime(ticks: int64) : System.DateTime
   (+0 other overloads)
System.DateTime(date: System.DateOnly, time: System.TimeOnly) : System.DateTime
   (+0 other overloads)
System.DateTime(ticks: int64, kind: System.DateTimeKind) : System.DateTime
   (+0 other overloads)
System.DateTime(date: System.DateOnly, time: System.TimeOnly, kind: System.DateTimeKind) : System.DateTime
   (+0 other overloads)
System.DateTime(year: int, month: int, day: int) : System.DateTime
   (+0 other overloads)
System.DateTime(year: int, month: int, day: int, calendar: System.Globalization.Calendar) : System.DateTime
   (+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int) : System.DateTime
   (+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, kind: System.DateTimeKind) : System.DateTime
   (+0 other overloads)
System.DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, calendar: System.Globalization.Calendar) : System.DateTime
   (+0 other overloads)
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
module HashIdentity + +from Microsoft.FSharp.Collections
+
val NonStructural<'T (requires equality and member (=))> : IEqualityComparer<'T> (requires equality and member (=))
+
Dictionary.Add(key: System.DateTime, value: int) : unit
+
property System.DateTime.Now: System.DateTime with get
<summary>Gets a <see cref="T:System.DateTime" /> object that is set to the current date and time on this computer, expressed as the local time.</summary>
<returns>An object whose value is the current local date and time.</returns>
+ + +

+
+
+
+ +

+ + + Reference + + +

+
+
+
+ Full Usage: + Reference +
+
+ + Returns: + IEqualityComparer<'T> + + + An object implementing IEqualityComparer using LanguagePrimitives.PhysicalEquality + and LanguagePrimitives.PhysicalHash. + +
+
+
+
+
+
+ +
+
+

+ Get an implementation of equality semantics using reference equality and reference hashing. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEqualityComparer<'T> +
+
+

+ + An object implementing IEqualityComparer using LanguagePrimitives.PhysicalEquality + and LanguagePrimitives.PhysicalHash. + +

+
+
+
+ Example +
+

+ Create a dictionary which uses reference equality and hashing on the key, giving each key reference identity: +

 open System.Collections.Generic
+
+ let dict = new Dictionary<int array,int>(HashIdentity.Structural)
+
+ let arr1 = [| 1;2;3 |]
+ let arr2 = [| 1;2;3 |]
+ dict.Add(arr1, 6)
+ dict.Add(arr2, 7)
+
+
namespace System
+
namespace System.Collections
+
namespace System.Collections.Generic
+
val dict: Dictionary<int array,int>
+
Multiple items
type Dictionary<'TKey,'TValue> = + interface ICollection<KeyValuePair<'TKey,'TValue>> + interface IEnumerable<KeyValuePair<'TKey,'TValue>> + interface IEnumerable + interface IDictionary<'TKey,'TValue> + interface IReadOnlyCollection<KeyValuePair<'TKey,'TValue>> + interface IReadOnlyDictionary<'TKey,'TValue> + interface ICollection + interface IDictionary + interface IDeserializationCallback + interface ISerializable + ...
<summary>Represents a collection of keys and values.</summary>
<typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
<typeparam name="TValue">The type of the values in the dictionary.</typeparam>


--------------------
Dictionary() : Dictionary<'TKey,'TValue>
Dictionary(dictionary: IDictionary<'TKey,'TValue>) : Dictionary<'TKey,'TValue>
Dictionary(collection: IEnumerable<KeyValuePair<'TKey,'TValue>>) : Dictionary<'TKey,'TValue>
Dictionary(comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(capacity: int) : Dictionary<'TKey,'TValue>
Dictionary(dictionary: IDictionary<'TKey,'TValue>, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(collection: IEnumerable<KeyValuePair<'TKey,'TValue>>, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(capacity: int, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
module HashIdentity + +from Microsoft.FSharp.Collections
+
val Structural<'T (requires equality)> : IEqualityComparer<'T> (requires equality)
+
val arr1: int array
+
val arr2: int array
+
Dictionary.Add(key: int array, value: int) : unit
+ + + In this example, two entries are added to the dictionary, as the arrays have different object reference identity. + +

+
+
+
+ +

+ + + Structural + + +

+
+
+
+ Full Usage: + Structural +
+
+ + Returns: + IEqualityComparer<'T> + + An object implementing IEqualityComparer using Operators.op_Equality and Operators.hash. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Get an implementation of equality semantics using structural equality and structural hashing. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEqualityComparer<'T> +
+
+

+ An object implementing IEqualityComparer using Operators.op_Equality and Operators.hash. +

+
+
+
+ Example +
+

+ Create a dictionary which uses structural equality and structural hashing on the key, allowing an array as a key: +

 open System.Collections.Generic
+
+ let dict = new Dictionary<int array,int>(HashIdentity.Structural)
+
+ let arr1 = [| 1;2;3 |]
+ let arr2 = [| 1;2;3 |]
+
+ dict.[arr1] <- 6
+ dict.[arr2] >- 7
+
+
namespace System
+
namespace System.Collections
+
namespace System.Collections.Generic
+
val dict: Dictionary<int array,int>
+
Multiple items
type Dictionary<'TKey,'TValue> = + interface ICollection<KeyValuePair<'TKey,'TValue>> + interface IEnumerable<KeyValuePair<'TKey,'TValue>> + interface IEnumerable + interface IDictionary<'TKey,'TValue> + interface IReadOnlyCollection<KeyValuePair<'TKey,'TValue>> + interface IReadOnlyDictionary<'TKey,'TValue> + interface ICollection + interface IDictionary + interface IDeserializationCallback + interface ISerializable + ...
<summary>Represents a collection of keys and values.</summary>
<typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
<typeparam name="TValue">The type of the values in the dictionary.</typeparam>


--------------------
Dictionary() : Dictionary<'TKey,'TValue>
Dictionary(dictionary: IDictionary<'TKey,'TValue>) : Dictionary<'TKey,'TValue>
Dictionary(collection: IEnumerable<KeyValuePair<'TKey,'TValue>>) : Dictionary<'TKey,'TValue>
Dictionary(comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(capacity: int) : Dictionary<'TKey,'TValue>
Dictionary(dictionary: IDictionary<'TKey,'TValue>, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(collection: IEnumerable<KeyValuePair<'TKey,'TValue>>, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
Dictionary(capacity: int, comparer: IEqualityComparer<'TKey>) : Dictionary<'TKey,'TValue>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+
module HashIdentity + +from Microsoft.FSharp.Collections
+
val Structural<'T (requires equality)> : IEqualityComparer<'T> (requires equality)
+
val arr1: int array
+
val arr2: int array
+ + + In this example, only one entry is added to the dictionary, as the arrays identical by structural equality. + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-list-1.html b/reference/fsharp-collections-list-1.html new file mode 100644 index 000000000..940a25d99 --- /dev/null +++ b/reference/fsharp-collections-list-1.html @@ -0,0 +1,755 @@ + + + + + + + + + + + + + + + + + + 'T list (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ 'T list Type +

+ +
+
+
+

+ The type of immutable singly-linked lists. +

+
+
+

+ See the List module for further operations related to 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. + + See also F# Language Guide - Lists. + +

+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Head + + +

+
+
+
+ Full Usage: + this.Head +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Gets the first element of the list +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + this.IsEmpty + + +

+
+
+
+ Full Usage: + this.IsEmpty +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Gets a value indicating if the list contains no entries +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this[index] + + +

+
+
+
+ Full Usage: + this[index] +
+
+ Parameters: +
    + + + index + + : + int + - + The index. + +
    +
+
+ + Returns: + 'T + + The value at the given index. +
+
+
+
+
+
+ +
+
+

+ Gets the element of the list at the given position. +

+
+
+ + + + + +
+
+
+

+ Lists are represented as linked lists so this is an O(n) operation. +

+
+
+ + index + + : + int +
+
+

+ The index. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value at the given index. +

+
+
+
+
+
+ +

+ + + this.Length + + +

+
+
+
+ Full Usage: + this.Length +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ Gets the number of items contained in the list +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + this.Tail + + +

+
+
+
+ Full Usage: + this.Tail +
+
+ + Returns: + 'T list + +
+
+
+
+
+
+ +
+
+

+ Gets the tail of the list, which is a list containing all the elements of the list, excluding the first element +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T list +
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + List.Empty + + +

+
+
+
+ Full Usage: + List.Empty +
+
+ + Returns: + 'T list + +
+
+
+
+
+
+ +
+
+

+ Returns an empty list of a particular type +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T list +
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-listmodule.html b/reference/fsharp-collections-listmodule.html new file mode 100644 index 000000000..aace13185 --- /dev/null +++ b/reference/fsharp-collections-listmodule.html @@ -0,0 +1,19928 @@ + + + + + + + + + + + + + + + + + + List (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ List Module +

+ +
+
+
+

+ Contains operations for working with values of type list. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + List.allPairs list1 list2 + + +

+
+
+
+ Full Usage: + List.allPairs list1 list2 +
+
+ Parameters: +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    +
+
+ + Returns: + ('T1 * 'T2) list + + The resulting list of pairs. +
+
+
+
+
+
+ +
+
+

+ Returns a new list that contains all pairings of elements from two lists. +

+
+
+ + + + + +
+
+
+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+
+
+ + Returns: + + ('T1 * 'T2) list +
+
+

+ The resulting list of pairs. +

+
+
+
+ Example +
+

+

 let people = [ "Kirk"; "Spock"; "McCoy" ]
+ let numbers = [ 1; 2 ]
+
+ people |> List.allPairs numbers
+
+
val people: string list
+
val numbers: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val allPairs: list1: 'T1 list -> list2: 'T2 list -> ('T1 * 'T2) list
+ + + Evaluates to +
 [ (1, "Kirk"); (1, "Spock"); (1, "McCoy"); (2, "Kirk"); (2, "Spock"); (2, "McCoy") ]
+
+ + +

+
+
+
+ +

+ + + List.append list1 list2 + + +

+
+
+
+ Full Usage: + List.append list1 list2 +
+
+ Parameters: +
    + + + list1 + + : + 'T list + - + The first input list. + +
    + + + list2 + + : + 'T list + - + The second input list. + +
    +
+
+ + Returns: + 'T list + + The resulting list. +
+
+
+
+
+
+ +
+
+

+ Returns a new list that contains the elements of the first list + followed by elements of the second list. +

+
+
+ + + + + +
+
+
+
+
+ + list1 + + : + 'T list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T list +
+
+

+ The second input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The resulting list. +

+
+
+
+ Example +
+

+

 List.append [ 1..3 ] [ 4..7 ]
+ 
+ [ 4..7 ] |> List.append [ 1..3 ]
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val append: list1: 'T list -> list2: 'T list -> 'T list
+ + + Evaluates to +
 [ 1; 2; 3; 4; 5; 6; 7 ]
+
+ + +

+
+
+
+ +

+ + + List.average list + + +

+
+
+
+ Full Usage: + List.average list +
+
+ Parameters: +
    + + + list + + : + ^T list + - + The input list. + +
    +
+
+ + Returns: + ^T + + The resulting average. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Returns the average of the values in a non-empty list. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + ^T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The resulting average. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input list is empty. +
+
+ Example +
+

+

 [1.0 .. 9.0] |> List.average
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val average: list: 'T list -> 'T (requires member (+) and member DivideByInt and member Zero)
+ + + Evaluates to +
 5.0
+
+ + +

+
+
+
+ +

+ + + List.averageBy projection list + + +

+
+
+
+ Full Usage: + List.averageBy projection list +
+
+ Parameters: +
    + + + projection + + : + 'T -> ^U + - + The function to transform the list elements into the values to be averaged. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + ^U + + The resulting average. +
+ Modifiers: + inline +
+ Type parameters: + 'T, ^U +
+
+
+
+
+ +
+
+

+ Returns the average of values in a list generated by applying a function to each element of the list. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> ^U +
+
+

+ The function to transform the list elements into the values to be averaged. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + ^U +
+
+

+ The resulting average. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the list is empty. +
+
+ Example +
+

+ Calculate average age of persons by extracting their age from a record type. +

 type People = { Name: string; Age: int }
+
+ let getAgeAsFloat person = float person.Age
+
+ let people = 
+     [ { Name = "Kirk"; Age = 26 }
+       { Name = "Spock"; Age = 90 }
+       { Name = "McCoy"; Age = 37 } ]
+
+ people |> List.averageBy getAgeAsFloat
+
+
type People = + { + Name: string + Age: int + }
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val getAgeAsFloat: person: People -> float
+
val person: People
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
People.Age: int
+
val people: People list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val averageBy: projection: ('T -> 'U) -> list: 'T list -> 'U (requires member (+) and member DivideByInt and member Zero)
+ + + Evaluates to +
 51.0
+
+ + +

+
+
+
+ +

+ + + List.choose chooser list + + +

+
+
+
+ Full Usage: + List.choose chooser list +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + The function to be applied to the list elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'U list + + The resulting list comprising the values v where the chooser function returned Some(x). +
+
+
+
+
+
+ +
+
+

+ Applies a function to each element in a list and then returns + a list of values v where the applied function returned Some(v). + + Returns an empty list when the input list is empty or when the applied chooser function + returns None for all elements. + +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ The function to be applied to the list elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'U list +
+
+

+ The resulting list comprising the values v where the chooser function returned Some(x). +

+
+
+
+ Example +
+

+ + Using the identity function id (is defined like fun x -> x): +

 
+ let input1 = [ Some 1; None; Some 3; None ]
+
+ input1 |> List.choose id
+
+
val input1: int option list
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val choose: chooser: ('T -> 'U option) -> list: 'T list -> 'U list
+
val id: x: 'T -> 'T
+ + + Evaluates to +
 [ 1; 3 ]
+
+ + +

+
+ Example +
+

+

 type Happiness =
+     | AlwaysHappy
+     | MostOfTheTimeGrumpy
+
+ type People = { Name: string; Happiness: Happiness }
+
+ let takeJustHappyPersons person =
+     match person.Happiness with
+     | AlwaysHappy -> Some person.Name
+     | MostOfTheTimeGrumpy -> None
+
+ let candidatesForTheTrip = 
+     [ { Name = "SpongeBob"
+         Happiness = AlwaysHappy }
+       { Name = "Patrick"
+         Happiness = AlwaysHappy }
+       { Name = "Squidward"
+         Happiness = MostOfTheTimeGrumpy } ]
+
+ candidatesForTheTrip
+ |> List.choose takeJustHappyPersons
+
+
type Happiness = + | AlwaysHappy + | MostOfTheTimeGrumpy
+
type People = + { + Name: string + Happiness: Happiness + }
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val takeJustHappyPersons: person: People -> string option
+
val person: People
+
People.Happiness: Happiness
+
union case Happiness.AlwaysHappy: Happiness
+
union case Option.Some: Value: 'T -> Option<'T>
+
People.Name: string
+
union case Happiness.MostOfTheTimeGrumpy: Happiness
+
union case Option.None: Option<'T>
+
val candidatesForTheTrip: People list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val choose: chooser: ('T -> 'U option) -> list: 'T list -> 'U list
+ + + Evaluates to +
 [ "SpongeBob"; "Patrick" ]
+
+ + +

+
+ Example +
+

+

 let input3: int option list = [] 
+
+ input3 |> List.choose id
+ Evaluates to:
+ empty list
+
+
val input3: int option list
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T option = Option<'T>
+
type 'T list = List<'T>
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val choose: chooser: ('T -> 'U option) -> list: 'T list -> 'U list
+
val id: x: 'T -> 'T
+ + +

+
+ Example +
+

+

 let input4: string option list = [None; None]
+
+ input4 |> List.choose id
+ Evaluates to
+ empty list
+
+
val input4: string option list
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
type 'T option = Option<'T>
+
type 'T list = List<'T>
+
union case Option.None: Option<'T>
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val choose: chooser: ('T -> 'U option) -> list: 'T list -> 'U list
+
val id: x: 'T -> 'T
+ + +

+
+ Example +
+

+ + Using the identity function id (is defined like fun x -> x): +

 
+ let input5 = [ Some 1; None; Some 3; None ]
+
+ input5 |> List.choose id  // evaluates [1; 3]
+
+
val input5: int option list
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val choose: chooser: ('T -> 'U option) -> list: 'T list -> 'U list
+
val id: x: 'T -> 'T
+ + +

+
+
+
+ +

+ + + List.chunkBySize chunkSize list + + +

+
+
+
+ Full Usage: + List.chunkBySize chunkSize list +
+
+ Parameters: +
    + + + chunkSize + + : + int + - + The maximum size of each chunk. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list list + + The list divided into chunks. +
+
+
+
+
+
+ +
+
+

+ Divides the input list into lists (chunks) of size at most chunkSize. + Returns a new list containing the generated lists (chunks) as its elements. + + Returns an empty list when the input list is empty. +

+
+
+ + + + + +
+
+
+
+
+ + chunkSize + + : + int +
+
+

+ The maximum size of each chunk. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list list +
+
+

+ The list divided into chunks. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when chunkSize is not positive. +
+
+ Example +
+

+

 [ 1..10 ] |> List.chunkBySize 3
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val chunkBySize: chunkSize: int -> list: 'T list -> 'T list list
+ + + Evaluates to +
 [ [ 1; 2; 3 ]
+   [ 4; 5; 6 ]
+   [ 7; 8; 9 ]
+   [ 10 ] ]
+
+ + +

+
+ Example +
+

+

 [ 1..5 ] |> List.chunkBySize 10
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val chunkBySize: chunkSize: int -> list: 'T list -> 'T list list
+ + + Evaluates to +
 [ [ 1; 2; 3; 4; 5 ] ]
+
+ + +

+
+
+
+ +

+ + + List.collect mapping list + + +

+
+
+
+ Full Usage: + List.collect mapping list +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U list + - + The function to transform each input element into a sublist to be concatenated. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'U list + + The concatenation of the transformed sublists. +
+
+
+
+
+
+ +
+
+

+ For each element of the list, applies the given function. Concatenates all the results and returns the combined list. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'U list +
+
+

+ The function to transform each input element into a sublist to be concatenated. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'U list +
+
+

+ The concatenation of the transformed sublists. +

+
+
+
+ Example +
+

+ For each positive number in the array we are generating all the previous positive numbers +

 [1..4] |> List.collect (fun x -> [1..x])
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val collect: mapping: ('T -> 'U list) -> list: 'T list -> 'U list
+
val x: int
+ + + The sample evaluates to [1; 1; 2; 1; 2; 3; 1; 2; 3; 4] (added extra spaces for easy reading) + +

+
+
+
+ +

+ + + List.compareWith comparer list1 list2 + + +

+
+
+
+ Full Usage: + List.compareWith comparer list1 list2 +
+
+ Parameters: +
    + + + comparer + + : + 'T -> 'T -> int + - + A function that takes an element from each list and returns an int. + If it evaluates to a non-zero value iteration is stopped and that value is returned. + +
    + + + list1 + + : + 'T list + - + The first input list. + +
    + + + list2 + + : + 'T list + - + The second input list. + +
    +
+
+ + Returns: + int + + Returns the first non-zero result from the comparison function. If the first list has a + larger element, the return value is always positive. If the second list has a larger + element, the return value is always negative. When the elements are equal in the two + lists, 1 is returned if the first list is longer, 0 is returned if they are equal in + length, and -1 is returned when the second list is longer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compares two lists using the given comparison function, element by element. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + 'T -> 'T -> int +
+
+

+ A function that takes an element from each list and returns an int. + If it evaluates to a non-zero value iteration is stopped and that value is returned. +

+
+
+ + list1 + + : + 'T list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T list +
+
+

+ The second input list. +

+
+
+
+
+ + Returns: + + int +
+
+

+ Returns the first non-zero result from the comparison function. If the first list has a + larger element, the return value is always positive. If the second list has a larger + element, the return value is always negative. When the elements are equal in the two + lists, 1 is returned if the first list is longer, 0 is returned if they are equal in + length, and -1 is returned when the second list is longer. +

+
+
+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [1; 10]
+ let input2 = [1; 10]
+
+ (input1, input2) ||> List.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int list
+
val input2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val compareWith: comparer: ('T -> 'T -> int) -> list1: 'T list -> list2: 'T list -> int
+ + + Evaluates to 0 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [1; 5]
+ let input2 = [1; 8]
+
+ (input1, input2) ||> List.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int list
+
val input2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val compareWith: comparer: ('T -> 'T -> int) -> list1: 'T list -> list2: 'T list -> int
+ + + Evaluates to -1 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [1; 11]
+ let input2 = [1; 13]
+
+ (input1, input2) ||> List.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int list
+
val input2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val compareWith: comparer: ('T -> 'T -> int) -> list1: 'T list -> list2: 'T list -> int
+ + + Evaluates to 1 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [1; 2]
+ let input2 = [1]
+
+ (input1, input2) ||> List.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int list
+
val input2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val compareWith: comparer: ('T -> 'T -> int) -> list1: 'T list -> list2: 'T list -> int
+ + + Evaluates to 1 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [1]
+ let input2 = [1; 2]
+
+ (input1, input2) ||> List.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int list
+
val input2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val compareWith: comparer: ('T -> 'T -> int) -> list1: 'T list -> list2: 'T list -> int
+ + + Evaluates to -1 +

+
+
+
+ +

+ + + List.concat lists + + +

+
+
+
+ Full Usage: + List.concat lists +
+
+ Parameters: +
    + + + lists + + : + 'T list seq + - + The input sequence of lists. + +
    +
+
+ + Returns: + 'T list + + The resulting concatenated list. +
+
+
+
+
+
+ +
+
+

+ Returns a new list that contains the elements of each of the lists in order. +

+
+
+ + + + + +
+
+
+
+
+ + lists + + : + 'T list seq +
+
+

+ The input sequence of lists. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The resulting concatenated list. +

+
+
+
+ Example +
+

+

 let input = [ [1;2]
+               [3;4;5]
+               [6;7;8;9] ]
+ input |> List.concat  // evaluates [1; 2; 3; 4; 5; 6; 7; 8; 9]
+
+
val input: int list list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val concat: lists: 'T list seq -> 'T list
+ + +

+
+
+
+ +

+ + + List.contains value source + + +

+
+
+
+ Full Usage: + List.contains value source +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to locate in the input list. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + bool + + True if the input list contains the specified element; false otherwise. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Tests if the list contains the specified element. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to locate in the input list. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the input list contains the specified element; false otherwise. +

+
+
+
+ Example +
+

+

 [1..9] |> List.contains 0
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val contains: value: 'T -> source: 'T list -> bool (requires equality)
+ + + Evaluates to false. + +

+
+ Example +
+

+

 [1..9] |> List.contains 3
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val contains: value: 'T -> source: 'T list -> bool (requires equality)
+ + + Evaluates to true. + +

+
+ Example +
+

+

 let input = [1, "SpongeBob"; 2, "Patrick"; 3, "Squidward"; 4, "Mr. Krabs"]
+
+ input |> List.contains (2, "Patrick")
+
+
val input: (int * string) list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val contains: value: 'T -> source: 'T list -> bool (requires equality)
+ + + Evaluates to true. + +

+
+ Example +
+

+

 let input = [1, "SpongeBob"; 2, "Patrick"; 3, "Squidward"; 4, "Mr. Krabs"]
+
+ input |> List.contains (22, "Patrick")
+
+
val input: (int * string) list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val contains: value: 'T -> source: 'T list -> bool (requires equality)
+ + + Evaluates to false. + +

+
+
+
+ +

+ + + List.countBy projection list + + +

+
+
+
+ Full Usage: + List.countBy projection list +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function transforming each item of the input list into a key to be + compared against the others. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + ('Key * int) list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Applies a key-generating function to each element of a list and returns a list yielding unique + keys and their number of occurrences in the original list. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function transforming each item of the input list into a key to be + compared against the others. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + ('Key * int) list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+ Counting the number of occurrences of chars +

 let input = ['H'; 'a'; 'p'; 'p'; 'y']
+
+ input |> List.countBy id
+
+
val input: char list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val countBy: projection: ('T -> 'Key) -> list: 'T list -> ('Key * int) list (requires equality)
+
val id: x: 'T -> 'T
+ + + Evaluates [('H', 1); ('a', 1); ('p', 2); ('y', 1)] +

+
+
+
+ +

+ + + List.distinct list + + +

+
+
+
+ Full Usage: + List.distinct list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Returns a list that contains no duplicate entries according to generic hash and + equality comparisons on the entries. + If an element occurs multiple times in the list then the later occurrences are discarded. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 let input = [6;1;2;3;1;4;5;5]
+
+ input |> List.distinct
+
+
val input: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val distinct: list: 'T list -> 'T list (requires equality)
+ + + Evaluates to [6; 1; 2; 3; 4; 5]. + +

+
+
+
+ +

+ + + List.distinctBy projection list + + +

+
+
+
+ Full Usage: + List.distinctBy projection list +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function transforming the list items into comparable keys. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Returns a list 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 list then the later occurrences are discarded. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function transforming the list items into comparable keys. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 let isEven x = 0 = x % 2
+
+ let input = [6;1;2;3;1;4;5;5]
+
+ input |> List.distinctBy isEven  // evaluates [6; 1]
+
+
val isEven: x: int -> bool
+
val x: int
+
val input: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val distinctBy: projection: ('T -> 'Key) -> list: 'T list -> 'T list (requires equality)
+ + +

+
+
+
+ +

+ + + List.empty + + +

+
+
+
+ Full Usage: + List.empty +
+
+ + Returns: + 'T list + +
+
+
+
+
+
+ +
+
+

+ Returns an empty list of the given type. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T list +
+
+
+
+
+
+ +

+ + + List.exactlyOne list + + +

+
+
+
+ Full Usage: + List.exactlyOne list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + The only element of the list. +
+
+
+
+
+
+ +
+
+

+ Returns the only element of the list. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The only element of the list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input does not have precisely one element. +
+
+ Example +
+

+

 ["the chosen one"] |> List.exactlyOne // evaluates "the chosen one"
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val exactlyOne: list: 'T list -> 'T
+ + +

+
+ Example +
+

+

 let input : string list = []
+
+ input |> List.exactlyOne
+
+
val input: string list
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
type 'T list = List<'T>
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val exactlyOne: list: 'T list -> 'T
+ + + Will throw the exception: System.ArgumentException: The input sequence was empty +

+
+ Example +
+

+

 [1..5] |> List.exactlyOne
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val exactlyOne: list: 'T list -> 'T
+ + + Will throw the exception: System.ArgumentException: The input sequence contains more than one element +

+
+
+
+ +

+ + + List.except itemsToExclude list + + +

+
+
+
+ Full Usage: + List.except itemsToExclude list +
+
+ Parameters: +
    + + + itemsToExclude + + : + 'T seq + - + A sequence whose elements that also occur in the input list will cause those elements to be + removed from the result. + +
    + + + list + + : + 'T list + - + A list whose elements that are not also in itemsToExclude will be returned. + +
    +
+
+ + Returns: + 'T list + + A list that contains the distinct elements of list that do not appear in itemsToExclude. +
+
+
+
+
+
+ +
+
+

+ Returns a new list with the distinct elements of the input list which do not appear in the itemsToExclude sequence, + using generic hash and equality comparisons to compare values. +

+
+
+ + + + + +
+
+
+
+
+ + itemsToExclude + + : + 'T seq +
+
+

+ A sequence whose elements that also occur in the input list will cause those elements to be + removed from the result. +

+
+
+ + list + + : + 'T list +
+
+

+ A list whose elements that are not also in itemsToExclude will be returned. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ A list that contains the distinct elements of list that do not appear in itemsToExclude. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when itemsToExclude is null. +
+
+ Example +
+

+

 let input = [1, "Kirk"; 2, "Spock"; 3, "Kenobi"] 
+
+ input |> List.except [3, "Kenobi"]
+
+
val input: (int * string) list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val except: itemsToExclude: 'T seq -> list: 'T list -> 'T list (requires equality)
+ + + Evaluates to [(1, "Kirk"); (2, "Spock")]. + +

+
+ Example +
+

+

 [0..10] |> List.except [1..5]  // evaluates [0; 6; 7; 8; 9; 10]
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val except: itemsToExclude: 'T seq -> list: 'T list -> 'T list (requires equality)
+ + +

+
+ Example +
+

+

 [1..5] |> List.except [0..10]  // evaluates []
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val except: itemsToExclude: 'T seq -> list: 'T list -> 'T list (requires equality)
+ + +

+
+
+
+ +

+ + + List.exists predicate list + + +

+
+
+
+ Full Usage: + List.exists predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + bool + + True if any element satisfies 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. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if any element satisfies the predicate. +

+
+
+
+ Example +
+

+

 let input = [1, "Kirk"; 2, "Spock"; 3, "Kenobi"] 
+ 
+ input |> List.exists (fun x -> x = (3, "Kenobi"))  // evaluates true
+ 
+ input |> List.exists (fun (n, name) -> n > 5)      // evaluates false
+
+
val input: (int * string) list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val exists: predicate: ('T -> bool) -> list: 'T list -> bool
+
val x: int * string
+
val n: int
+
val name: string
+ + +

+
+
+
+ +

+ + + List.exists2 predicate list1 list2 + + +

+
+
+
+ Full Usage: + List.exists2 predicate list1 list2 +
+
+ Parameters: +
    + + + predicate + + : + 'T1 -> 'T2 -> bool + - + The function to test the input elements. + +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    +
+
+ + Returns: + bool + + True if any pair of elements satisfy 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 ArgumentException exception is raised. + Otherwise, false is returned. +

+
+
+ + predicate + + : + 'T1 -> 'T2 -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if any pair of elements satisfy the predicate. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input lists differ in length. +
+
+ Example +
+

+ Check if the sum of pairs (from 2 different lists) have at least one even number +

 let anEvenSum a b  = 0 = (a + b) % 2
+ 
+ ([1..4], [2..5]) 
+ ||> List.exists2 anEvenSum     // evaluates false
+ 
+ ([1..4], [2;4;5;6])
+ ||> List.exists2 anEvenSum   // evaluates true
+
+
val anEvenSum: a: int -> b: int -> bool
+
val a: int
+
val b: int
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val exists2: predicate: ('T1 -> 'T2 -> bool) -> list1: 'T1 list -> list2: 'T2 list -> bool
+ + +

+
+
+
+ +

+ + + List.filter predicate list + + +

+
+
+
+ Full Usage: + List.filter predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + A list containing only the elements that satisfy the predicate. +
+
+
+
+
+
+ +
+
+

+ Returns a new collection containing only the elements of the collection + for which the given predicate returns "true" +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ A list containing only the elements that satisfy the predicate. +

+
+
+
+ Example +
+

+

 let input = [1, "Luke"; 2, "Kirk"; 3, "Kenobi"; 4, "Spock"]
+
+ let isEven x = 0 = x % 2
+
+ let isComingFromStarTrek (x,_) = isEven x
+ 
+ input |> List.filter isComingFromStarTrek
+
+
val input: (int * string) list
+
val isEven: x: int -> bool
+
val x: int
+
val isComingFromStarTrek: x: int * 'a -> bool
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val filter: predicate: ('T -> bool) -> list: 'T list -> 'T list
+ + + Evaluates to [(2, "Kirk"); (4, "Spock")] +

+
+
+
+ +

+ + + List.find predicate list + + +

+
+
+
+ Full Usage: + List.find predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The first element that satisfies the predicate. +

+
+
+ + + + + +
+ + KeyNotFoundException + + + Thrown if the predicate evaluates to false for + all the elements of the list. +
+
+ Example +
+

+

 let isEven x  = 0 = x % 2
+
+ let isGreaterThan x y = y > x
+
+ let input = [1, "Luke"; 2, "Kirk"; 3, "Spock"; 4, "Kenobi"]
+ 
+ input |> List.find (fun (x,_) -> isEven x)              // evaluates (2, "Kirk")
+ input |> List.find (fun (x,_) -> x |> isGreaterThan 6)  // raises an exception
+
+
val isEven: x: int -> bool
+
val x: int
+
val isGreaterThan: x: 'a -> y: 'a -> bool (requires comparison)
+
val x: 'a (requires comparison)
+
val y: 'a (requires comparison)
+
val input: (int * string) list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val find: predicate: ('T -> bool) -> list: 'T list -> 'T
+ + +

+
+
+
+ +

+ + + List.findBack predicate list + + +

+
+
+
+ Full Usage: + List.findBack predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + The last element that satisfies the predicate. +
+
+
+
+
+
+ +
+
+

+ Returns the last element for which the given function returns True. + Raises KeyNotFoundException if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The last element that satisfies the predicate. +

+
+
+ + + + + +
+ + KeyNotFoundException + + + Thrown if the predicate evaluates to false for + all the elements of the list. +
+
+ Example +
+

+

 let isEven x  = 0 = x % 2
+
+ let isGreaterThan x y = y > x
+
+ let input = [1, "Luke"; 2, "Kirk"; 3, "Spock"; 4, "Kenobi"]
+ 
+ input |> List.findBack (fun (x,_) -> isEven x)              // evaluates (4, "Kenobi")
+ input |> List.findBack (fun (x,_) -> x |> isGreaterThan 6)  // raises an exception
+
+
val isEven: x: int -> bool
+
val x: int
+
val isGreaterThan: x: 'a -> y: 'a -> bool (requires comparison)
+
val x: 'a (requires comparison)
+
val y: 'a (requires comparison)
+
val input: (int * string) list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val findBack: predicate: ('T -> bool) -> list: 'T list -> 'T
+ + +

+
+
+
+ +

+ + + List.findIndex predicate list + + +

+
+
+
+ Full Usage: + List.findIndex predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + int + + The index of the first element that satisfies the predicate. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the first element in the list + that satisfies the given predicate. + Raises KeyNotFoundException if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The index of the first element that satisfies the predicate. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown if the predicate evaluates to false for all the + elements of the list. +
+
+ Example +
+

+

 let isEven x  = 0 = x % 2
+
+ let isGreaterThan x y = y > x
+
+ let input = [1, "Luke"; 2, "Kirk"; 3, "Spock"; 4, "Kenobi"]
+ 
+ input |> List.findIndex (fun (x,_) -> isEven x)              // evaluates 1
+ input |> List.findIndex (fun (x,_) -> x |> isGreaterThan 6)  // raises an exception
+
+
val isEven: x: int -> bool
+
val x: int
+
val isGreaterThan: x: 'a -> y: 'a -> bool (requires comparison)
+
val x: 'a (requires comparison)
+
val y: 'a (requires comparison)
+
val input: (int * string) list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val findIndex: predicate: ('T -> bool) -> list: 'T list -> int
+ + +

+
+
+
+ +

+ + + List.findIndexBack predicate list + + +

+
+
+
+ Full Usage: + List.findIndexBack predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + int + + The index of the last element that satisfies the predicate. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the last element in the list + that satisfies the given predicate. + Raises KeyNotFoundException if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The index of the last element that satisfies the predicate. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown if the predicate evaluates to false for all the + elements of the list. +
+
+ Example +
+

+

 let isEven x  = 0 = x % 2
+
+ let isGreaterThan x y = y > x
+
+ let input = [1, "Luke"; 2, "Kirk"; 3, "Spock"; 4, "Kenobi"]
+ 
+ input |> List.findIndexBack (fun (x,_) -> isEven x)              // evaluates 3
+ input |> List.findIndexBack (fun (x,_) -> x |> isGreaterThan 6)  // raises an exception
+
+
val isEven: x: int -> bool
+
val x: int
+
val isGreaterThan: x: 'a -> y: 'a -> bool (requires comparison)
+
val x: 'a (requires comparison)
+
val y: 'a (requires comparison)
+
val input: (int * string) list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val findIndexBack: predicate: ('T -> bool) -> list: 'T list -> int
+ + +

+
+
+
+ +

+ + + List.fold folder state list + + +

+
+
+
+ Full Usage: + List.fold folder state list +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T -> 'State + - + The function to update the state given the input elements. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'State + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state value. +

+
+
+
+ Example +
+

+ Making the sum of squares for the first 5 natural numbers +

 (0, [1..5]) ||> List.fold (fun s v -> s + v * v)  // evaluates 55
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val fold<'T,'State> : folder: ('State -> 'T -> 'State) -> state: 'State -> list: 'T list -> 'State
+
val s: int
+
val v: int
+ + +

+
+ Example +
+

+ Shopping for fruits hungry, you tend to take more of each as the hunger grows +

 type Fruit = Apple | Pear | Orange
+
+ type BagItem = { fruit: Fruit; quantity: int }
+
+ let takeMore (previous: BagItem list) fruit = 
+     let toTakeThisTime = 
+         match previous with 
+         | bagItem :: otherBagItems -> bagItem.quantity + 1 
+         | [] -> 1 
+     { fruit = fruit; quantity = toTakeThisTime } :: previous
+
+ let inputs = [ Apple; Pear; Orange ]
+ 
+ ([], inputs) ||> List.fold takeMore
+
+
type Fruit = + | Apple + | Pear + | Orange
+
type BagItem = + { + fruit: Fruit + quantity: int + }
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val takeMore: previous: BagItem list -> fruit: Fruit -> BagItem list
+
val previous: BagItem list
+
type 'T list = List<'T>
+
val fruit: Fruit
+
val toTakeThisTime: int
+
val bagItem: BagItem
+
val otherBagItems: BagItem list
+
BagItem.quantity: int
+
val inputs: Fruit list
+
union case Fruit.Apple: Fruit
+
union case Fruit.Pear: Fruit
+
union case Fruit.Orange: Fruit
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val fold<'T,'State> : folder: ('State -> 'T -> 'State) -> state: 'State -> list: 'T list -> 'State
+ + + Evaluates to +
  [{ fruit = Orange; quantity = 3 }
+   { fruit = Pear; quantity = 2 }
+   { fruit = Apple; quantity = 1 }]
+
+ + +

+
+
+
+ +

+ + + List.fold2 folder state list1 list2 + + +

+
+
+
+ Full Usage: + List.fold2 folder state list1 list2 +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T1 -> 'T2 -> 'State + - + The function to update the state given the input elements. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    +
+
+ + Returns: + '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. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T1 -> 'T2 -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state value. +

+
+
+
+ Example +
+

+

Count the number of times the coins match:
+ type CoinToss = Head | Tails
+
+ let inputs1 = [Tails; Head; Tails]
+ let inputs2 = [Tails; Head; Head]
+
+ (0, inputs1, inputs2) |||> List.fold2 (fun acc input1 input2 ->
+     match (input1, input2) with
+     | Head, Head -> acc + 1
+     | Tails, Tails -> acc + 1
+     | _ -> acc)
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val fold2<'T1,'T2,'State> : folder: ('State -> 'T1 -> 'T2 -> 'State) -> state: 'State -> list1: 'T1 list -> list2: 'T2 list -> 'State
+ + + Evaluates to 2. Note acc is a commonly used abbreviation for "accumulator". + +

+
+
+
+ +

+ + + List.foldBack folder list state + + +

+
+
+
+ Full Usage: + List.foldBack folder list state +
+
+ Parameters: +
    + + + folder + + : + 'T -> 'State -> 'State + - + The function to update the state given the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State + + The state object after the folding function is applied to each element of the list. +
+
+
+
+
+
+ +
+
+

+ Applies a function to each element of the collection, starting from the end, 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)). +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'T -> 'State -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The state object after the folding function is applied to each element of the list. +

+
+
+
+ Example +
+

+ Making the sum of squares for the first 5 natural numbers +

 ([1..5], 0) ||> List.foldBack (fun v acc -> acc + v * v)  // evaluates 55
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val foldBack: folder: ('T -> 'State -> 'State) -> list: 'T list -> state: 'State -> 'State
+
val v: int
+
val acc: int
+ + + Note acc is a commonly used abbreviation for "accumulator". + +

+
+ Example +
+

+ Shopping for fruits hungry, you tend to take more of each as the hunger grows +

 type Fruit = Apple | Pear | Orange
+
+ type BagItem = { fruit: Fruit; quantity: int }
+
+ let takeMore fruit (previous: BagItem list) =
+     let toTakeThisTime = 
+         match previous with 
+         | bagItem :: otherBagItems -> bagItem.quantity + 1 
+         | [] -> 1 
+     { fruit = fruit; quantity = toTakeThisTime } :: previous
+
+ let input = [ Apple; Pear; Orange ]
+ 
+ (input, []) ||> List.foldBack takeMore
+
+
type Fruit = + | Apple + | Pear + | Orange
+
type BagItem = + { + fruit: Fruit + quantity: int + }
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val takeMore: fruit: Fruit -> previous: BagItem list -> BagItem list
+
val fruit: Fruit
+
val previous: BagItem list
+
type 'T list = List<'T>
+
val toTakeThisTime: int
+
val bagItem: BagItem
+
val otherBagItems: BagItem list
+
BagItem.quantity: int
+
val input: Fruit list
+
union case Fruit.Apple: Fruit
+
union case Fruit.Pear: Fruit
+
union case Fruit.Orange: Fruit
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val foldBack: folder: ('T -> 'State -> 'State) -> list: 'T list -> state: 'State -> 'State
+ + + Evaluates to +
  [{ fruit = Apple; quantity = 3 }
+   { fruit = Pear; quantity = 2 }
+   { fruit = Orange; quantity = 1 }]
+
+ + +

+
+
+
+ +

+ + + List.foldBack2 folder list1 list2 state + + +

+
+
+
+ Full Usage: + List.foldBack2 folder list1 list2 state +
+
+ Parameters: +
    + + + folder + + : + 'T1 -> 'T2 -> 'State -> 'State + - + The function to update the state given the input elements. + +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + '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 i0 j0 (...(f iN jN s)). +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'T1 -> 'T2 -> 'State -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state value. +

+
+
+
+ Example +
+

+

Count the positives, negatives and accumulate some text from back to front:
+ type Count =
+   { Positive: int
+     Negative: int
+     Text: string }
+
+ let inputs1 = [ -1; -2; -3 ]
+ let inputs2 = [ 3; 2; 1 ]
+ let initialState = {Positive = 0; Negative = 0; Text = ""}
+
+ (inputs1, inputs2, initialState) |||> List.foldBack2 (fun a b acc  ->
+     let text = acc.Text + "(" + string a + "," + string b + ") "
+     if a + b >= 0 then
+         { acc with
+             Positive = acc.Positive + 1
+             Text = text }
+     else
+         { acc with
+             Negative = acc.Negative + 1
+             Text = text }
+ )
+
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
namespace Microsoft.FSharp.Text
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val foldBack2: folder: ('T1 -> 'T2 -> 'State -> 'State) -> list1: 'T1 list -> list2: 'T2 list -> state: 'State -> 'State
+ + + Evaluates to +
 { Positive = 2
+   Negative = 1
+   Text = "(-3,1) (-2,2) (-1,3) " }
+
+
namespace Microsoft.FSharp.Text
+ + + Note acc is a commonly used abbreviation for "accumulator". + +

+
+
+
+ +

+ + + List.forall predicate list + + +

+
+
+
+ Full Usage: + List.forall predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + bool + + True if all of the 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. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if all of the elements satisfy the predicate. +

+
+
+
+ Example +
+

+

 let isEven a = a % 2 = 0
+
+ [2; 42] |> List.forall isEven // evaluates to true
+
+ [1; 2] |> List.forall isEven // evaluates to false
+
+
val isEven: a: int -> bool
+
val a: int
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val forall: predicate: ('T -> bool) -> list: 'T list -> bool
+ + +

+
+
+
+ +

+ + + List.forall2 predicate list1 list2 + + +

+
+
+
+ Full Usage: + List.forall2 predicate list1 list2 +
+
+ Parameters: +
    + + + predicate + + : + 'T1 -> 'T2 -> bool + - + The function to test the input elements. + +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    +
+
+ + Returns: + bool + + True if all of the pairs of elements satisfy the predicate. +
+
+
+
+
+
+ +
+
+

+ 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 ArgumentException exception is raised. + Otherwise, true is returned. +

+
+
+ + predicate + + : + 'T1 -> 'T2 -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if all of the pairs of elements satisfy the predicate. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input lists differ in length. +
+
+ Example +
+

+

 let inputs1 = [1; 2; 3]
+ let inputs2 = [1; 2; 3]
+
+ (inputs1, inputs2) ||> List.forall2 (=)
+
+
val inputs1: int list
+
val inputs2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val forall2: predicate: ('T1 -> 'T2 -> bool) -> list1: 'T1 list -> list2: 'T2 list -> bool
+ + + Evaluates to true. + +

+
+ Example +
+

+

 let items1 = [2017; 1; 1]
+ let items2 = [2019; 19; 8]
+
+ (items1, items2) ||> List.forall2 (=)
+
+
val items1: int list
+
val items2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val forall2: predicate: ('T1 -> 'T2 -> bool) -> list1: 'T1 list -> list2: 'T2 list -> bool
+ + + Evaluates to false. + +

+
+ Example +
+

+

 let items1 = [1; 2; 3]
+ let items2 = [1; 2]
+
+ (items1, items2) ||> List.forall2 (=)
+
+
val items1: int list
+
val items2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val forall2: predicate: ('T1 -> 'T2 -> bool) -> list1: 'T1 list -> list2: 'T2 list -> bool
+ + + Throws ArgumentException. + +

+
+
+
+ +

+ + + List.groupBy projection list + + +

+
+
+
+ Full Usage: + List.groupBy projection list +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function that transforms an element of the list into a comparable key. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + ('Key * 'T list) list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Applies a key-generating function to each element of a list and yields a list of + unique keys. Each unique key contains a list of all elements that match + to this key. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function that transforms an element of the list into a comparable key. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + ('Key * 'T list) list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> List.groupBy (fun n -> n % 2)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val groupBy: projection: ('T -> 'Key) -> list: 'T list -> ('Key * 'T list) list (requires equality)
+
val n: int
+ + + Evaluates to [(1, [1; 3; 5]); (0, [2; 4])] +

+
+
+
+ +

+ + + List.head list + + +

+
+
+
+ Full Usage: + List.head list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + The first element of the list. +
+
+
+
+
+
+ +
+
+

+ Returns the first element of the list. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The first element of the list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the list is empty. +
+
+ Example +
+

+

 let inputs = ["banana"; "pear"]
+
+ inputs |> List.head
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val head: list: 'T list -> 'T
+ + + Evaluates to banana +

+
+ Example +
+

+

 [] |> List.head
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val head: list: 'T list -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + List.indexed list + + +

+
+
+
+ Full Usage: + List.indexed list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + (int * 'T) list + + The list of indexed elements. +
+
+
+
+
+
+ +
+
+

+ Returns a new list whose elements are the corresponding elements + of the input list paired with the index (from 0) of each element. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + (int * 'T) list +
+
+

+ The list of indexed elements. +

+
+
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"]
+
+ inputs |> List.indexed
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val indexed: list: 'T list -> (int * 'T) list
+ + + Evaluates to [(0, "a"); (1, "b"); (2, "c")] +

+
+
+
+ +

+ + + List.init length initializer + + +

+
+
+
+ Full Usage: + List.init length initializer +
+
+ Parameters: +
    + + + length + + : + int + - + The length of the list to generate. + +
    + + + initializer + + : + int -> 'T + - + The function to generate an element from an index. + +
    +
+
+ + Returns: + 'T list + + The list of generated elements. +
+
+
+
+
+
+ +
+
+

+ Creates a list by calling the given generator on each index. +

+
+
+ + + + + +
+
+
+
+
+ + length + + : + int +
+
+

+ The length of the list to generate. +

+
+
+ + initializer + + : + int -> 'T +
+
+

+ The function to generate an element from an index. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The list of generated elements. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input length is negative. +
+
+ Example +
+

+

 List.init 4 (fun v -> v + 5)
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val init: length: int -> initializer: (int -> 'T) -> 'T list
+
val v: int
+ + + Evaluates to [5; 6; 7; 8] +

+
+ Example +
+

+

 List.init -5 (fun v -> v + 5)
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val init: length: int -> initializer: (int -> 'T) -> 'T list
+
val v: int
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + List.insertAt index value source + + +

+
+
+
+ Full Usage: + List.insertAt index value source +
+
+ Parameters: +
    + + + index + + : + int + - + The index where the item should be inserted. + +
    + + + value + + : + 'T + - + The value to insert. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Return a new list with a new item inserted before the given index. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index where the item should be inserted. +

+
+
+ + value + + : + 'T +
+
+

+ The value to insert. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is below 0 or greater than source.Length. +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2 ]
+
+ inputs |> List.insertAt 1 9
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val insertAt: index: int -> value: 'T -> source: 'T list -> 'T list
+ + + Evaluates to [ 0; 9; 1; 2 ]. + +

+
+
+
+ +

+ + + List.insertManyAt index values source + + +

+
+
+
+ Full Usage: + List.insertManyAt index values source +
+
+ Parameters: +
    + + + index + + : + int + - + The index where the items should be inserted. + +
    + + + values + + : + 'T seq + - + The values to insert. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Return a new list with new items inserted before the given index. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index where the items should be inserted. +

+
+
+ + values + + : + 'T seq +
+
+

+ The values to insert. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is below 0 or greater than source.Length. +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2 ]
+
+ inputs |> List.insertManyAt 1 [ 8; 9 ]
+ Evaluates to [ 0; 8; 9; 1; 2 ].
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val insertManyAt: index: int -> values: 'T seq -> source: 'T list -> 'T list
+ + +

+
+
+
+ +

+ + + List.isEmpty list + + +

+
+
+
+ Full Usage: + List.isEmpty list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + bool + + True if the list is empty. +
+
+
+
+
+
+ +
+
+

+ Returns true if the list contains no elements, false otherwise. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the list is empty. +

+
+
+
+ Example +
+

+

 [ ] |> List.isEmpty
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val isEmpty: list: 'T list -> bool
+ + + Evaluates to true +

+
+ Example +
+

+

 [ "pear"; "banana" ] |> List.isEmpty
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val isEmpty: list: 'T list -> bool
+ + + Evaluates to false +

+
+
+
+ +

+ + + List.item index list + + +

+
+
+
+ Full Usage: + List.item index list +
+
+ Parameters: +
    + + + index + + : + int + - + The index to retrieve. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + The value at the given index. +
+
+
+
+
+
+ +
+
+

+ Indexes into the list. The first element has index 0. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index to retrieve. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value at the given index. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the index is negative or the input list does not contain enough elements. +
+
+ Example +
+

+

 let inputs = [ "a"; "b"; "c" ]
+
+ inputs |> List.item 1
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val item: index: int -> list: 'T list -> 'T
+ + + Evaluates to "b" +

+
+ Example +
+

+

 let inputs = [ "a"; "b"; "c" ]
+
+ inputs |> List.item 4
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val item: index: int -> list: 'T list -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + List.iter action list + + +

+
+
+
+ Full Usage: + List.iter action list +
+
+ Parameters: +
    + + + action + + : + 'T -> unit + - + The function to apply to elements from the input list. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the collection. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T -> unit +
+
+

+ The function to apply to elements from the input list. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+ Example +
+

+

 let inputs = [ "a"; "b"; "c" ]
+
+ inputs |> List.iter (printfn "%s")
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val iter: action: ('T -> unit) -> list: 'T list -> unit
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 a
+ b
+ c
+
+ + + in the console. + +

+
+
+
+ +

+ + + List.iter2 action list1 list2 + + +

+
+
+
+ Full Usage: + List.iter2 action list1 list2 +
+
+ Parameters: +
    + + + action + + : + 'T1 -> 'T2 -> unit + - + The function to apply to pairs of elements from the input lists. + +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to two collections simultaneously. The + collections must have identical sizes. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T1 -> 'T2 -> unit +
+
+

+ The function to apply to pairs of elements from the input lists. +

+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+
+ Example +
+

+

 let inputs1 = [ "a"; "b"; "c" ]
+ let inputs2 = [ 1; 2; 3 ]
+
+ (inputs1, inputs2) ||> List.iter2 (printfn "%s: %i")
+
+
val inputs1: string list
+
val inputs2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val iter2: action: ('T1 -> 'T2 -> unit) -> list1: 'T1 list -> list2: 'T2 list -> unit
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 a: 1
+ b: 2
+ c: 3
+
+ + + in the console. + +

+
+
+
+ +

+ + + List.iteri action list + + +

+
+
+
+ Full Usage: + List.iteri action list +
+
+ Parameters: +
    + + + action + + : + int -> 'T -> unit + - + The function to apply to the elements of the list along with their index. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the collection. The integer passed to the + function indicates the index of the element. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + int -> 'T -> unit +
+
+

+ The function to apply to the elements of the list along with their index. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+ Example +
+

+

 let inputs = [ "a"; "b"; "c" ]
+
+ inputs |> List.iteri (fun i v -> printfn "{i}: {v}")
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val iteri: action: (int -> 'T -> unit) -> list: 'T list -> unit
+
val i: int
+
val v: string
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 0: a
+ 1: b
+ 2: c
+
+ + + in the console. + +

+
+
+
+ +

+ + + List.iteri2 action list1 list2 + + +

+
+
+
+ Full Usage: + List.iteri2 action list1 list2 +
+
+ Parameters: +
    + + + action + + : + int -> 'T1 -> 'T2 -> unit + - + The function to apply to a pair of elements from the input lists along with their index. + +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to two collections simultaneously. The + collections must have identical sizes. The integer passed to the + function indicates the index of the element. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + int -> 'T1 -> 'T2 -> unit +
+
+

+ The function to apply to a pair of elements from the input lists along with their index. +

+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+
+ Example +
+

+

 let inputs1 = [ "a"; "b"; "c" ]
+ let inputs2 = [ "banana"; "pear"; "apple" ]
+
+ (inputs1, inputs2) ||> List.iteri2 (fun i s1 s2 -> printfn "Index %d: %s - %s" i s1 s2)
+
+
val inputs1: string list
+
val inputs2: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val iteri2: action: (int -> 'T1 -> 'T2 -> unit) -> list1: 'T1 list -> list2: 'T2 list -> unit
+
val i: int
+
val s1: string
+
val s2: string
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 Index 0: a - banana
+ Index 1: b - pear
+ Index 2: c - apple
+
+ + + in the console. + +

+
+
+
+ +

+ + + List.last list + + +

+
+
+
+ Full Usage: + List.last list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + The last element of the list. +
+
+
+
+
+
+ +
+
+

+ Returns the last element of the list. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The last element of the list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input does not have any elements. +
+
+ Example +
+

+

 [ "pear"; "banana" ] |> List.last
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val last: list: 'T list -> 'T
+ + + Evaluates to banana +

+
+ Example +
+

+

 [ ] |> List.last
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val last: list: 'T list -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + List.length list + + +

+
+
+
+ Full Usage: + List.length list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + int + + The length of the list. +
+
+
+
+
+
+ +
+
+

+ Returns the length of the list. +

+
+
+ + + + + +
+
+
+

+ The notation array.Length is preferred. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the list. +

+
+
+
+ Example +
+

+

 let inputs = [ "a"; "b"; "c" ]
+
+ inputs |> List.length
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val length: list: 'T list -> int
+ + + Evaluates to 3 +

+
+
+
+ +

+ + + List.map mapping list + + +

+
+
+
+ Full Usage: + List.map mapping list +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + The function to transform elements from the input list. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'U 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. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ The function to transform elements from the input list. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'U list +
+
+

+ The list of transformed elements. +

+
+
+
+ Example +
+

+

 let inputs = [ "a"; "bbb"; "cc" ]
+
+ inputs |> List.map (fun x -> x.Length)
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val map: mapping: ('T -> 'U) -> list: 'T list -> 'U list
+
val x: string
+
property System.String.Length: int with get
+ + + Evaluates to [ 1; 3; 2 ] +

+
+
+
+ +

+ + + List.map2 mapping list1 list2 + + +

+
+
+
+ Full Usage: + List.map2 mapping list1 list2 +
+
+ Parameters: +
    + + + mapping + + : + 'T1 -> 'T2 -> 'U + - + The function to transform pairs of elements from the input lists. + +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    +
+
+ + Returns: + 'U 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. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T1 -> 'T2 -> 'U +
+
+

+ The function to transform pairs of elements from the input lists. +

+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+
+
+ + Returns: + + 'U list +
+
+

+ The list of transformed elements. +

+
+
+
+ Example +
+

+

 let inputs1 = ["a"; "bad"; "good"]
+ let inputs2 = [0; 2; 1]
+
+ (inputs1, inputs2) ||> List.map2 (fun x y -> x.[y])
+
+
val inputs1: string list
+
val inputs2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val map2: mapping: ('T1 -> 'T2 -> 'U) -> list1: 'T1 list -> list2: 'T2 list -> 'U list
+
val x: string
+
val y: int
+ + + Evaluates to seq ['a'; 'd'; 'o'] +

+
+
+
+ +

+ + + List.map3 mapping list1 list2 list3 + + +

+
+
+
+ Full Usage: + List.map3 mapping list1 list2 list3 +
+
+ Parameters: +
    + + + mapping + + : + 'T1 -> 'T2 -> 'T3 -> 'U + - + The function to transform triples of elements from the input lists. + +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    + + + list3 + + : + 'T3 list + - + The third input list. + +
    +
+
+ + Returns: + 'U 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. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T1 -> 'T2 -> 'T3 -> 'U +
+
+

+ The function to transform triples of elements from the input lists. +

+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+ + list3 + + : + 'T3 list +
+
+

+ The third input list. +

+
+
+
+
+ + Returns: + + 'U list +
+
+

+ The list of transformed elements. +

+
+
+
+ Example +
+

+

 let inputs1 = [ "a"; "t"; "ti" ]
+ let inputs2 = [ "l"; "h"; "m" ]
+ let inputs3 = [ "l"; "e"; "e" ]
+
+ (inputs1, inputs2, inputs3) |||> List.map3 (fun x y z -> x + y + z)
+
+
val inputs1: string list
+
val inputs2: string list
+
val inputs3: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val map3: mapping: ('T1 -> 'T2 -> 'T3 -> 'U) -> list1: 'T1 list -> list2: 'T2 list -> list3: 'T3 list -> 'U list
+
val x: string
+
val y: string
+
val z: string
+ + + Evaluates to [ "all"; "the"; "time" ] +

+
+
+
+ +

+ + + List.mapFold mapping state list + + +

+
+
+
+ Full Usage: + List.mapFold mapping state list +
+
+ Parameters: +
    + + + mapping + + : + 'State -> 'T -> 'Result * 'State + - + The function to transform elements from the input list and accumulate the final value. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'Result list * 'State + + The list of transformed elements, and the final accumulated value. +
+
+
+
+
+
+ +
+
+

+ Combines map and fold. Builds a new list whose elements are the results of applying the given function + to each of the elements of the input list. The function is also used to accumulate a final value. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'State -> 'T -> 'Result * 'State +
+
+

+ The function to transform elements from the input list and accumulate the final value. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'Result list * 'State +
+
+

+ The list of transformed elements, and the final accumulated value. +

+
+
+
+ Example +
+

+ Accumulate the charges, and double them as well +

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = [ In 1; Out 2; In 3 ]
+
+ let newCharges, balance =
+     (0, inputs) ||> List.mapFold (fun acc charge ->
+         match charge with
+         | In i -> In (i*2), acc + i
+         | Out o -> Out (o*2), acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge list
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
val newCharges: Charge list
+
val balance: int
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val mapFold<'T,'State,'Result> : mapping: ('State -> 'T -> 'Result * 'State) -> state: 'State -> list: 'T list -> 'Result list * 'State
+
val acc: int
+
val charge: Charge
+
val i: int
+
val o: int
+ + + Evaluates newCharges to [In 2; Out 4; In 6] and balance to 2. + Note acc is a commonly used abbreviation for "accumulator". + +

+
+
+
+ +

+ + + List.mapFoldBack mapping list state + + +

+
+
+
+ Full Usage: + List.mapFoldBack mapping list state +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'State -> 'Result * 'State + - + The function to transform elements from the input list and accumulate the final value. + +
    + + + list + + : + 'T list + - + The input list. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'Result list * 'State + + The list of transformed elements, and the final accumulated value. +
+
+
+
+
+
+ +
+
+

+ Combines map and foldBack. Builds a new list whose elements are the results of applying the given function + to each of the elements of the input list. The function is also used to accumulate a final value. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'State -> 'Result * 'State +
+
+

+ The function to transform elements from the input list and accumulate the final value. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'Result list * 'State +
+
+

+ The list of transformed elements, and the final accumulated value. +

+
+
+
+ Example +
+

+ Accumulate the charges from back to front, and double them as well +

 type Charge =
+     | In of int
+     | Out of int
+
+ let charges = [ In 1; Out 2; In 3 ]
+
+ let newCharges, balance =
+     (charges, 0) ||> List.mapFoldBack (fun charge acc ->
+         match charge with
+         | In i -> In (i*2), acc + i
+         | Out o -> Out (o*2), acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val charges: Charge list
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
val newCharges: Charge list
+
val balance: int
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val mapFoldBack: mapping: ('T -> 'State -> 'Result * 'State) -> list: 'T list -> state: 'State -> 'Result list * 'State
+
val charge: Charge
+
val acc: int
+
val i: int
+
val o: int
+ + + Evaluates newCharges to [In 2; Out 4; In 6] and balance to 2. + Note acc is a commonly used abbreviation for "accumulator". + +

+
+
+
+ +

+ + + List.mapi mapping list + + +

+
+
+
+ Full Usage: + List.mapi mapping list +
+
+ Parameters: +
    + + + mapping + + : + int -> 'T -> 'U + - + The function to transform elements and their indices. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'U 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 the element being transformed. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + int -> 'T -> 'U +
+
+

+ The function to transform elements and their indices. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'U list +
+
+

+ The list of transformed elements. +

+
+
+
+ Example +
+

+

 let inputs = [ 10; 10; 10 ]
+
+ inputs |> List.mapi (fun i x -> i + x)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val mapi: mapping: (int -> 'T -> 'U) -> list: 'T list -> 'U list
+
val i: int
+
val x: int
+ + + Evaluates to [ 10; 11; 12 ] +

+
+
+
+ +

+ + + List.mapi2 mapping list1 list2 + + +

+
+
+
+ Full Usage: + List.mapi2 mapping list1 list2 +
+
+ Parameters: +
    + + + mapping + + : + int -> 'T1 -> 'T2 -> 'U + - + The function to transform pairs of elements from the two lists and their index. + +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    +
+
+ + Returns: + 'U list + + The list of transformed elements. +
+
+
+
+
+
+ +
+
+

+ Like mapi, but mapping corresponding elements from two lists of equal length. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + int -> 'T1 -> 'T2 -> 'U +
+
+

+ The function to transform pairs of elements from the two lists and their index. +

+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+
+
+ + Returns: + + 'U list +
+
+

+ The list of transformed elements. +

+
+
+
+ Example +
+

+

 let inputs1 = ["a"; "bad"; "good"]
+ let inputs2 = [0; 2; 1]
+
+ (inputs1, inputs2) ||> List.mapi2 (fun i x y -> i, x[y])
+
+
val inputs1: string list
+
val inputs2: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val mapi2: mapping: (int -> 'T1 -> 'T2 -> 'U) -> list1: 'T1 list -> list2: 'T2 list -> 'U list
+
val i: int
+
val x: string
+
val y: int
+ + + Evaluates to [(0, 'a'); (1, 'd'); (2, 'o')] +

+
+
+
+ +

+ + + List.max list + + +

+
+
+
+ Full Usage: + List.max list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + The maximum element. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Return the greatest of all elements of the list, compared via Operators.max. +

+
+
+ + + + + +
+
+
+

+ Raises ArgumentException if list is empty +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The maximum element. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the list is empty. +
+
+ Example +
+

+

 let inputs = [ 10; 12; 11 ]
+
+ inputs |> List.max
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val max: list: 'T list -> 'T (requires comparison)
+ + + Evaluates to 12 +

+
+ Example +
+

+

 let inputs = [ ]
+
+ inputs |> List.max
+
+
val inputs: 'a list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val max: list: 'T list -> 'T (requires comparison)
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + List.maxBy projection list + + +

+
+
+
+ Full Usage: + List.maxBy projection list +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'U + - + The function to transform the list elements into the type to be compared. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + The maximum element. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Returns the greatest of all elements of the list, compared via Operators.max on the function result. +

+
+
+ + + + + +
+
+
+

+ Raises ArgumentException if list is empty. +

+
+
+ + projection + + : + 'T -> 'U +
+
+

+ The function to transform the list elements into the type to be compared. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The maximum element. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the list is empty. +
+
+ Example +
+

+

 let inputs = ["aaa"; "b"; "cccc"]
+
+ inputs |> List.maxBy (fun s -> s.Length)
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val maxBy: projection: ('T -> 'U) -> list: 'T list -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to "cccc" +

+
+ Example +
+

+

 let inputs = []
+
+ inputs |> List.maxBy (fun (s: string) -> s.Length)
+
+
val inputs: 'a list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val maxBy: projection: ('T -> 'U) -> list: 'T list -> 'T (requires comparison)
+
val s: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
property System.String.Length: int with get
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + List.min list + + +

+
+
+
+ Full Usage: + List.min list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + The minimum value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns the lowest of all elements of the list, compared via Operators.min. +

+
+
+ + + + + +
+
+
+

+ Raises ArgumentException if list is empty +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The minimum value. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the list is empty. +
+
+ Example +
+

+

 let inputs = [10; 12; 11]
+
+ inputs |> List.min
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val min: list: 'T list -> 'T (requires comparison)
+ + + Evaluates to 10 +

+
+ Example +
+

+

 let inputs = []
+
+ inputs |> List.min
+
+
val inputs: 'a list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val min: list: 'T list -> 'T (requires comparison)
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + List.minBy projection list + + +

+
+
+
+ Full Usage: + List.minBy projection list +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'U + - + The function to transform list elements into the type to be compared. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + The minimum value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Returns the lowest of all elements of the list, compared via Operators.min on the function result +

+
+
+ + + + + +
+
+
+

+ Raises ArgumentException if list is empty. +

+
+
+ + projection + + : + 'T -> 'U +
+
+

+ The function to transform list elements into the type to be compared. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The minimum value. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the list is empty. +
+
+ Example +
+

+

 let inputs = ["aaa"; "b"; "cccc"]
+
+ inputs |> List.minBy (fun s -> s.Length)
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val minBy: projection: ('T -> 'U) -> list: 'T list -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to "b" +

+
+ Example +
+

+

 let inputs = []
+
+ inputs |> List.minBy (fun (s: string) -> s.Length)
+
+
val inputs: 'a list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val minBy: projection: ('T -> 'U) -> list: 'T list -> 'T (requires comparison)
+
val s: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
property System.String.Length: int with get
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + List.ofArray array + + +

+
+
+
+ Full Usage: + List.ofArray array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T list + + The list of elements from the array. +
+
+
+
+
+
+ +
+
+

+ Builds a list from the given array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The list of elements from the array. +

+
+
+
+ Example +
+

+

 let inputs = [| 1; 2; 5 |]
+
+ inputs |> List.ofArray
+
+
val inputs: int array
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val ofArray: array: 'T array -> 'T list
+ + + Evaluates to [ 1; 2; 5 ]. + +

+
+
+
+ +

+ + + List.ofSeq source + + +

+
+
+
+ Full Usage: + List.ofSeq source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T list + + The list of elements from the sequence. +
+
+
+
+
+
+ +
+
+

+ Builds a new list from the given enumerable object. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The list of elements from the sequence. +

+
+
+
+ Example +
+

+

 let inputs = seq { 1; 2; 5 }
+
+ inputs |> List.ofSeq
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val ofSeq: source: 'T seq -> 'T list
+ + + Evaluates to [ 1; 2; 5 ]. + +

+
+
+
+ +

+ + + List.pairwise list + + +

+
+
+
+ Full Usage: + List.pairwise list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + ('T * 'T) list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Returns a list of each element in the input list and its predecessor, with the + exception of the first element which is only returned as the predecessor of the second element. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + ('T * 'T) list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4]
+
+ inputs |> List.pairwise
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val pairwise: list: 'T list -> ('T * 'T) list
+ + + Evaluates to [(1, 2); (2, 3); (3, 4)]. + +

+
+
+
+ +

+ + + List.partition predicate list + + +

+
+
+
+ Full Usage: + List.partition predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list * 'T list + + A list containing the elements for which the predicate evaluated to true and a list + containing the elements for which the predicate evaluated to false. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list * 'T list +
+
+

+ A list containing the elements for which the predicate evaluated to true and a list + containing the elements for which the predicate evaluated to false. +

+
+
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4]
+
+ let evens, odds = inputs |> List.partition (fun x -> x % 2 = 0)
+
+
val inputs: int list
+
val evens: int list
+
val odds: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val partition: predicate: ('T -> bool) -> list: 'T list -> 'T list * 'T list
+
val x: int
+ + + Evaluates evens to [2; 4] and odds to [1; 3]. + +

+
+
+
+ +

+ + + List.permute indexMap list + + +

+
+
+
+ Full Usage: + List.permute indexMap list +
+
+ Parameters: +
    + + + indexMap + + : + int -> int + - + The function to map input indices to output indices. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The permuted list. +
+
+
+
+
+
+ +
+
+

+ Returns a list with all elements permuted according to the + specified permutation. +

+
+
+ + + + + +
+
+
+
+
+ + indexMap + + : + int -> int +
+
+

+ The function to map input indices to output indices. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The permuted list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when indexMap does not produce a valid permutation. +
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4]
+
+ inputs |> List.permute (fun x -> (x + 1) % 4)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val permute: indexMap: (int -> int) -> list: 'T list -> 'T list
+
val x: int
+ + + Evaluates to [4; 1; 2; 3]. + +

+
+
+
+ +

+ + + List.pick chooser list + + +

+
+
+
+ Full Usage: + List.pick chooser list +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + The function to generate options from the elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'U + + The first resulting value. +
+
+
+
+
+
+ +
+
+

+ 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 KeyNotFoundException +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ The function to generate options from the elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The first resulting value. +

+
+
+ + + + + +
+ + KeyNotFoundException + + + Thrown when the list is empty. +
+
+ Example +
+

+

 let input = [1; 2; 3]
+
+ input |> List.pick (fun n -> if n % 2 = 0 then Some (string n) else None)
+
+
val input: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val pick: chooser: ('T -> 'U option) -> list: 'T list -> 'U
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to "2". + +

+
+ Example +
+

+

 let input = [1; 2; 3]
+
+ input |> List.pick (fun n -> if n > 3 then Some (string n) else None)
+
+
val input: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val pick: chooser: ('T -> 'U option) -> list: 'T list -> 'U
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Throws KeyNotFoundException. + +

+
+
+
+ +

+ + + List.randomChoice source + + +

+
+
+
+ Full Usage: + List.randomChoice source +
+
+ Parameters: +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + A randomly selected element from the input list. +
+
+
+
+
+
+ +
+
+

+ Returns a random element from the given list. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ A randomly selected element from the input list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input list is empty. +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomChoice
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + + Can evaluate to 3. + +

+
+
+
+ +

+ + + List.randomChoiceBy randomizer source + + +

+
+
+
+ Full Usage: + List.randomChoiceBy randomizer source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + A randomly selected element from the input list. +
+
+
+
+
+
+ +
+
+

+ Returns a random element from the given list using the specified randomizer function. +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ A randomly selected element from the input list. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when the input list is empty. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a value outside the range [0, 1). +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomChoiceBy Random.Shared.NextDouble
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + + Can evaluate to 3. + +

+
+
+
+ +

+ + + List.randomChoiceWith random source + + +

+
+
+
+ Full Usage: + List.randomChoiceWith random source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + A randomly selected element from the input list. +
+
+
+
+
+
+ +
+
+

+ Returns a random element from the given list with the specified Random instance, each element can be selected multiple times. +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ A randomly selected element from the input list. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+ + ArgumentException + + + Thrown when the input list is empty. +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomChoiceWith Random.Shared
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + + Can evaluate to 3. + +

+
+
+
+ +

+ + + List.randomChoices count source + + +

+
+
+
+ Full Usage: + List.randomChoices count source +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + A list of randomly selected elements from the input list. +
+
+
+
+
+
+ +
+
+

+ Returns a list of random elements from the given list. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ A list of randomly selected elements from the input list. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when the input list is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomChoices 3
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + + Can evaluate to [ 3; 1; 3 ]. + +

+
+
+
+ +

+ + + List.randomChoicesBy randomizer count source + + +

+
+
+
+ Full Usage: + List.randomChoicesBy randomizer count source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + A list of randomly selected elements from the input list. +
+
+
+
+
+
+ +
+
+

+ Returns a list of random elements from the given list using the specified randomizer function. +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ A list of randomly selected elements from the input list. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentException + + + Thrown when the input list is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a value outside the range [0, 1). +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomChoicesBy Random.Shared.NextDouble 3
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + + Can evaluate to [ 3; 1; 3 ]. + +

+
+
+
+ +

+ + + List.randomChoicesWith random count source + + +

+
+
+
+ Full Usage: + List.randomChoicesWith random count source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + A list of randomly selected elements from the input list. +
+
+
+
+
+
+ +
+
+

+ Returns a list of random elements from the given list with the specified Random instance, each element can be selected multiple times. +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ A list of randomly selected elements from the input list. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+ + ArgumentException + + + Thrown when the input list is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> Array.randomChoicesWith Random.Shared 3
+
+
val inputs: int list
+
module Array + +from Microsoft.FSharp.Collections
+ + + Can evaluate to [ 3; 1; 3 ]. + +

+
+
+
+ +

+ + + List.randomSample count source + + +

+
+
+
+ Full Usage: + List.randomSample count source +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + A list of randomly selected elements from the input list. +
+
+
+
+
+
+ +
+
+

+ Returns a random sample of elements from the given list, each element can be selected only once. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ A list of randomly selected elements from the input list. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentException + + + Thrown when the input list is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentException + + + Thrown when count is greater than the length of the input list. +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomSample 3
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + + Can evaluate to [ 3; 1; 2 ]. + +

+
+
+
+ +

+ + + List.randomSampleBy randomizer count source + + +

+
+
+
+ Full Usage: + List.randomSampleBy randomizer count source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + A list of randomly selected elements from the input list. +
+
+
+
+
+
+ +
+
+

+ Returns a random sample of elements from the given list using the specified randomizer function, each element can be selected only once. +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ A list of randomly selected elements from the input list. +

+
+
+ + + + + + + + + + + + + + + + + +
+ + ArgumentException + + + Thrown when the input list is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentException + + + Thrown when count is greater than the length of the input list. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a value outside the range [0, 1). +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomSampleBy Random.Shared.NextDouble 3
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + + Can evaluate to [ 3; 1; 2 ]. + +

+
+
+
+ +

+ + + List.randomSampleWith random count source + + +

+
+
+
+ Full Usage: + List.randomSampleWith random count source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + A list of randomly selected elements from the input list. +
+
+
+
+
+
+ +
+
+

+ Returns a random sample of elements from the given list with the specified Random instance, each element can be selected only once. +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ A list of randomly selected elements from the input list. +

+
+
+ + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+ + ArgumentException + + + Thrown when the input list is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentException + + + Thrown when count is greater than the length of the input list. +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomSampleWith Random.Shared 3
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + + Can evaluate to [ 3; 1; 2 ]. + +

+
+
+
+ +

+ + + List.randomShuffle source + + +

+
+
+
+ Full Usage: + List.randomShuffle source +
+
+ Parameters: +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Return a new list shuffled in a random order. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomShuffle
+ Can evaluate to [ 0; 2; 4; 3; 1 ].
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + +

+
+
+
+ +

+ + + List.randomShuffleBy randomizer source + + +

+
+
+
+ Full Usage: + List.randomShuffleBy randomizer source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Return a new list shuffled in a random order using the specified randomizer function. +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+ + + + + +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a value outside the range [0, 1). +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomShuffleBy Random.Shared.NextDouble
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + + Can evaluate to [ 0; 2; 4; 3; 1 ]. + +

+
+
+
+ +

+ + + List.randomShuffleWith random source + + +

+
+
+
+ Full Usage: + List.randomShuffleWith random source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Return a new list shuffled in a random order with the specified Random instance. +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3; 4 ]
+
+ inputs |> List.randomShuffleWith Random.Shared
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+ + + Can evaluate to [ 0; 2; 4; 3; 1 ]. + +

+
+
+
+ +

+ + + List.reduce reduction list + + +

+
+
+
+ Full Usage: + List.reduce reduction list +
+
+ Parameters: +
    + + + reduction + + : + 'T -> 'T -> 'T + - + The function to reduce two list elements to a single element. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + 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 ArgumentException if list is empty +

+
+
+ + reduction + + : + 'T -> 'T -> 'T +
+
+

+ The function to reduce two list elements to a single element. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The final reduced value. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the list is empty. +
+
+ Example +
+

+

 let inputs = [1; 3; 4; 2]
+
+ inputs |> List.reduce (fun a b -> a * 10 + b)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val reduce: reduction: ('T -> 'T -> 'T) -> list: 'T list -> 'T
+
val a: int
+
val b: int
+ + + Evaluates to 1342, by computing ((1 * 10 + 3) * 10 + 4) * 10 + 2 +

+
+
+
+ +

+ + + List.reduceBack reduction list + + +

+
+
+
+ Full Usage: + List.reduceBack reduction list +
+
+ Parameters: +
    + + + reduction + + : + 'T -> 'T -> 'T + - + A function that takes in the next-to-last element of the list and the + current accumulated result to produce the next accumulated result. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T + + The final result of the reductions. +
+
+
+
+
+
+ +
+
+

+ Applies a function to each element of the collection, starting from the end, 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)). +

+
+
+ + + + + +
+
+
+
+
+ + reduction + + : + 'T -> 'T -> 'T +
+
+

+ A function that takes in the next-to-last element of the list and the + current accumulated result to produce the next accumulated result. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The final result of the reductions. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the list is empty. +
+
+ Example +
+

+

 let inputs = [1; 3; 4; 2]
+
+ inputs |> List.reduceBack (fun a b -> a + b * 10)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val reduceBack: reduction: ('T -> 'T -> 'T) -> list: 'T list -> 'T
+
val a: int
+
val b: int
+ + + Evaluates to 2431, by computing 1 + (3 + (4 + 2 * 10) * 10) * 10 +

+
+
+
+ +

+ + + List.removeAt index source + + +

+
+
+
+ Full Usage: + List.removeAt index source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of the item to be removed. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Return a new list with the item at a given index removed. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of the item to be removed. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is outside 0..source.Length - 1 +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2 ]
+
+ inputs |> List.removeAt 1
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val removeAt: index: int -> source: 'T list -> 'T list
+ + + let inputs = [ 0; 2 ] + +

+
+
+
+ +

+ + + List.removeManyAt index count source + + +

+
+
+
+ Full Usage: + List.removeManyAt index count source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of the item to be removed. + +
    + + + count + + : + int + - + The number of items to remove. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Return a new list with the number of items starting at a given index removed. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of the item to be removed. +

+
+
+ + count + + : + int +
+
+

+ The number of items to remove. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is outside 0..source.Length - count +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2; 3 ]
+
+ inputs |> List.removeManyAt 1 2
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val removeManyAt: index: int -> count: int -> source: 'T list -> 'T list
+ + + Evaluates to [ 0; 3 ]. + +

+
+
+
+ +

+ + + List.replicate count initial + + +

+
+
+
+ Full Usage: + List.replicate count initial +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to replicate. + +
    + + + initial + + : + 'T + - + The value to replicate + +
    +
+
+ + Returns: + 'T list + + The generated list. +
+
+
+
+
+
+ +
+
+

+ Creates a list by replicating the given initial value. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to replicate. +

+
+
+ + initial + + : + 'T +
+
+

+ The value to replicate +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The generated list. +

+
+
+
+ Example +
+

+

 List.replicate 3 "a"
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val replicate: count: int -> initial: 'T -> 'T list
+ + + Evaluates to [ "a"; "a"; "a" ]. + +

+
+
+
+ +

+ + + List.rev list + + +

+
+
+
+ Full Usage: + List.rev list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The reversed list. +
+
+
+
+
+
+ +
+
+

+ Returns a new list with the elements in reverse order. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The reversed list. +

+
+
+
+ Example +
+

+

 let inputs = [ 0; 1; 2 ]
+
+ inputs |> List.rev
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val rev: list: 'T list -> 'T list
+ + + Evaluates to [ 2; 1; 0 ]. + +

+
+
+
+ +

+ + + List.scan folder state list + + +

+
+
+
+ Full Usage: + List.scan folder state list +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T -> 'State + - + The function to update the state given the input elements. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'State list + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'State list +
+
+

+ The list of states. +

+
+
+
+ Example +
+

+ Apply a list charges and collect the running balances as each is applied: +

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = [In 1; Out 2; In 3]
+
+ (0, inputs) ||> List.scan (fun acc charge ->
+     match charge with
+     | In i -> acc + i
+     | Out o -> acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge list
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val scan<'T,'State> : folder: ('State -> 'T -> 'State) -> state: 'State -> list: 'T list -> 'State list
+
val acc: int
+
val charge: Charge
+
val i: int
+
val o: int
+ + + Evaluates to [0; 1; -1; 2]. Note 0 is the initial + state, 1 the next state, -1 the next state, and 2 the final state. + Note acc is a commonly used abbreviation for "accumulator". + +

+
+
+
+ +

+ + + List.scanBack folder list state + + +

+
+
+
+ Full Usage: + List.scanBack folder list state +
+
+ Parameters: +
    + + + folder + + : + 'T -> 'State -> 'State + - + The function to update the state given the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State list + + The list of states. +
+
+
+
+
+
+ +
+
+

+ Like foldBack, but returns both the intermediary and final results +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'T -> 'State -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State list +
+
+

+ The list of states. +

+
+
+
+ Example +
+

+ Apply a list charges from back to front, and collect the running balances as each is applied: +

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = [ In 1; Out 2; In 3 ]
+
+ (inputs, 0) ||> List.scanBack (fun charge acc ->
+     match charge with
+     | In i -> acc + i
+     | Out o -> acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge list
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val scanBack: folder: ('T -> 'State -> 'State) -> list: 'T list -> state: 'State -> 'State list
+
val charge: Charge
+
val acc: int
+
val i: int
+
val o: int
+ + + Evaluates to [2; 1; 3; 0] by processing each input from back to front. Note 0 is the initial + state, 3 the next state, 1 the next state, and 2 the final state, and the states + are produced from back to front. + Note acc is a commonly used abbreviation for "accumulator". + +

+
+
+
+ +

+ + + List.singleton value + + +

+
+
+
+ Full Usage: + List.singleton value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The input item. + +
    +
+
+ + Returns: + 'T list + + The result list of one item. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns a list that contains one item only. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The input item. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list of one item. +

+
+
+
+ Example +
+

+

 List.singleton 7
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val singleton: value: 'T -> 'T list
+ + + Evaluates to [ 7 ]. + +

+
+
+
+ +

+ + List.skip count list + + +

+
+
+
+ Full Usage: + List.skip count list +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to skip. If the number is 0 or negative the input list is returned. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The list after removing the first N elements. +
+
+
+
+
+
+ +
+
+

+ Returns the list after removing the first N elements. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to skip. If the number is 0 or negative the input list is returned. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The list after removing the first N elements. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when count exceeds the number of + elements in the list. +
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> List.skip 2
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val skip: count: int -> list: 'T list -> 'T list
+ + + Evaluates to ["c"; "d"] +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> List.skip 5
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val skip: count: int -> list: 'T list -> 'T list
+ + + Throws ArgumentException. + +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> List.skip -1
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val skip: count: int -> list: 'T list -> 'T list
+ + + Evaluates to ["a"; "b"; "c"; "d"]. + +

+
+
+
+ +

+ + + List.skipWhile predicate list + + +

+
+
+
+ Full Usage: + List.skipWhile predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates an element of the list to a boolean value. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Bypasses elements in a list while the given predicate returns True, and then returns + the remaining elements of the list. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates an element of the list to a boolean value. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 let inputs = ["a"; "bbb"; "cc"; "d"]
+
+ inputs |> List.skipWhile (fun x -> x.Length < 3)
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val skipWhile: predicate: ('T -> bool) -> list: 'T list -> 'T list
+
val x: string
+
property System.String.Length: int with get
+ + + Evaluates to ["bbb"; "cc"; "d"] +

+
+
+
+ +

+ + + List.sort list + + +

+
+
+
+ Full Usage: + List.sort list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The sorted list. +
+
+
+
+
+
+ +
+
+

+ Sorts the given list using Operators.compare. +

+
+
+ + + + + +
+
+
+

+ This is a stable sort, i.e. the original order of equal elements is preserved. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The sorted list. +

+
+
+
+ Example +
+

+

 let input = [8; 4; 3; 1; 6; 1]
+
+ List.sort input
+
+
val input: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val sort: list: 'T list -> 'T list (requires comparison)
+ + + Evaluates to [1; 1 3; 4; 6; 8]. + +

+
+
+
+ +

+ + + List.sortBy projection list + + +

+
+
+
+ Full Usage: + List.sortBy projection list +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + The function to transform the list elements into the type to be compared. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ The function to transform the list elements into the type to be compared. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The sorted list. +

+
+
+
+ Example +
+

+

 let input = [ "a"; "bbb"; "cccc"; "dd" ]
+
+ input |> List.sortBy (fun s -> s.Length)
+
+
val input: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val sortBy: projection: ('T -> 'Key) -> list: 'T list -> 'T list (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to ["a"; "dd"; "bbb"; "cccc"]. + +

+
+
+
+ +

+ + + List.sortByDescending projection list + + +

+
+
+
+ Full Usage: + List.sortByDescending projection list +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + The function to transform the list elements into the type to be compared. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The sorted list. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Key +
+
+
+
+
+ +
+
+

+ Sorts the given list in descending order 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ The function to transform the list elements into the type to be compared. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The sorted list. +

+
+
+
+ Example +
+

+

 let input = ["a"; "bbb"; "cccc"; "dd"]
+
+ input |> List.sortByDescending (fun s -> s.Length)
+
+
val input: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val sortByDescending: projection: ('T -> 'Key) -> list: 'T list -> 'T list (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to ["cccc"; "bbb"; "dd"; "a"]. + +

+
+
+
+ +

+ + + List.sortDescending list + + +

+
+
+
+ Full Usage: + List.sortDescending list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The sorted list. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sorts the given list in descending order using Operators.compare. +

+
+
+ + + + + +
+
+
+

+ This is a stable sort, i.e. the original order of equal elements is preserved. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The sorted list. +

+
+
+
+ Example +
+

+

 let input = [8; 4; 3; 1; 6; 1]
+
+ input |> List.sortDescending
+
+
val input: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val sortDescending: list: 'T list -> 'T list (requires comparison)
+ + + Evaluates to [8; 6; 4; 3; 1; 1]. + +

+
+
+
+ +

+ + + List.sortWith comparer list + + +

+
+
+
+ Full Usage: + List.sortWith comparer list +
+
+ Parameters: +
    + + + comparer + + : + 'T -> 'T -> int + - + The function to compare the list elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T 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. +

+
+
+ + comparer + + : + 'T -> 'T -> int +
+
+

+ The function to compare the list elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The sorted list. +

+
+
+
+ Example +
+

+ Sort a list of pairs using a comparison function that compares string lengths then index numbers: +

 let compareEntries (n1: int, s1: string) (n2: int, s2: string) =
+     let c = compare s1.Length s2.Length
+     if c <> 0 then c else
+     compare n1 n2
+
+ let input = [ (0,"aa"); (1,"bbb"); (2,"cc"); (3,"dd") ]
+
+ input |> List.sortWith compareEntries
+
+
val compareEntries: n1: int * s1: string -> n2: int * s2: string -> int
+
val n1: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val s1: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val n2: int
+
val s2: string
+
val c: int
+
val compare: e1: 'T -> e2: 'T -> int (requires comparison)
+
property System.String.Length: int with get
+
val input: (int * string) list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val sortWith: comparer: ('T -> 'T -> int) -> list: 'T list -> 'T list
+ + + Evaluates to [(0, "aa"); (2, "cc"); (3, "dd"); (1, "bbb")]. + +

+
+
+
+ +

+ + + List.splitAt index list + + +

+
+
+
+ Full Usage: + List.splitAt index list +
+
+ Parameters: +
    + + + index + + : + int + - + The index at which the list is split. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list * 'T list + + The two split lists. +
+
+
+
+
+
+ +
+
+

+ Splits a list into two lists, at the given index. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index at which the list is split. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list * 'T list +
+
+

+ The two split lists. +

+
+
+ + + + + +
+ + InvalidOperationException + + + Thrown when split index exceeds the number of elements + in the list. +
+
+ Example +
+

+

 let input = [8; 4; 3; 1; 6; 1]
+
+ let front, back = input |> List.splitAt 3
+
+
val input: int list
+
val front: int list
+
val back: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val splitAt: index: int -> list: 'T list -> 'T list * 'T list
+ + + Evaluates front to [8; 4; 3] and back to [1; 6; 1]. + +

+
+
+
+ +

+ + + List.splitInto count list + + +

+
+
+
+ Full Usage: + List.splitInto count list +
+
+ Parameters: +
    + + + count + + : + int + - + The maximum number of chunks. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list list + + The list split into chunks. +
+
+
+
+
+
+ +
+
+

+ Splits the input list into at most count chunks. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The maximum number of chunks. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list list +
+
+

+ The list split into chunks. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when count is not positive. +
+
+ Example +
+

+

 [1..10] |> List.splitInto 2
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val splitInto: count: int -> list: 'T list -> 'T list list
+ + + Evaluates to [[1; 2; 3; 4; 5]; [6; 7; 8; 9; 10]]. + +

+
+ Example +
+

+

 [1..10] |> List.splitInto 4
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val splitInto: count: int -> list: 'T list -> 'T list list
+ + + Evaluates to [[1; 2; 3]; [4; 5; 6]; [7; 8]; [9; 10]]. + +

+
+
+
+ +

+ + + List.sum list + + +

+
+
+
+ Full Usage: + List.sum list +
+
+ Parameters: +
    + + + list + + : + ^T list + - + The input list. + +
    +
+
+ + Returns: + ^T + + The resulting sum. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Returns the sum of the elements in the list. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + ^T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The resulting sum. +

+
+
+
+ Example +
+

+

 let input = [ 1; 5; 3; 2 ]
+
+ input |> List.sum
+
+
val input: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val sum: list: 'T list -> 'T (requires member (+) and member Zero)
+ + + Evaluates to 11. + +

+
+
+
+ +

+ + + List.sumBy projection list + + +

+
+
+
+ Full Usage: + List.sumBy projection list +
+
+ Parameters: +
    + + + projection + + : + 'T -> ^U + - + The function to transform the list elements into the type to be summed. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + ^U + + The resulting sum. +
+ Modifiers: + inline +
+ Type parameters: + 'T, ^U +
+
+
+
+
+ +
+
+

+ Returns the sum of the results generated by applying the function to each element of the list. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> ^U +
+
+

+ The function to transform the list elements into the type to be summed. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + ^U +
+
+

+ The resulting sum. +

+
+
+
+ Example +
+

+

 let input = [ "aa"; "bbb"; "cc" ]
+
+ input |> List.sumBy (fun s -> s.Length)
+
+
val input: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val sumBy: projection: ('T -> 'U) -> list: 'T list -> 'U (requires member (+) and member Zero)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to 7. + +

+
+
+
+ +

+ + + List.tail list + + +

+
+
+
+ Full Usage: + List.tail list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The list after removing the first element. +
+
+
+
+
+
+ +
+
+

+ Returns the list after removing the first element. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The list after removing the first element. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the list is empty. +
+
+ Example +
+

+

 let inputs = ["a"; "bb"; "ccc"]
+
+ inputs |> List.tail
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tail: list: 'T list -> 'T list
+ + + Evaluates to ["bb"; "ccc"] +

+
+
+
+ +

+ + + List.take count list + + +

+
+
+
+ Full Usage: + List.take count list +
+
+ Parameters: +
    + + + count + + : + int + - + The number of items to take. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Returns the first N elements of the list. +

+
+
+ + + + + +
+
+
+

+ Throws InvalidOperationException + if the count exceeds the number of elements in the list. List.truncate + returns as many items as the list contains instead of throwing an exception. +

+
+
+ + count + + : + int +
+
+

+ The number of items to take. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when the input list is empty. +
+ + InvalidOperationException + + + Thrown when count exceeds the number of elements + in the list. +
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> List.take 2
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val take: count: int -> list: 'T list -> 'T list
+ + + Evaluates to ["a"; "b"] +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> List.take 6
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val take: count: int -> list: 'T list -> 'T list
+ + + Throws InvalidOperationException. + +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> List.take 0
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val take: count: int -> list: 'T list -> 'T list
+ + + Evaluates to the empty list. + +

+
+
+
+ +

+ + + List.takeWhile predicate list + + +

+
+
+
+ Full Usage: + List.takeWhile predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to false when no more items should be returned. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Returns a list that contains all elements of the original list while the + given predicate returns True, and then returns no further elements. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to false when no more items should be returned. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 let inputs = ["a"; "bb"; "ccc"; "d"]
+
+ inputs |> List.takeWhile (fun x -> x.Length < 3)
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val takeWhile: predicate: ('T -> bool) -> list: 'T list -> 'T list
+
val x: string
+
property System.String.Length: int with get
+ + + Evaluates to ["a"; "bb"] +

+
+
+
+ +

+ + + List.toArray list + + +

+
+
+
+ Full Usage: + List.toArray list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T array + + The array containing the elements of the list. +
+
+
+
+
+
+ +
+
+

+ Builds an array from the given list. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The array containing the elements of the list. +

+
+
+
+ Example +
+

+

 let inputs = [ 1; 2; 5 ]
+
+ inputs |> List.toArray
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val toArray: list: 'T list -> 'T array
+ + + Evaluates to [| 1; 2; 5 |]. + +

+
+
+
+ +

+ + + List.toSeq list + + +

+
+
+
+ Full Usage: + List.toSeq list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T seq + + The sequence of elements in the list. +
+
+
+
+
+
+ +
+
+

+ Views the given list as a sequence. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The sequence of elements in the list. +

+
+
+
+ Example +
+

+

 let inputs = [ 1; 2; 5 ]
+
+ inputs |> List.toSeq
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val toSeq: list: 'T list -> 'T seq
+ + + Evaluates to seq { 1; 2; 5 }. + +

+
+
+
+ +

+ + + List.transpose lists + + +

+
+
+
+ Full Usage: + List.transpose lists +
+
+ Parameters: +
    + + + lists + + : + 'T list seq + - + The input sequence of list. + +
    +
+
+ + Returns: + 'T list list + + The transposed list. +
+
+
+
+
+
+ +
+
+

+ Returns the transpose of the given sequence of lists. +

+
+
+ + + + + +
+
+
+
+
+ + lists + + : + 'T list seq +
+
+

+ The input sequence of list. +

+
+
+
+
+ + Returns: + + 'T list list +
+
+

+ The transposed list. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input lists differ in length. +
+
+ Example +
+

+

 let inputs =
+     [ [ 10; 20; 30 ]
+       [ 11; 21; 31 ] ]
+
+ inputs |> List.transpose
+
+
val inputs: int list list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val transpose: lists: 'T list seq -> 'T list list
+ + + Evaluates to [ [10; 11]; [20; 21]; [30; 31] ]. + +

+
+
+
+ +

+ + + List.truncate count list + + +

+
+
+
+ Full Usage: + List.truncate count list +
+
+ Parameters: +
    + + + count + + : + int + - + The maximum number of items to return. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Returns at most N elements in a new list. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The maximum number of items to return. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> List.truncate 2
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val truncate: count: int -> list: 'T list -> 'T list
+ + + Evaluates to ["a"; "b"] +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> List.truncate 6
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val truncate: count: int -> list: 'T list -> 'T list
+ + + Evaluates to ["a"; "b"; "c"; "d"] +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> List.truncate 0
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val truncate: count: int -> list: 'T list -> 'T list
+ + + Evaluates to the empty list. + +

+
+
+
+ +

+ + + List.tryExactlyOne list + + +

+
+
+
+ Full Usage: + List.tryExactlyOne list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T option + + The only element of the list or None. +
+
+
+
+
+
+ +
+
+

+ Returns the only element of the list or None if it is empty or contains more than one element. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The only element of the list or None. +

+
+
+
+ Example +
+

+

 [1] |> List.tryExactlyOne               // evaluates Some 1
+ [1;2] |> List.tryExactlyOne             // evaluates None
+ ([] : int list) |> List.tryExactlyOne   // evaluates None
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryExactlyOne: list: 'T list -> 'T option
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T list = List<'T>
+ + +

+
+
+
+ +

+ + + List.tryFind predicate list + + +

+
+
+
+ Full Usage: + List.tryFind predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T option + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The first element for which the predicate returns true, or None if + every element evaluates to false. +

+
+
+
+ Example +
+

+ Try to find the first even number: +

 let inputs = [1; 2; 3]
+
+ inputs |> List.tryFind (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryFind: predicate: ('T -> bool) -> list: 'T list -> 'T option
+
val elm: int
+ + + Evaluates to Some 2 +

+
+ Example +
+

+ Try to find the first even number: +

 let inputs = [1; 5; 3]
+
+ inputs |> List.tryFind (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryFind: predicate: ('T -> bool) -> list: 'T list -> 'T option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + List.tryFindBack predicate list + + +

+
+
+
+ Full Usage: + List.tryFindBack predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T option + + The last element for which the predicate returns true, or None if + every element evaluates to false. +
+
+
+
+
+
+ +
+
+

+ Returns the last element for which the given function returns True. + Return None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The last element for which the predicate returns true, or None if + every element evaluates to false. +

+
+
+
+ Example +
+

+ Try to find the first even number from the back: +

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> List.tryFindBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryFindBack: predicate: ('T -> bool) -> list: 'T list -> 'T option
+
val elm: int
+ + + Evaluates to Some 4 +

+
+ Example +
+

+ Try to find the first even number from the back: +

 let inputs = [1; 5; 3]
+
+ inputs |> List.tryFindBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryFindBack: predicate: ('T -> bool) -> list: 'T list -> 'T option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + List.tryFindIndex predicate list + + +

+
+
+
+ Full Usage: + List.tryFindIndex predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + int option + + The index of the first element for which the predicate returns true, or None if + every element evaluates to false. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the first element in the list + that satisfies the given predicate. + Return None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + int option +
+
+

+ The index of the first element for which the predicate returns true, or None if + every element evaluates to false. +

+
+
+
+ Example +
+

+ Try to find the index of the first even number: +

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> List.tryFindIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryFindIndex: predicate: ('T -> bool) -> list: 'T list -> int option
+
val elm: int
+ + + Evaluates to Some 1 +

+
+ Example +
+

+ Try to find the index of the first even number: +

 let inputs = [1; 3; 5; 7]
+
+ inputs |> List.tryFindIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryFindIndex: predicate: ('T -> bool) -> list: 'T list -> int option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + List.tryFindIndexBack predicate list + + +

+
+
+
+ Full Usage: + List.tryFindIndexBack predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + int option + + The index of the last element for which the predicate returns true, or None if + every element evaluates to false. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the last element in the list + that satisfies the given predicate. + Return None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + int option +
+
+

+ The index of the last element for which the predicate returns true, or None if + every element evaluates to false. +

+
+
+
+ Example +
+

+ Try to find the index of the first even number from the back: +

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> List.tryFindIndexBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryFindIndexBack: predicate: ('T -> bool) -> list: 'T list -> int option
+
val elm: int
+ + + Evaluates to Some 3 +

+
+ Example +
+

+ Try to find the index of the first even number from the back: +

 let inputs = [1; 3; 5; 7]
+
+ inputs |> List.tryFindIndexBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryFindIndexBack: predicate: ('T -> bool) -> list: 'T list -> int option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + List.tryHead list + + +

+
+
+
+ Full Usage: + List.tryHead list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T option + + The first element of the list or None. +
+
+
+
+
+
+ +
+
+

+ Returns the first element of the list, or + None if the list is empty. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The first element of the list or None. +

+
+
+
+ Example +
+

+

 let inputs = [ "banana"; "pear" ]
+
+ inputs |> List.tryHead
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryHead: list: 'T list -> 'T option
+ + + Evaluates to Some "banana" +

+
+ Example +
+

+

 let inputs : int list = []
+
+ inputs |> List.tryHead
+
+
val inputs: int list
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T list = List<'T>
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryHead: list: 'T list -> 'T option
+ + + Evaluates to None +

+
+
+
+ +

+ + + List.tryItem index list + + +

+
+
+
+ Full Usage: + List.tryItem index list +
+
+ Parameters: +
    + + + index + + : + int + - + The index to retrieve. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T option + + The value at the given index or None. +
+
+
+
+
+
+ +
+
+

+ Tries to find the nth element in the list. + Returns None if index is negative or the list does not contain enough elements. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index to retrieve. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The value at the given index or None. +

+
+
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"]
+
+ inputs |> List.tryItem 1
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryItem: index: int -> list: 'T list -> 'T option
+ + + Evaluates to Some "b". + +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"]
+
+ inputs |> List.tryItem 4
+
+
val inputs: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryItem: index: int -> list: 'T list -> 'T option
+ + + Evaluates to None. + +

+
+
+
+ +

+ + + List.tryLast list + + +

+
+
+
+ Full Usage: + List.tryLast list +
+
+ Parameters: +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T option + + The last element of the list or None. +
+
+
+
+
+
+ +
+
+

+ Returns the last element of the list. + Return None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The last element of the list or None. +

+
+
+
+ Example +
+

+

 [ "pear"; "banana" ] |> List.tryLast
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryLast: list: 'T list -> 'T option
+ + + Evaluates to Some "banana" +

+
+ Example +
+

+

 [ ] |> List.tryLast
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryLast: list: 'T list -> 'T option
+ + + Evaluates to None +

+
+
+
+ +

+ + + List.tryPick chooser list + + +

+
+
+
+ Full Usage: + List.tryPick chooser list +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + The function to generate options from the elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'U option + + The first resulting value or None. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ The function to generate options from the elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'U option +
+
+

+ The first resulting value or None. +

+
+
+
+ Example +
+

+

 let input = [1; 2; 3]
+
+ input |> List.tryPick (fun n -> if n % 2 = 0 then Some (string n) else None)
+
+
val input: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryPick: chooser: ('T -> 'U option) -> list: 'T list -> 'U option
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to Some "2". + +

+
+ Example +
+

+

 let input = [1; 2; 3]
+
+ input |> List.tryPick (fun n -> if n > 3 then Some (string n) else None)
+
+
val input: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val tryPick: chooser: ('T -> 'U option) -> list: 'T list -> 'U option
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to None. + +

+
+
+
+ +

+ + + List.unfold generator state + + +

+
+
+
+ Full Usage: + List.unfold generator state +
+
+ Parameters: +
    + + + generator + + : + 'State -> ('T * 'State) option + - + A function that takes in the current state and returns an option tuple of the next + element of the list and the next state value. + +
    + + + state + + : + 'State + - + The initial state value. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Returns a list that contains the elements generated by the given computation. + The generator is repeatedly called to build the list until it returns None. + The given initial state argument is passed to the element generator. +

+
+
+ + + + + +
+
+
+
+
+ + generator + + : + 'State -> ('T * 'State) option +
+
+

+ A function that takes in the current state and returns an option tuple of the next + element of the list and the next state value. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state value. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 1 |> List.unfold (fun state -> if state > 100 then None else Some (state, state * 2))
+
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val unfold<'T,'State> : generator: ('State -> ('T * 'State) option) -> state: 'State -> 'T list
+
val state: int
+
union case Option.None: Option<'T>
+
union case Option.Some: Value: 'T -> Option<'T>
+ + + Evaluates to [1; 2; 4; 8; 16; 32; 64] +

+
+
+
+ +

+ + + List.unzip list + + +

+
+
+
+ Full Usage: + List.unzip list +
+
+ Parameters: +
    + + + list + + : + ('T1 * 'T2) list + - + The input list. + +
    +
+
+ + Returns: + 'T1 list * 'T2 list + + Two lists of split elements. +
+
+
+
+
+
+ +
+
+

+ Splits a list of pairs into two lists. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + ('T1 * 'T2) list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T1 list * 'T2 list +
+
+

+ Two lists of split elements. +

+
+
+
+ Example +
+

+

 let inputs = [(1, "one"); (2, "two")]
+
+ let numbers, names = inputs |> List.unzip
+
+
val inputs: (int * string) list
+
val numbers: int list
+
val names: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val unzip: list: ('T1 * 'T2) list -> 'T1 list * 'T2 list
+ + + Evaluates numbers to [1; 2] and names to ["one"; "two"]. + +

+
+
+
+ +

+ + + List.unzip3 list + + +

+
+
+
+ Full Usage: + List.unzip3 list +
+
+ Parameters: +
    + + + list + + : + ('T1 * 'T2 * 'T3) list + - + The input list. + +
    +
+
+ + Returns: + 'T1 list * 'T2 list * 'T3 list + + Three lists of split elements. +
+
+
+
+
+
+ +
+
+

+ Splits a list of triples into three lists. +

+
+
+ + + + + +
+
+
+
+
+ + list + + : + ('T1 * 'T2 * 'T3) list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T1 list * 'T2 list * 'T3 list +
+
+

+ Three lists of split elements. +

+
+
+
+ Example +
+

+

 let inputs = [(1, "one", "I"); (2, "two", "II")]
+
+ let numbers, names, roman = inputs |> List.unzip3
+
+
val inputs: (int * string * string) list
+
val numbers: int list
+
val names: string list
+
val roman: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val unzip3: list: ('T1 * 'T2 * 'T3) list -> 'T1 list * 'T2 list * 'T3 list
+ + + Evaluates numbers to [1; 2], names to ["one"; "two"] and roman to ["I"; "II"]. + +

+
+
+
+ +

+ + + List.updateAt index value source + + +

+
+
+
+ Full Usage: + List.updateAt index value source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of the item to be replaced. + +
    + + + value + + : + 'T + - + The new value. + +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Return a new list with the item at a given index set to the new value. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of the item to be replaced. +

+
+
+ + value + + : + 'T +
+
+

+ The new value. +

+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is outside 0..source.Length - 1 +
+
+ Example +
+

+

 let inputs = [ 0; 1; 2 ]
+
+ inputs |> List.updateAt 1 9
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val updateAt: index: int -> value: 'T -> source: 'T list -> 'T list
+ + + Evaluates to [ 0; 9; 2 ]. + +

+
+
+
+ +

+ + + List.where predicate list + + +

+
+
+
+ Full Usage: + List.where predicate list +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test the input elements. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list + + A list containing only the elements that satisfy the predicate. +
+
+
+
+
+
+ +
+
+

+ Returns a new list containing only the elements of the list + for which the given predicate returns "true" +

+
+
+ + + + + +
+
+
+

+ This is identical to List.filter. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ A list containing only the elements that satisfy the predicate. +

+
+
+
+ Example +
+

+ Select only the even numbers: +

 let inputs = [1; 2; 3; 4]
+
+ inputs |> List.where (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val where: predicate: ('T -> bool) -> list: 'T list -> 'T list
+
val elm: int
+ + + Evaluates to [2; 4] +

+
+
+
+ +

+ + + List.windowed windowSize list + + +

+
+
+
+ Full Usage: + List.windowed windowSize list +
+
+ Parameters: +
    + + + windowSize + + : + int + - + The number of elements in each window. + +
    + + + list + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T list list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Returns a list of sliding windows containing elements drawn from the input + list. Each window is returned as a fresh list. +

+
+
+ + + + + +
+
+
+
+
+ + windowSize + + : + int +
+
+

+ The number of elements in each window. +

+
+
+ + list + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T list list +
+
+

+ The result list. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when windowSize is not positive. +
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> List.windowed 3
+
+
val inputs: int list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val windowed: windowSize: int -> list: 'T list -> 'T list list
+ + + Evaluates to [[1; 2; 3]; [2; 3; 4]; [3; 4; 5]] +

+
+
+
+ +

+ + + List.zip list1 list2 + + +

+
+
+
+ Full Usage: + List.zip list1 list2 +
+
+ Parameters: +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    +
+
+ + Returns: + ('T1 * 'T2) list + + A single list containing pairs of matching elements from the input lists. +
+
+
+
+
+
+ +
+
+

+ Combines the two lists into a list of pairs. The two lists must have equal lengths. +

+
+
+ + + + + +
+
+
+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+
+
+ + Returns: + + ('T1 * 'T2) list +
+
+

+ A single list containing pairs of matching elements from the input lists. +

+
+
+
+ Example +
+

+

 let numbers = [1; 2]
+ let names = ["one"; "two"]
+
+ List.zip numbers names
+
+
val numbers: int list
+
val names: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val zip: list1: 'T1 list -> list2: 'T2 list -> ('T1 * 'T2) list
+ + + Evaluates to [(1, "one"); (2, "two")]. + +

+
+
+
+ +

+ + + List.zip3 list1 list2 list3 + + +

+
+
+
+ Full Usage: + List.zip3 list1 list2 list3 +
+
+ Parameters: +
    + + + list1 + + : + 'T1 list + - + The first input list. + +
    + + + list2 + + : + 'T2 list + - + The second input list. + +
    + + + list3 + + : + 'T3 list + - + The third input list. + +
    +
+
+ + Returns: + ('T1 * 'T2 * 'T3) list + + A single list containing triples of matching elements from the input lists. +
+
+
+
+
+
+ +
+
+

+ Combines the three lists into a list of triples. The lists must have equal lengths. +

+
+
+ + + + + +
+
+
+
+
+ + list1 + + : + 'T1 list +
+
+

+ The first input list. +

+
+
+ + list2 + + : + 'T2 list +
+
+

+ The second input list. +

+
+
+ + list3 + + : + 'T3 list +
+
+

+ The third input list. +

+
+
+
+
+ + Returns: + + ('T1 * 'T2 * 'T3) list +
+
+

+ A single list containing triples of matching elements from the input lists. +

+
+
+
+ Example +
+

+

 let numbers = [1; 2]
+ let names = ["one"; "two"]
+ let roman = ["I"; "II"]
+
+ List.zip3 numbers names roman
+
+
val numbers: int list
+
val names: string list
+
val roman: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val zip3: list1: 'T1 list -> list2: 'T2 list -> list3: 'T3 list -> ('T1 * 'T2 * 'T3) list
+ + + Evaluates to [(1, "one", "I"); (2, "two", "II")]. + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-mapmodule.html b/reference/fsharp-collections-mapmodule.html new file mode 100644 index 000000000..be1c331a6 --- /dev/null +++ b/reference/fsharp-collections-mapmodule.html @@ -0,0 +1,4662 @@ + + + + + + + + + + + + + + + + + + Map (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Map Module +

+ +
+
+
+

+ Contains operations for working with values of type Map. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Map.add key value table + + +

+
+
+
+ Full Usage: + Map.add key value table +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    + + + value + + : + 'T + - + The input value. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + Map<'Key, 'T> + + The resulting map. +
+
+
+
+
+
+ +
+
+

+ Returns a new map with the binding added to the given map. + If a binding with the given key already exists in the input map, the existing binding is replaced by the new binding in the result map. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+ + value + + : + 'T +
+
+

+ The input value. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + Map<'Key, 'T> +
+
+

+ The resulting map. +

+
+
+
+ Example +
+

+

 let input = Map [ (1, "a"); (2, "b") ]
+
+ input |> Map.add 3 "c" // evaluates to map [(1, "a"); (2, "b"); (3, "c")]
+ input |> Map.add 2 "aa" // evaluates to map [(1, "a"); (2, "aa")]
+
+
val input: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val add: key: 'Key -> value: 'T -> table: Map<'Key,'T> -> Map<'Key,'T> (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.change key f table + + +

+
+
+
+ Full Usage: + Map.change key f table +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    + + + f + + : + 'T option -> 'T option + - + The change function. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + Map<'Key, 'T> + + The resulting map. +
+
+
+
+
+
+ +
+
+

+ Returns a new map with the value stored under key changed according to f. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+ + f + + : + 'T option -> 'T option +
+
+

+ The change function. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + Map<'Key, 'T> +
+
+

+ The resulting map. +

+
+
+
+ Example +
+

+

 let input = Map [ (1, "a"); (2, "b") ]
+
+ input |> Map.change 1 (fun x ->
+     match x with
+     | Some s -> Some (s + "z")
+     | None -> None
+ ) // evaluates to map [(1, "az"); (2, "b")]
+
+
val input: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val change: key: 'Key -> f: ('T option -> 'T option) -> table: Map<'Key,'T> -> Map<'Key,'T> (requires comparison)
+
val x: string option
+
union case Option.Some: Value: 'T -> Option<'T>
+
val s: string
+
union case Option.None: Option<'T>
+ + +

+
+
+
+ +

+ + + Map.containsKey key table + + +

+
+
+
+ Full Usage: + Map.containsKey key table +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + bool + + True if the map contains the key. +
+
+
+
+
+
+ +
+
+

+ Tests if an element is in the domain of the map. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the map contains the key. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.containsKey 1 // evaluates to true
+ sample |> Map.containsKey 3 // evaluates to false
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val containsKey: key: 'Key -> table: Map<'Key,'T> -> bool (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.count table + + +

+
+
+
+ Full Usage: + Map.count table +
+
+ Parameters: +
    + + + table + + : + Map<'Key, 'T> + +
    +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ The number of bindings in the map. +

+
+
+ + + + + +
+
+
+
+
+ + table + + : + Map<'Key, 'T> +
+
+
+
+
+ + Returns: + + int +
+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.count // evaluates to 2
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val count: table: Map<'Key,'T> -> int (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.empty + + +

+
+
+
+ Full Usage: + Map.empty +
+
+ + Returns: + Map<'Key, 'T> + +
+
+
+
+
+
+ +
+
+

+ The empty map. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Map<'Key, 'T> +
+
+
+
+ Example +
+

+

 let emptyMap = Map.empty<int, string>
+
+
val emptyMap: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val empty<'Key,'T (requires comparison)> : Map<'Key,'T> (requires comparison)
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+ + +

+
+
+
+ +

+ + + Map.exists predicate table + + +

+
+
+
+ Full Usage: + Map.exists predicate table +
+
+ Parameters: +
    + + + predicate + + : + 'Key -> 'T -> bool + - + The function to test the input elements. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + bool + + True if the predicate returns true for one of the key/value pairs. +
+
+
+
+
+
+ +
+
+

+ Returns true if the given predicate returns true for one of the + bindings in the map. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'Key -> 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the predicate returns true for one of the key/value pairs. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.exists (fun n s -> n = s.Length) // evaluates to true
+ sample |> Map.exists (fun n s -> n < s.Length) // evaluates to false
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val exists: predicate: ('Key -> 'T -> bool) -> table: Map<'Key,'T> -> bool (requires comparison)
+
val n: int
+
val s: string
+
property System.String.Length: int with get
+ + +

+
+
+
+ +

+ + + Map.filter predicate table + + +

+
+
+
+ Full Usage: + Map.filter predicate table +
+
+ Parameters: +
    + + + predicate + + : + 'Key -> 'T -> bool + - + The function to test the key/value pairs. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + Map<'Key, 'T> + + The filtered map. +
+
+
+
+
+
+ +
+
+

+ Builds a new map containing only the bindings for which the given predicate returns 'true'. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'Key -> 'T -> bool +
+
+

+ The function to test the key/value pairs. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + Map<'Key, 'T> +
+
+

+ The filtered map. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.filter (fun n s -> n = s.Length) // evaluates to map [(1, "a")]
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val filter: predicate: ('Key -> 'T -> bool) -> table: Map<'Key,'T> -> Map<'Key,'T> (requires comparison)
+
val n: int
+
val s: string
+
property System.String.Length: int with get
+ + +

+
+
+
+ +

+ + + Map.find key table + + +

+
+
+
+ Full Usage: + Map.find key table +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + 'T + + The value mapped to the given key. +
+
+
+
+
+
+ +
+
+

+ Lookup an element in the map, raising KeyNotFoundException if no binding + exists in the map. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value mapped to the given key. +

+
+
+ + + + + +
+ + KeyNotFoundException + + + Thrown when the key does not exist in the map. +
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.find 1 // evaluates to "a"
+ sample |> Map.find 3 // throws KeyNotFoundException
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val find: key: 'Key -> table: Map<'Key,'T> -> 'T (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.findKey predicate table + + +

+
+
+
+ Full Usage: + Map.findKey predicate table +
+
+ Parameters: +
    + + + predicate + + : + 'Key -> 'T -> bool + - + The function to test the input elements. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + 'Key + + The first key for which the predicate evaluates true. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'Key -> 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + 'Key +
+
+

+ The first key for which the predicate evaluates true. +

+
+
+ + + + + +
+ + KeyNotFoundException + + + Thrown if the key does not exist in the map. +
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.findKey (fun n s -> n = s.Length) // evaluates to 1
+ sample |> Map.findKey (fun n s -> n < s.Length) // throws KeyNotFoundException
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val findKey: predicate: ('Key -> 'T -> bool) -> table: Map<'Key,'T> -> 'Key (requires comparison)
+
val n: int
+
val s: string
+
property System.String.Length: int with get
+ + +

+
+
+
+ +

+ + + Map.fold folder state table + + +

+
+
+
+ Full Usage: + Map.fold folder state table +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'Key -> 'T -> 'State + - + The function to update the state given the input key/value pairs. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + 'State + + The final state value. +
+
+
+
+
+
+ +
+
+

+ Folds over the bindings in the map +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'Key -> 'T -> 'State +
+
+

+ The function to update the state given the input key/value pairs. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state value. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ ("initial", sample) ||> Map.fold (fun state n s -> sprintf "%s %i %s" state n s)
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val fold<'Key,'T,'State (requires comparison)> : folder: ('State -> 'Key -> 'T -> 'State) -> state: 'State -> table: Map<'Key,'T> -> 'State (requires comparison)
+
val state: string
+
val n: int
+
val s: string
+
val sprintf: format: Printf.StringFormat<'T> -> 'T
+ + + Evaluates to "initial 1 a 2 b". + +

+
+
+
+ +

+ + + Map.foldBack folder table state + + +

+
+
+
+ Full Usage: + Map.foldBack folder table state +
+
+ Parameters: +
    + + + folder + + : + 'Key -> 'T -> 'State -> 'State + - + The function to update the state given the input key/value pairs. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State + + The final state value. +
+
+
+
+
+
+ +
+
+

+ Folds over the bindings in the map. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'Key -> 'T -> 'State -> 'State +
+
+

+ The function to update the state given the input key/value pairs. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state value. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ (sample, "initial") ||> Map.foldBack (fun n s state -> sprintf "%i %s %s" n s state)
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val foldBack: folder: ('Key -> 'T -> 'State -> 'State) -> table: Map<'Key,'T> -> state: 'State -> 'State (requires comparison)
+
val n: int
+
val s: string
+
val state: string
+
val sprintf: format: Printf.StringFormat<'T> -> 'T
+ + + Evaluates to "1 a 2 b initial" +

+
+
+
+ +

+ + + Map.forall predicate table + + +

+
+
+
+ Full Usage: + Map.forall predicate table +
+
+ Parameters: +
    + + + predicate + + : + 'Key -> 'T -> bool + - + The function to test the input elements. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + bool + + True if the predicate evaluates to true for all of the bindings in the map. +
+
+
+
+
+
+ +
+
+

+ Returns true if the given predicate returns true for all of the + bindings in the map. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'Key -> 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the predicate evaluates to true for all of the bindings in the map. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.forall (fun n s -> n >= s.Length) // evaluates to true
+ sample |> Map.forall (fun n s -> n = s.Length)  // evaluates to false
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val forall: predicate: ('Key -> 'T -> bool) -> table: Map<'Key,'T> -> bool (requires comparison)
+
val n: int
+
val s: string
+
property System.String.Length: int with get
+ + +

+
+
+
+ +

+ + + Map.isEmpty table + + +

+
+
+
+ Full Usage: + Map.isEmpty table +
+
+ Parameters: +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + bool + + True if the map is empty. +
+
+
+
+
+
+ +
+
+

+ Is the map empty? +

+
+
+ + + + + +
+
+
+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the map is empty. +

+
+
+
+ Example +
+

+

 let emptyMap = Map.empty<int, string>
+ emptyMap |> Map.isEmpty  // evaluates to true
+
+ let notEmptyMap = Map [ (1, "a"); (2, "b") ]
+ emptyMap |> Map.isEmpty // evaluates to false
+
+
val emptyMap: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val empty<'Key,'T (requires comparison)> : Map<'Key,'T> (requires comparison)
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val isEmpty: table: Map<'Key,'T> -> bool (requires comparison)
+
val notEmptyMap: Map<int,string>
+ + +

+
+
+
+ +

+ + + Map.iter action table + + +

+
+
+
+ Full Usage: + Map.iter action table +
+
+ Parameters: +
    + + + action + + : + 'Key -> 'T -> unit + - + The function to apply to each key/value pair. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to each binding in the dictionary +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'Key -> 'T -> unit +
+
+

+ The function to apply to each key/value pair. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.iter (fun n s -> printf "%i %s " n s)
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val iter: action: ('Key -> 'T -> unit) -> table: Map<'Key,'T> -> unit (requires comparison)
+
val n: int
+
val s: string
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Prints "1 a 2 b ". + +

+
+
+
+ +

+ + + Map.keys table + + +

+
+
+
+ Full Usage: + Map.keys table +
+
+ Parameters: +
    + + + table + + : + Map<'Key, 'T> + +
    +
+
+ + Returns: + ICollection<'Key> + +
+
+
+
+
+
+ +
+
+

+ The keys in the map. + The sequence will be ordered by the keys of the map. +

+
+
+ + + + + +
+
+
+
+
+ + table + + : + Map<'Key, 'T> +
+
+
+
+
+ + Returns: + + ICollection<'Key> +
+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.keys // evaluates to seq [1; 2]
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val keys: table: Map<'Key,'T> -> System.Collections.Generic.ICollection<'Key> (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.map mapping table + + +

+
+
+
+ Full Usage: + Map.map mapping table +
+
+ Parameters: +
    + + + mapping + + : + 'Key -> 'T -> 'U + - + The function to transform the key/value pairs. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + Map<'Key, 'U> + + The resulting map of keys and transformed values. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'Key -> 'T -> 'U +
+
+

+ The function to transform the key/value pairs. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + Map<'Key, 'U> +
+
+

+ The resulting map of keys and transformed values. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.map (fun n s -> sprintf "%i %s" n s) // evaluates to map [(1, "1 a"); (2, "2 b")]
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val map: mapping: ('Key -> 'T -> 'U) -> table: Map<'Key,'T> -> Map<'Key,'U> (requires comparison)
+
val n: int
+
val s: string
+
val sprintf: format: Printf.StringFormat<'T> -> 'T
+ + +

+
+
+
+ +

+ + + Map.maxKeyValue table + + +

+
+
+
+ Full Usage: + Map.maxKeyValue table +
+
+ Parameters: +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + 'Key * 'T + +
+
+
+
+
+
+ +
+
+

+ Returns binding for the largest key in the map. + Raise KeyNotFoundException when map is empty. +

+
+
+ + + + + +
+
+
+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + 'Key * 'T +
+
+
+ + + + + +
+ + KeyNotFoundException + + + Thrown if the map is empty. +
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.maxKeyValue // evaluates to (2, "b")
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val maxKeyValue: table: Map<'Key,'T> -> 'Key * 'T (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.minKeyValue table + + +

+
+
+
+ Full Usage: + Map.minKeyValue table +
+
+ Parameters: +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + 'Key * 'T + +
+
+
+
+
+
+ +
+
+

+ Returns binding for the smallest key in the map. + Raise KeyNotFoundException when map is empty. +

+
+
+ + + + + +
+
+
+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + 'Key * 'T +
+
+
+ + + + + +
+ + KeyNotFoundException + + + Thrown if the map is empty. +
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.minKeyValue // evaluates to (1, "a")
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val minKeyValue: table: Map<'Key,'T> -> 'Key * 'T (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.ofArray elements + + +

+
+
+
+ Full Usage: + Map.ofArray elements +
+
+ Parameters: +
    + + + elements + + : + ('Key * 'T) array + - + The input array of key/value pairs. + +
    +
+
+ + Returns: + Map<'Key, 'T> + + The resulting map. +
+
+
+
+
+
+ +
+
+

+ Returns a new map made from the given bindings. +

+
+
+ + + + + +
+
+
+
+
+ + elements + + : + ('Key * 'T) array +
+
+

+ The input array of key/value pairs. +

+
+
+
+
+ + Returns: + + Map<'Key, 'T> +
+
+

+ The resulting map. +

+
+
+
+ Example +
+

+

 let input = [| (1, "a"); (2, "b") |]
+
+ input |> Map.ofArray // evaluates to map [(1, "a"); (2, "b")]
+
+
val input: (int * string) array
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val ofArray: elements: ('Key * 'T) array -> Map<'Key,'T> (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.ofList elements + + +

+
+
+
+ Full Usage: + Map.ofList elements +
+
+ Parameters: +
    + + + elements + + : + ('Key * 'T) list + - + The input list of key/value pairs. + +
    +
+
+ + Returns: + Map<'Key, 'T> + + The resulting map. +
+
+
+
+
+
+ +
+
+

+ Returns a new map made from the given bindings. +

+
+
+ + + + + +
+
+
+
+
+ + elements + + : + ('Key * 'T) list +
+
+

+ The input list of key/value pairs. +

+
+
+
+
+ + Returns: + + Map<'Key, 'T> +
+
+

+ The resulting map. +

+
+
+
+ Example +
+

+

 let input = [ (1, "a"); (2, "b") ]
+
+ input |> Map.ofList // evaluates to map [(1, "a"); (2, "b")]
+
+
val input: (int * string) list
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val ofList: elements: ('Key * 'T) list -> Map<'Key,'T> (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.ofSeq elements + + +

+
+
+
+ Full Usage: + Map.ofSeq elements +
+
+ Parameters: +
    + + + elements + + : + ('Key * 'T) seq + - + The input sequence of key/value pairs. + +
    +
+
+ + Returns: + Map<'Key, 'T> + + The resulting map. +
+
+
+
+
+
+ +
+
+

+ Returns a new map made from the given bindings. +

+
+
+ + + + + +
+
+
+
+
+ + elements + + : + ('Key * 'T) seq +
+
+

+ The input sequence of key/value pairs. +

+
+
+
+
+ + Returns: + + Map<'Key, 'T> +
+
+

+ The resulting map. +

+
+
+
+ Example +
+

+

 let input = seq { (1, "a"); (2, "b") }
+
+ input |> Map.ofSeq // evaluates to map [(1, "a"); (2, "b")]
+
+
val input: (int * string) seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val ofSeq: elements: ('Key * 'T) seq -> Map<'Key,'T> (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.partition predicate table + + +

+
+
+
+ Full Usage: + Map.partition predicate table +
+
+ Parameters: +
    + + + predicate + + : + 'Key -> 'T -> bool + - + The function to test the input elements. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + Map<'Key, 'T> * Map<'Key, 'T> + + 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. +
+
+
+
+
+
+ +
+
+

+ Builds two new maps, one containing the bindings for which the given predicate returns 'true', + and the other the remaining bindings. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'Key -> 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + Map<'Key, 'T> * Map<'Key, 'T> +
+
+

+ 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. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.partition (fun n s -> n = s.Length) // evaluates to (map [(1, "a")], map [(2, "b")])
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val partition: predicate: ('Key -> 'T -> bool) -> table: Map<'Key,'T> -> Map<'Key,'T> * Map<'Key,'T> (requires comparison)
+
val n: int
+
val s: string
+
property System.String.Length: int with get
+ + +

+
+
+
+ +

+ + + Map.pick chooser table + + +

+
+
+
+ Full Usage: + Map.pick chooser table +
+
+ Parameters: +
    + + + chooser + + : + 'Key -> 'T -> 'U option + - + The function to generate options from the key/value pairs. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + 'U + + The first result. +
+
+
+
+
+
+ +
+
+

+ Searches the map looking for the first element where the given function returns a Some value. + Raise KeyNotFoundException if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'Key -> 'T -> 'U option +
+
+

+ The function to generate options from the key/value pairs. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The first result. +

+
+
+ + + + + +
+ + KeyNotFoundException + + + Thrown if no element returns a Some + value when evaluated by the chooser function +
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b"); (10, "ccc"); (20, "ddd") ]
+
+ sample |> Map.pick (fun n s -> if n > 5 && s.Length > 2 then Some s else None)
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val pick: chooser: ('Key -> 'T -> 'U option) -> table: Map<'Key,'T> -> 'U (requires comparison)
+
val n: int
+
val s: string
+
property System.String.Length: int with get
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+ + + Evaluates to "ccc" +

+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b"); (10, "ccc"); (20, "ddd") ]
+
+ sample |> Map.pick (fun n s -> if n > 5 && s.Length > 4 then Some s else None)
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val pick: chooser: ('Key -> 'T -> 'U option) -> table: Map<'Key,'T> -> 'U (requires comparison)
+
val n: int
+
val s: string
+
property System.String.Length: int with get
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+ + + Raises KeyNotFoundException +

+
+
+
+ +

+ + + Map.remove key table + + +

+
+
+
+ Full Usage: + Map.remove key table +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + Map<'Key, 'T> + + The resulting map. +
+
+
+
+
+
+ +
+
+

+ Removes an element from the domain of the map. No exception is raised if the element is not present. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + Map<'Key, 'T> +
+
+

+ The resulting map. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.remove 1 // evaluates to map [(2, "b")]
+ sample |> Map.remove 3 // equal to sample
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val remove: key: 'Key -> table: Map<'Key,'T> -> Map<'Key,'T> (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.toArray table + + +

+
+
+
+ Full Usage: + Map.toArray table +
+
+ Parameters: +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + ('Key * 'T) array + + The array of key/value pairs. +
+
+
+
+
+
+ +
+
+

+ Returns an array of all key-value pairs in the mapping. + The array will be ordered by the keys of the map. +

+
+
+ + + + + +
+
+
+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + ('Key * 'T) array +
+
+

+ The array of key/value pairs. +

+
+
+
+ Example +
+

+

 let input = Map [ (1, "a"); (2, "b") ]
+
+ input |> Map.toArray // evaluates to [|(1, "a"); (2, "b")|]
+
+
val input: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val toArray: table: Map<'Key,'T> -> ('Key * 'T) array (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.toList table + + +

+
+
+
+ Full Usage: + Map.toList table +
+
+ Parameters: +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + ('Key * 'T) list + + The list 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. +

+
+
+ + + + + +
+
+
+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + ('Key * 'T) list +
+
+

+ The list of key/value pairs. +

+
+
+
+ Example +
+

+

 let input = Map [ (1, "a"); (2, "b") ]
+
+ input |> Map.toList // evaluates to [(1, "a"); (2, "b")]
+
+
val input: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val toList: table: Map<'Key,'T> -> ('Key * 'T) list (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.toSeq table + + +

+
+
+
+ Full Usage: + Map.toSeq table +
+
+ Parameters: +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + ('Key * 'T) seq + + The sequence of key/value pairs. +
+
+
+
+
+
+ +
+
+

+ Views the collection as an enumerable sequence of pairs. + The sequence will be ordered by the keys of the map. +

+
+
+ + + + + +
+
+
+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + ('Key * 'T) seq +
+
+

+ The sequence of key/value pairs. +

+
+
+
+ Example +
+

+

 let input = Map [ (1, "a"); (2, "b") ]
+
+ input |> Map.toSeq // evaluates to seq [(1, "a"); (2, "b")]
+
+
val input: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val toSeq: table: Map<'Key,'T> -> ('Key * 'T) seq (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.tryFind key table + + +

+
+
+
+ Full Usage: + Map.tryFind key table +
+
+ Parameters: +
    + + + key + + : + 'Key + - + The input key. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + 'T option + + The found Some value or None. +
+
+
+
+
+
+ +
+
+

+ Lookup an element in the map, returning a Some value if the element is in the domain + of the map and None if not. +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'Key +
+
+

+ The input key. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The found Some value or None. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.tryFind 1 // evaluates to Some "a"
+ sample |> Map.tryFind 3 // evaluates to None
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val tryFind: key: 'Key -> table: Map<'Key,'T> -> 'T option (requires comparison)
+ + +

+
+
+
+ +

+ + + Map.tryFindKey predicate table + + +

+
+
+
+ Full Usage: + Map.tryFindKey predicate table +
+
+ Parameters: +
    + + + predicate + + : + 'Key -> 'T -> bool + - + The function to test the input elements. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + 'Key option + + The first key for which the predicate returns true or None if the predicate evaluates to false for each key/value pair. +
+
+
+
+
+
+ +
+
+

+ Returns the key of the first mapping in the collection that satisfies the given predicate. + Returns 'None' if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'Key -> 'T -> bool +
+
+

+ The function to test the input elements. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + 'Key option +
+
+

+ The first key for which the predicate returns true or None if the predicate evaluates to false for each key/value pair. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.tryFindKey (fun n s -> n = s.Length) // evaluates to Some 1
+ sample |> Map.tryFindKey (fun n s -> n < s.Length) // evaluates to None
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val tryFindKey: predicate: ('Key -> 'T -> bool) -> table: Map<'Key,'T> -> 'Key option (requires comparison)
+
val n: int
+
val s: string
+
property System.String.Length: int with get
+ + +

+
+
+
+ +

+ + + Map.tryPick chooser table + + +

+
+
+
+ Full Usage: + Map.tryPick chooser table +
+
+ Parameters: +
    + + + chooser + + : + 'Key -> 'T -> 'U option + - + The function to generate options from the key/value pairs. + +
    + + + table + + : + Map<'Key, 'T> + - + The input map. + +
    +
+
+ + Returns: + 'U option + + The first result. +
+
+
+
+
+
+ +
+
+

+ Searches the map looking for the first element where the given function returns a Some value. +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'Key -> 'T -> 'U option +
+
+

+ The function to generate options from the key/value pairs. +

+
+
+ + table + + : + Map<'Key, 'T> +
+
+

+ The input map. +

+
+
+
+
+ + Returns: + + 'U option +
+
+

+ The first result. +

+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b"); (10, "ccc"); (20, "ddd") ]
+
+ sample |> Map.tryPick (fun n s -> if n > 5 && s.Length > 2 then Some s else None)
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val tryPick: chooser: ('Key -> 'T -> 'U option) -> table: Map<'Key,'T> -> 'U option (requires comparison)
+
val n: int
+
val s: string
+
property System.String.Length: int with get
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+ + + Evaluates to Some "ccc". + +

+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b"); (10, "ccc"); (20, "ddd") ]
+
+ sample |> Map.tryPick (fun n s -> if n > 5 && s.Length > 4 then Some s else None)
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val tryPick: chooser: ('Key -> 'T -> 'U option) -> table: Map<'Key,'T> -> 'U option (requires comparison)
+
val n: int
+
val s: string
+
property System.String.Length: int with get
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+ + + Evaluates to None. + +

+
+
+
+ +

+ + + Map.values table + + +

+
+
+
+ Full Usage: + Map.values table +
+
+ Parameters: +
    + + + table + + : + Map<'Key, 'T> + +
    +
+
+ + Returns: + ICollection<'T> + +
+
+
+
+
+
+ +
+
+

+ The values in the map, including the duplicates. + The sequence will be ordered by the keys of the map. +

+
+
+ + + + + +
+
+
+
+
+ + table + + : + Map<'Key, 'T> +
+
+
+
+
+ + Returns: + + ICollection<'T> +
+
+
+
+ Example +
+

+

 let sample = Map [ (1, "a"); (2, "b") ]
+
+ sample |> Map.values // evaluates to seq ["a"; "b"]
+
+
val sample: Map<int,string>
+
Multiple items
module Map + +from Microsoft.FSharp.Collections

--------------------
type Map<'Key,'Value (requires comparison)> = + interface IReadOnlyDictionary<'Key,'Value> + interface IReadOnlyCollection<KeyValuePair<'Key,'Value>> + interface IEnumerable + interface IStructuralEquatable + interface IComparable + interface IEnumerable<KeyValuePair<'Key,'Value>> + interface ICollection<KeyValuePair<'Key,'Value>> + interface IDictionary<'Key,'Value> + new: elements: ('Key * 'Value) seq -> Map<'Key,'Value> + member Add: key: 'Key * value: 'Value -> Map<'Key,'Value> + ...

--------------------
new: elements: ('Key * 'Value) seq -> Map<'Key,'Value>
+
val values: table: Map<'Key,'T> -> System.Collections.Generic.ICollection<'T> (requires comparison)
+ + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-seq-1.html b/reference/fsharp-collections-seq-1.html new file mode 100644 index 000000000..ba00cd7c2 --- /dev/null +++ b/reference/fsharp-collections-seq-1.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + 'T seq (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ 'T seq Type +

+ +
+
+
+

+ An abbreviation for the CLI type IEnumerable +

+
+
+

+ + See the Seq module for further operations related to sequences. + + See also F# Language Guide - Sequences. + +

+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-seqmodule.html b/reference/fsharp-collections-seqmodule.html new file mode 100644 index 000000000..68ebc996a --- /dev/null +++ b/reference/fsharp-collections-seqmodule.html @@ -0,0 +1,19057 @@ + + + + + + + + + + + + + + + + + + Seq (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Seq Module +

+ +
+
+
+

+ Contains operations for working with values of type seq. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Seq.allPairs source1 source2 + + +

+
+
+
+ Full Usage: + Seq.allPairs source1 source2 +
+
+ Parameters: +
    + + + source1 + + : + 'T1 seq + - + The first sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second sequence. + +
    +
+
+ + Returns: + ('T1 * 'T2) seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Returns a new sequence that contains all pairings of elements from the first and second sequences. +

+
+
+ + + + + +
+
+
+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second sequence. +

+
+
+
+
+ + Returns: + + ('T1 * 'T2) seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input sequences is null. +
+
+ Example +
+

+

 ([1; 2], [3; 4]) ||> Seq.allPairs
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val allPairs: source1: 'T1 seq -> source2: 'T2 seq -> ('T1 * 'T2) seq
+ + + Evaluates to a sequence yielding the same results as +
 seq { (1, 3); (1, 4); (2, 3); (2, 4) }
+
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+ + +

+
+
+
+ +

+ + + Seq.append source1 source2 + + +

+
+
+
+ Full Usage: + Seq.append source1 source2 +
+
+ Parameters: +
    + + + source1 + + : + 'T seq + - + The first sequence. + +
    + + + source2 + + : + 'T seq + - + The second sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + source1 + + : + 'T seq +
+
+

+ The first sequence. +

+
+
+ + source2 + + : + 'T seq +
+
+

+ The second sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the two provided sequences is + null. +
+
+ Example +
+

+

 Seq.append [1; 2] [3; 4]
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val append: source1: 'T seq -> source2: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 3; 4 } +

+
+
+
+ +

+ + + Seq.average source + + +

+
+
+
+ Full Usage: + Seq.average source +
+
+ Parameters: +
    + + + source + + : + ^T seq + - + The input sequence. + +
    +
+
+ + Returns: + ^T + + The average. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + source + + : + ^T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The average. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence has zero elements. +
+
+ Example +
+

+

 [1.0; 2.0; 3.0] |> Seq.average
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val average: source: 'T seq -> 'T (requires member (+) and member DivideByInt and member Zero)
+ + + Evaluates to 2.0 +

+
+ Example +
+

+

 [] |> Seq.average
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val average: source: 'T seq -> 'T (requires member (+) and member DivideByInt and member Zero)
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Seq.averageBy projection source + + +

+
+
+
+ Full Usage: + Seq.averageBy projection source +
+
+ Parameters: +
    + + + projection + + : + 'T -> ^U + - + A function applied to transform each element of the sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + ^U + + The average. +
+ Modifiers: + inline +
+ Type parameters: + 'T, ^U +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + projection + + : + 'T -> ^U +
+
+

+ A function applied to transform each element of the sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + ^U +
+
+

+ The average. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence has zero elements. +
+
+ Example +
+

+

 type Foo = { Bar: float }
+
+ let input = seq { {Bar = 2.0}; {Bar = 4.0} }
+
+ input |> Seq.averageBy (fun foo -> foo.Bar)
+
+
type Foo = + { Bar: float }
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
val input: Foo seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val averageBy: projection: ('T -> 'U) -> source: 'T seq -> 'U (requires member (+) and member DivideByInt and member Zero)
+
val foo: Foo
+
Foo.Bar: float
+ + + Evaluates to 3.0 +

+
+ Example +
+

+

 type Foo = { Bar: float }
+
+ Seq.empty |> Seq.averageBy (fun (foo: Foo) -> foo.Bar)
+
+
type Foo = + { Bar: float }
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
module Seq + +from Microsoft.FSharp.Collections
+
val empty<'T> : 'T seq
+
val averageBy: projection: ('T -> 'U) -> source: 'T seq -> 'U (requires member (+) and member DivideByInt and member Zero)
+
val foo: Foo
+
Foo.Bar: float
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Seq.cache source + + +

+
+
+
+ Full Usage: + Seq.cache source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Returns a sequence that corresponds to a cached version of the input sequence. +

+
+
+ + + + + +
+
+
+

+ + The 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. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let fibSeq =(0, 1) |> Seq.unfold (fun (a,b) -> Some(a + b, (b, a + b)))
+
+ let fibSeq3 = fibSeq |> Seq.take 3 |> Seq.cache
+ fibSeq3
+
+
val fibSeq: int seq
+
module Seq + +from Microsoft.FSharp.Collections
+
val unfold: generator: ('State -> ('T * 'State) option) -> state: 'State -> 'T seq
+
val a: int
+
val b: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
val fibSeq3: int seq
+
val take: count: int -> source: 'T seq -> 'T seq
+
val cache: source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 3 }, + and it will not do the calculation again when called. + +

+
+
+
+ +

+ + + Seq.cast source + + +

+
+
+
+ Full Usage: + Seq.cast source +
+
+ Parameters: +
    + + + source + + : + IEnumerable + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + source + + : + IEnumerable +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 [box 1; box 2; box 3] |> Seq.cast<int>
+
+
val box: value: 'T -> obj
+
module Seq + +from Microsoft.FSharp.Collections
+
val cast: source: System.Collections.IEnumerable -> 'T seq
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 3 }, explicitly typed as seq<int>. + +

+
+
+
+ +

+ + + Seq.choose chooser source + + +

+
+
+
+ Full Usage: + Seq.choose chooser source +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + A function to transform items of type T into options of type U. + +
    + + + source + + : + 'T seq + - + The input sequence of type T. + +
    +
+
+ + Returns: + 'U seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the sequence. Returns + a sequence 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. +

+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ A function to transform items of type T into options of type U. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence of type T. +

+
+
+
+
+ + Returns: + + 'U seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 [Some 1; None; Some 2] |> Seq.choose id
+
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val choose: chooser: ('T -> 'U option) -> source: 'T seq -> 'U seq
+
val id: x: 'T -> 'T
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2 } +

+
+ Example +
+

+

 [1; 2; 3] |> Seq.choose (fun n -> if n % 2 = 0 then Some n else None)
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val choose: chooser: ('T -> 'U option) -> source: 'T seq -> 'U seq
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+ + + Evaluates to a sequence yielding the same results as seq { 2 } +

+
+
+
+ +

+ + + Seq.chunkBySize chunkSize source + + +

+
+
+
+ Full Usage: + Seq.chunkBySize chunkSize source +
+
+ Parameters: +
    + + + chunkSize + + : + int + - + The maximum size of each chunk. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T array seq + + The sequence divided into chunks. +
+
+
+
+
+
+ +
+
+

+ Divides the input sequence into chunks of size at most chunkSize. +

+
+
+ + + + + +
+
+
+
+
+ + chunkSize + + : + int +
+
+

+ The maximum size of each chunk. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T array seq +
+
+

+ The sequence divided into chunks. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when chunkSize is not positive. +
+
+ Example +
+

+

 [1; 2; 3] |> Seq.chunkBySize 2
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val chunkBySize: chunkSize: int -> source: 'T seq -> 'T array seq
+ + + Evaluates to a sequence yielding the same results as seq { [|1; 2|]; [|3|] } +

+
+ Example +
+

+

 [1; 2; 3] |> Seq.chunkBySize -2
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val chunkBySize: chunkSize: int -> source: 'T seq -> 'T array seq
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Seq.collect mapping source + + +

+
+
+
+ Full Usage: + Seq.collect mapping source +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'Collection + - + A function to transform elements of the input sequence into the sequences + that will then be concatenated. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'U seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + mapping + + : + 'T -> 'Collection +
+
+

+ A function to transform elements of the input sequence into the sequences + that will then be concatenated. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'U seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 type Foo = { Bar: int seq }
+
+ let input = seq { {Bar = [1; 2]}; {Bar = [3; 4]} }
+
+ input |> Seq.collect (fun foo -> foo.Bar)
+
+
type Foo = + { Bar: int seq }
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val input: Foo seq
+
module Seq + +from Microsoft.FSharp.Collections
+
val collect: mapping: ('T -> #('U seq)) -> source: 'T seq -> 'U seq
+
val foo: Foo
+
Foo.Bar: int seq
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 3; 4 } +

+
+ Example +
+

+

 let input = [[1; 2]; [3; 4]]
+
+ input |> Seq.collect id
+
+
val input: int list list
+
module Seq + +from Microsoft.FSharp.Collections
+
val collect: mapping: ('T -> #('U seq)) -> source: 'T seq -> 'U seq
+
val id: x: 'T -> 'T
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 3; 4 } +

+
+
+
+ +

+ + + Seq.compareWith comparer source1 source2 + + +

+
+
+
+ Full Usage: + Seq.compareWith comparer source1 source2 +
+
+ Parameters: +
    + + + comparer + + : + 'T -> 'T -> int + - + 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. + +
    + + + source1 + + : + 'T seq + - + The first input sequence. + +
    + + + source2 + + : + 'T seq + - + The second input sequence. + +
    +
+
+ + Returns: + int + + 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. +
+
+
+
+
+
+ +
+
+

+ Compares two sequences using the given comparison function, element by element. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + 'T -> 'T -> int +
+
+

+ 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. +

+
+
+ + source1 + + : + 'T seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T seq +
+
+

+ The second input sequence. +

+
+
+
+
+ + Returns: + + int +
+
+

+ 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. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input sequences + is null. +
+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [1; 10]
+ let input2 = [1; 10]
+
+ (input1, input2) ||> Seq.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int list
+
val input2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val compareWith: comparer: ('T -> 'T -> int) -> source1: 'T seq -> source2: 'T seq -> int
+ + + Evaluates to 0 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [1; 5]
+ let input2 = [1; 8]
+
+ (input1, input2) ||> Seq.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int list
+
val input2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val compareWith: comparer: ('T -> 'T -> int) -> source1: 'T seq -> source2: 'T seq -> int
+ + + Evaluates to -1 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [1; 11]
+ let input2 = [1; 13]
+
+ (input1, input2) ||> Seq.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int list
+
val input2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val compareWith: comparer: ('T -> 'T -> int) -> source1: 'T seq -> source2: 'T seq -> int
+ + + Evaluates to 1 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [1; 2]
+ let input2 = [1]
+
+ (input1, input2) ||> Seq.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int list
+
val input2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val compareWith: comparer: ('T -> 'T -> int) -> source1: 'T seq -> source2: 'T seq -> int
+ + + Evaluates to 1 +

+
+ Example +
+

+

 let closerToNextDozen a b =
+   (a % 12).CompareTo(b % 12)
+
+ let input1 = [1]
+ let input2 = [1; 2]
+
+ (input1, input2) ||> Seq.compareWith closerToNextDozen
+
+
val closerToNextDozen: a: int -> b: int -> int
+
val a: int
+
val b: int
+
val input1: int list
+
val input2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val compareWith: comparer: ('T -> 'T -> int) -> source1: 'T seq -> source2: 'T seq -> int
+ + + Evaluates to -1 +

+
+
+
+ +

+ + + Seq.concat sources + + +

+
+
+
+ Full Usage: + Seq.concat sources +
+
+ Parameters: +
    + + + sources + + : + 'Collection seq + - + The input enumeration-of-enumerations. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + sources + + : + 'Collection seq +
+
+

+ The input enumeration-of-enumerations. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = [[1; 2]; [3]; [4; 5]]
+
+ inputs |> Seq.concat
+
+
val inputs: int list list
+
module Seq + +from Microsoft.FSharp.Collections
+
val concat: sources: #('T seq) seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 3; 4; 5 } +

+
+
+
+ +

+ + + Seq.contains value source + + +

+
+
+
+ Full Usage: + Seq.contains value source +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to locate in the input sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + bool + + True if the input sequence contains the specified element; false otherwise. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Tests if the sequence contains the specified element. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to locate in the input sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the input sequence contains the specified element; false otherwise. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 [1; 2] |> Seq.contains 2 // evaluates to true
+ [1; 2] |> Seq.contains 5 // evaluates to false
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val contains: value: 'T -> source: 'T seq -> bool (requires equality)
+ + +

+
+
+
+ +

+ + + Seq.countBy projection source + + +

+
+
+
+ Full Usage: + Seq.countBy projection source +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function transforming each item of the input sequence into a key to be + compared against the others. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + ('Key * int) seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Applies a key-generating function to each element of a sequence and returns 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function transforming each item of the input sequence into a key to be + compared against the others. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + ('Key * int) seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 type Foo = { Bar: string }
+
+ let inputs = [{Bar = "a"}; {Bar = "b"}; {Bar = "a"}]
+
+ inputs |> Seq.countBy (fun foo -> foo.Bar)
+
+
type Foo = + { Bar: string }
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val inputs: Foo list
+
module Seq + +from Microsoft.FSharp.Collections
+
val countBy: projection: ('T -> 'Key) -> source: 'T seq -> ('Key * int) seq (requires equality)
+
val foo: Foo
+
Foo.Bar: string
+ + + Evaluates to a sequence yielding the same results as seq { ("a", 2); ("b", 1) } +

+
+
+
+ +

+ + + Seq.delay generator + + +

+
+
+
+ Full Usage: + Seq.delay generator +
+
+ Parameters: +
    + + + generator + + : + unit -> 'T seq + - + The generating function for the sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + generator + + : + unit -> 'T seq +
+
+

+ The generating function for the sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+
+ Example +
+

+

 Seq.delay (fun () -> Seq.ofList [1; 2; 3])
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val delay: generator: (unit -> 'T seq) -> 'T seq
+
val ofList: source: 'T list -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 3 }, executing + the generator function every time is consumed. + +

+
+
+
+ +

+ + + Seq.distinct source + + +

+
+
+
+ Full Usage: + Seq.distinct source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 [1; 1; 2; 3] |> Seq.distinct
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val distinct: source: 'T seq -> 'T seq (requires equality)
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 3 } +

+
+
+
+ +

+ + + Seq.distinctBy projection source + + +

+
+
+
+ Full Usage: + Seq.distinctBy projection source +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function transforming the sequence items into comparable keys. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result 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. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function transforming the sequence items into comparable keys. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = [{Bar = 1 };{Bar = 1}; {Bar = 2}; {Bar = 3}]
+
+ inputs |> Seq.distinctBy (fun foo -> foo.Bar)
+
+
val inputs: 'a list
+
module Seq + +from Microsoft.FSharp.Collections
+
val distinctBy: projection: ('T -> 'Key) -> source: 'T seq -> 'T seq (requires equality)
+
val foo: obj
+ + + Evaluates to a sequence yielding the same results as seq { { Bar = 1 }; { Bar = 2 }; { Bar = 3 } } +

+
+
+
+ +

+ + + Seq.empty + + +

+
+
+
+ Full Usage: + Seq.empty +
+
+ + Returns: + 'T seq + + An empty sequence. +
+
+
+
+
+
+ +
+
+

+ Creates an empty sequence. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ An empty sequence. +

+
+
+
+ Example +
+

+

 Seq.empty // Evaluates to seq { }
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val empty<'T> : 'T seq
+ + +

+
+
+
+ +

+ + + Seq.exactlyOne source + + +

+
+
+
+ Full Usage: + Seq.exactlyOne source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The only element of the sequence. +
+
+
+
+
+
+ +
+
+

+ Returns the only element of the sequence. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The only element of the sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input does not have precisely one element. +
+
+ Example +
+

+

 let inputs = ["banana"]
+
+ inputs |> Seq.exactlyOne
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val exactlyOne: source: 'T seq -> 'T
+ + + Evaluates to banana +

+
+ Example +
+

+

 let inputs = ["pear"; "banana"]
+
+ inputs |> Seq.exactlyOne
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val exactlyOne: source: 'T seq -> 'T
+ + + Throws ArgumentException +

+
+ Example +
+

+

 [] |> Seq.exactlyOne
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val exactlyOne: source: 'T seq -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Seq.except itemsToExclude source + + +

+
+
+
+ Full Usage: + Seq.except itemsToExclude source +
+
+ Parameters: +
    + + + itemsToExclude + + : + 'T seq + - + A sequence whose elements that also occur in the second sequence will cause those elements to be + removed from the returned sequence. + +
    + + + source + + : + 'T seq + - + A sequence whose elements that are not also in first will be returned. + +
    +
+
+ + Returns: + 'T seq + + A sequence that contains the set difference of the elements of two sequences. +
+
+
+
+
+
+ +
+
+

+ Returns a new sequence with the distinct elements of the second sequence which do not appear in the first sequence, + using generic hash and equality comparisons to compare values. +

+
+
+ + + + + +
+
+
+

+ Note that this function returns a sequence that digests the whole of the first input sequence as soon as + the result sequence is iterated. As a result this function should not be used with + large or infinite sequences in the first parameter. The function makes no assumption on the ordering of the first input + sequence. +

+
+
+ + itemsToExclude + + : + 'T seq +
+
+

+ A sequence whose elements that also occur in the second sequence will cause those elements to be + removed from the returned sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ A sequence whose elements that are not also in first will be returned. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ A sequence that contains the set difference of the elements of two sequences. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the two input sequences is null. +
+
+ Example +
+

+

 let original = [1; 2; 3; 4; 5]
+ let itemsToExclude = [1; 3; 5]
+
+ original |> Seq.except itemsToExclude
+
+
val original: int list
+
val itemsToExclude: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val except: itemsToExclude: 'T seq -> source: 'T seq -> 'T seq (requires equality)
+ + + Evaluates to a sequence yielding the same results as seq { 2; 4 } +

+
+
+
+ +

+ + + Seq.exists predicate source + + +

+
+
+
+ Full Usage: + Seq.exists predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function to test each item of the input sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + bool + + True if any result from the predicate is true; false otherwise. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function to test each item of the input sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if any result from the predicate is true; false otherwise. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let input = [1; 2; 3; 4; 5]
+
+ input |> Seq.exists (fun elm -> elm % 4 = 0)
+
+
val input: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val exists: predicate: ('T -> bool) -> source: 'T seq -> bool
+
val elm: int
+ + + Evaluates to true +

+
+ Example +
+

+

 let input = [1; 2; 3; 4; 5]
+
+ input |> Seq.exists (fun elm -> elm % 6 = 0)
+
+
val input: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val exists: predicate: ('T -> bool) -> source: 'T seq -> bool
+
val elm: int
+ + + Evaluates to false +

+
+
+
+ +

+ + + Seq.exists2 predicate source1 source2 + + +

+
+
+
+ Full Usage: + Seq.exists2 predicate source1 source2 +
+
+ Parameters: +
    + + + predicate + + : + 'T1 -> 'T2 -> bool + - + A function to test each pair of items from the input sequences. + +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    +
+
+ + Returns: + bool + + True if any result from the predicate is true; false otherwise. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + predicate + + : + 'T1 -> 'T2 -> bool +
+
+

+ A function to test each pair of items from the input sequences. +

+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if any result from the predicate is true; false otherwise. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the two input sequences is null. +
+
+ Example +
+

+

 let inputs1 = [1; 2]
+ let inputs2 = [1; 2; 0]
+
+ (inputs1, inputs2) ||> Seq.exists2 (fun a b -> a > b)
+
+
val inputs1: int list
+
val inputs2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val exists2: predicate: ('T1 -> 'T2 -> bool) -> source1: 'T1 seq -> source2: 'T2 seq -> bool
+
val a: int
+
val b: int
+ + + Evaluates to false +

+
+ Example +
+

+

 let inputs1 = [1; 4]
+ let inputs2 = [1; 3; 5]
+
+ (inputs1, inputs2) ||> Seq.exists2 (fun a b -> a > b)
+
+
val inputs1: int list
+
val inputs2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val exists2: predicate: ('T1 -> 'T2 -> bool) -> source1: 'T1 seq -> source2: 'T2 seq -> bool
+
val a: int
+
val b: int
+ + + Evaluates to true +

+
+
+
+ +

+ + + Seq.filter predicate source + + +

+
+
+
+ Full Usage: + Seq.filter predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function to test whether each item in the input sequence should be included in the output. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function to test whether each item in the input sequence should be included in the output. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4]
+
+ inputs |> Seq.filter (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val filter: predicate: ('T -> bool) -> source: 'T seq -> 'T seq
+
val elm: int
+ + + Evaluates to a sequence yielding the same results as seq { 2; 4 } +

+
+
+
+ +

+ + + Seq.find predicate source + + +

+
+
+
+ Full Usage: + Seq.find predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function to test whether an item in the sequence should be returned. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The first element for which the predicate returns True. +
+
+
+
+
+
+ +
+
+

+ Returns the first element for which the given function returns True. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function to test whether an item in the sequence should be returned. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The first element for which the predicate returns True. +

+
+
+ + + + + + + + + +
+ + KeyNotFoundException + + + Thrown if no element returns true when + evaluated by the predicate +
+ + ArgumentNullException + + + Thrown when the input sequence is null +
+
+ Example +
+

+

 let inputs = [1; 2; 3]
+
+ inputs |> Seq.find (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val find: predicate: ('T -> bool) -> source: 'T seq -> 'T
+
val elm: int
+ + + Evaluates to 2 +

+
+ Example +
+

+

 let inputs = [1; 2; 3]
+
+ inputs |> Seq.find (fun elm -> elm % 6 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val find: predicate: ('T -> bool) -> source: 'T seq -> 'T
+
val elm: int
+ + + Throws KeyNotFoundException +

+
+
+
+ +

+ + + Seq.findBack predicate source + + +

+
+
+
+ Full Usage: + Seq.findBack predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function to test whether an item in the sequence should be returned. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The last element for which the predicate returns True. +
+
+
+
+
+
+ +
+
+

+ Returns the last element for which the given function returns True. +

+
+
+ + + + + +
+
+
+

+ This function digests the whole initial sequence as soon as it is called. As a + result this function should not be used with large or infinite sequences. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function to test whether an item in the sequence should be returned. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The last element for which the predicate returns True. +

+
+
+ + + + + + + + + +
+ + KeyNotFoundException + + + Thrown if no element returns true when + evaluated by the predicate +
+ + ArgumentNullException + + + Thrown when the input sequence is null +
+
+ Example +
+

+

 let inputs = [2; 3; 4]
+
+ inputs |> Seq.findBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val findBack: predicate: ('T -> bool) -> source: 'T seq -> 'T
+
val elm: int
+ + + Evaluates to 4 +

+
+ Example +
+

+

 let inputs = [2; 3; 4]
+
+ inputs |> Seq.findBack (fun elm -> elm % 6 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val findBack: predicate: ('T -> bool) -> source: 'T seq -> 'T
+
val elm: int
+ + + Throws KeyNotFoundException +

+
+
+
+ +

+ + + Seq.findIndex predicate source + + +

+
+
+
+ Full Usage: + Seq.findIndex predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function to test whether the index of a particular element should be returned. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + int + + The index of the first element for which the predicate returns True. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the first element for which the given function returns True. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function to test whether the index of a particular element should be returned. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The index of the first element for which the predicate returns True. +

+
+
+ + + + + + + + + +
+ + KeyNotFoundException + + + Thrown if no element returns true when + evaluated by the predicate +
+ + ArgumentNullException + + + Thrown when the input sequence is null +
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> Seq.findIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val findIndex: predicate: ('T -> bool) -> source: 'T seq -> int
+
val elm: int
+ + + Evaluates to 1 +

+
+ Example +
+

+

 let inputs = [1; 2; 3; 4; 5]
+ inputs |> Seq.findIndex (fun elm -> elm % 6 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val findIndex: predicate: ('T -> bool) -> source: 'T seq -> int
+
val elm: int
+ + + Throws KeyNotFoundException +

+
+
+
+ +

+ + + Seq.findIndexBack predicate source + + +

+
+
+
+ Full Usage: + Seq.findIndexBack predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function to test whether the index of a particular element should be returned. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + int + + The index of the last element for which the predicate returns True. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the last element for which the given function returns True. +

+
+
+ + + + + +
+
+
+

+ This function digests the whole initial sequence as soon as it is called. As a + result this function should not be used with large or infinite sequences. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function to test whether the index of a particular element should be returned. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The index of the last element for which the predicate returns True. +

+
+
+ + + + + + + + + +
+ + KeyNotFoundException + + + Thrown if no element returns true when + evaluated by the predicate +
+ + ArgumentNullException + + + Thrown when the input sequence is null +
+
+ Example +
+

+

 let input = [1; 2; 3; 4; 5]
+
+ input |> Seq.findIndex (fun elm -> elm % 2 = 0)
+
+
val input: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val findIndex: predicate: ('T -> bool) -> source: 'T seq -> int
+
val elm: int
+ + + Evaluates to 3 +

+
+ Example +
+

+

 let input = [1; 2; 3; 4; 5]
+
+ input |> Seq.findIndex (fun elm -> elm % 6 = 0)
+
+
val input: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val findIndex: predicate: ('T -> bool) -> source: 'T seq -> int
+
val elm: int
+ + + Throws KeyNotFoundException +

+
+
+
+ +

+ + + Seq.fold folder state source + + +

+
+
+
+ Full Usage: + Seq.fold folder state source +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T -> 'State + - + A function that updates the state with each element from the sequence. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'State + + The state object after the folding function is applied to each element of the sequence. +
+
+
+
+
+
+ +
+
+

+ 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 +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T -> 'State +
+
+

+ A function that updates the state with each element from the sequence. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The state object after the folding function is applied to each element of the sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = [In 1; Out 2; In 3]
+
+ (0, inputs) ||> Seq.fold (fun acc charge ->
+     match charge with
+     | In i -> acc + i
+     | Out o -> acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge list
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
module Seq + +from Microsoft.FSharp.Collections
+
val fold<'T,'State> : folder: ('State -> 'T -> 'State) -> state: 'State -> source: 'T seq -> 'State
+
val acc: int
+
val charge: Charge
+
val i: int
+
val o: int
+ + + Evaluates to 2 +

+
+
+
+ +

+ + + Seq.fold2 folder state source1 source2 + + +

+
+
+
+ Full Usage: + Seq.fold2 folder state source1 source2 +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T1 -> 'T2 -> 'State + - + The function to update the state given the input elements. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    +
+
+ + Returns: + 'State + + The final state value. +
+
+
+
+
+
+ +
+
+

+ Applies a function to corresponding elements of two collections, threading an accumulator argument + through the computation. +

+
+
+ + + + + +
+
+
+

+ The two sequences need not have equal lengths: + when one sequence is exhausted any remaining elements in the other sequence are ignored. + If the input function is f and the elements are i0...iN and j0...jN + then computes f (... (f s i0 j0)...) iN jN. +

+
+
+ + folder + + : + 'State -> 'T1 -> 'T2 -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state value. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the either of the input sequences is null. +
+
+ Example +
+

+

 type CoinToss = Head | Tails
+
+ let data1 = [Tails; Head; Tails]
+ let data2 = [Tails; Head; Head]
+
+ (0, data1, data2) |||> Seq.fold2 (fun acc a b ->
+     match (a, b) with
+     | Head, Head -> acc + 1
+     | Tails, Tails -> acc + 1
+     | _ -> acc - 1)
+
+
type CoinToss = + | Head + | Tails
+
val data1: CoinToss list
+
union case CoinToss.Tails: CoinToss
+
union case CoinToss.Head: CoinToss
+
val data2: CoinToss list
+
module Seq + +from Microsoft.FSharp.Collections
+
val fold2<'T1,'T2,'State> : folder: ('State -> 'T1 -> 'T2 -> 'State) -> state: 'State -> source1: 'T1 seq -> source2: 'T2 seq -> 'State
+
val acc: int
+
val a: CoinToss
+
val b: CoinToss
+ + + Evaluates to 1 +

+
+
+
+ +

+ + + Seq.foldBack folder source state + + +

+
+
+
+ Full Usage: + Seq.foldBack folder source state +
+
+ Parameters: +
    + + + folder + + : + 'T -> 'State -> 'State + - + The function to update the state given the input elements. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State + + The state object after the folding function is applied to each element of the sequence. +
+
+
+
+
+
+ +
+
+

+ Applies a function to each element of the collection, starting from the end, 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)...) +

+
+
+ + + + + +
+
+
+

+ This function consumes the whole input sequence before returning the result. +

+
+
+ + folder + + : + 'T -> 'State -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The state object after the folding function is applied to each element of the sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 type Count =
+   { Positive: int
+     Negative: int
+     Text: string }
+
+ let sequence = [1; 0; -1; -2; 3]
+ let initialState = {Positive = 0; Negative = 0; Text = ""}
+
+ (sequence, initialState) ||> Seq.foldBack (fun a acc  ->
+     let text = acc.Text + " " + string a
+     if a >= 0 then
+         { acc with
+             Positive = acc.Positive + 1
+             Text = text }
+     else
+         { acc with
+             Negative = acc.Negative + 1
+             Text = text })
+
+
type Count = + { + Positive: int + Negative: int + Text: string + }
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val sequence: int list
+
val initialState: Count
+
module Seq + +from Microsoft.FSharp.Collections
+
val foldBack: folder: ('T -> 'State -> 'State) -> source: 'T seq -> state: 'State -> 'State
+
val a: int
+
val acc: Count
+
val text: string
+
Count.Text: string
+
Count.Positive: int
+
Count.Negative: int
+ + + Evaluates to +
 { Positive = 2
+   Negative = 3
+   Text = " 3 -2 -1 0 1" }
+
+
namespace Microsoft.FSharp.Text
+ + +

+
+
+
+ +

+ + + Seq.foldBack2 folder source1 source2 state + + +

+
+
+
+ Full Usage: + Seq.foldBack2 folder source1 source2 state +
+
+ Parameters: +
    + + + folder + + : + 'T1 -> 'T2 -> 'State -> 'State + - + The function to update the state given the input elements. + +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State + + The final state value. +
+
+
+
+
+
+ +
+
+

+ Applies a function to corresponding elements of two collections, starting from the end of the shorter collection, + threading an accumulator argument through the computation. The two sequences need not have equal lengths. + If the input function is f and the elements are i0...iN and j0...jM, N < M + then computes f i0 j0 (... (f iN jN s)...). +

+
+
+ + + + + +
+
+
+

+ + This function consumes the whole of both inputs sequences before returning the result. As a + result this function should not be used with large or infinite sequences. + +

+
+
+ + folder + + : + 'T1 -> 'T2 -> 'State -> 'State +
+
+

+ The function to update the state given the input elements. +

+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state value. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the either of the input sequences is null. +
+
+ Example +
+

+

 type Count =
+   { Positive: int
+     Negative: int
+     Text: string }
+
+ let inputs1 = [-1; -2; -3]
+ let inputs2 = [3; 2; 1; 0]
+ let initialState = {Positive = 0; Negative = 0; Text = ""}
+
+ (inputs1, inputs2, initialState) |||> Seq.foldBack2 (fun a b acc  ->
+     let text = acc.Text + "(" + string a + "," + string b + ") "
+     if a + b >= 0 then
+         { acc with
+             Positive = acc.Positive + 1
+             Text = text }
+     else
+         { acc with
+             Negative = acc.Negative + 1
+             Text = text }
+ )
+
+
type Count = + { + Positive: int + Negative: int + Text: string + }
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val inputs1: int list
+
val inputs2: int list
+
val initialState: Count
+
module Seq + +from Microsoft.FSharp.Collections
+
val foldBack2: folder: ('T1 -> 'T2 -> 'State -> 'State) -> source1: 'T1 seq -> source2: 'T2 seq -> state: 'State -> 'State
+
val a: int
+
val b: int
+
val acc: Count
+
val text: string
+
Count.Text: string
+
Count.Positive: int
+
Count.Negative: int
+ + + Evaluates to +
 { Positive = 2
+   Negative = 1
+   Text = " (-3,1) (-2,2) (-1,3)" }
+
+
namespace Microsoft.FSharp.Text
+ + +

+
+
+
+ +

+ + + Seq.forall predicate source + + +

+
+
+
+ Full Usage: + Seq.forall predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function to test an element of the input sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + bool + + True if every element of the sequence satisfies the predicate; false otherwise. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function to test an element of the input sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if every element of the sequence satisfies the predicate; false otherwise. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let isEven a = a % 2 = 0
+
+ [2; 42] |> Seq.forall isEven // evaluates to true
+
+ [1; 2] |> Seq.forall isEven // evaluates to false
+
+
val isEven: a: int -> bool
+
val a: int
+
module Seq + +from Microsoft.FSharp.Collections
+
val forall: predicate: ('T -> bool) -> source: 'T seq -> bool
+ + +

+
+
+
+ +

+ + + Seq.forall2 predicate source1 source2 + + +

+
+
+
+ Full Usage: + Seq.forall2 predicate source1 source2 +
+
+ Parameters: +
    + + + predicate + + : + 'T1 -> 'T2 -> bool + - + A function to test pairs of elements from the input sequences. + +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    +
+
+ + Returns: + bool + + True if all pairs satisfy the predicate; false otherwise. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T1 -> 'T2 -> bool +
+
+

+ A function to test pairs of elements from the input sequences. +

+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if all pairs satisfy the predicate; false otherwise. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input sequences is null. +
+
+ Example +
+

+

 let inputs1 = [1; 2; 3; 4; 5; 6]
+ let inputs2 = [1; 2; 3; 4; 5]
+
+ (inputs1, inputs2)  ||> Seq.forall2 (=)
+
+
val inputs1: int list
+
val inputs2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val forall2: predicate: ('T1 -> 'T2 -> bool) -> source1: 'T1 seq -> source2: 'T2 seq -> bool
+ + + Evaluates to true. + +

+
+ Example +
+

+

 let items1 = [2017; 1; 1]
+ let items2 = [2019; 19; 8]
+
+ (items1, items2) ||> Seq.forall2 (=)
+
+
val items1: int list
+
val items2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val forall2: predicate: ('T1 -> 'T2 -> bool) -> source1: 'T1 seq -> source2: 'T2 seq -> bool
+ + + Evaluates to false. + +

+
+
+
+ +

+ + + Seq.groupBy projection source + + +

+
+
+
+ Full Usage: + Seq.groupBy projection source +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function that transforms an element of the sequence into a comparable key. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + ('Key * 'T seq) seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function that transforms an element of the sequence into a comparable key. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + ('Key * 'T seq) seq +
+
+

+ The result sequence. +

+
+
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> Seq.groupBy (fun n -> n % 2)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val groupBy: projection: ('T -> 'Key) -> source: 'T seq -> ('Key * 'T seq) seq (requires equality)
+
val n: int
+ + + Evaluates to a sequence yielding the same results as seq { (1, seq { 1; 3; 5 }); (0, seq { 2; 4 }) } +

+
+
+
+ +

+ + + Seq.head source + + +

+
+
+
+ Full Usage: + Seq.head source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The first element of the sequence. +
+
+
+
+
+
+ +
+
+

+ Returns the first element of the sequence. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The first element of the sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input does not have any elements. +
+
+ Example +
+

+

 let inputs = ["banana"; "pear"]
+
+ inputs |> Seq.head
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val head: source: 'T seq -> 'T
+ + + Evaluates to banana +

+
+ Example +
+

+

 [] |> Seq.head
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val head: source: 'T seq -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Seq.indexed source + + +

+
+
+
+ Full Usage: + Seq.indexed source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + (int * 'T) seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Builds a new collection whose elements are the corresponding elements of the input collection + paired with the integer index (from 0) of each element. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + (int * 'T) seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 ["a"; "b"; "c"] |> Seq.indexed
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val indexed: source: 'T seq -> (int * 'T) seq
+ + + Evaluates to a sequence yielding the same results as seq { (0, "a"); (1, "b"); (2, "c") } +

+
+
+
+ +

+ + + Seq.init count initializer + + +

+
+
+
+ Full Usage: + Seq.init count initializer +
+
+ Parameters: +
    + + + count + + : + int + - + The maximum number of items to generate for the sequence. + +
    + + + initializer + + : + int -> 'T + - + A function that generates an item in the sequence from a given index. + +
    +
+
+ + Returns: + 'T seq + + 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. +

+
+
+ + count + + : + int +
+
+

+ The maximum number of items to generate for the sequence. +

+
+
+ + initializer + + : + int -> 'T +
+
+

+ A function that generates an item in the sequence from a given index. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when count is negative. +
+
+ Example +
+

+

 Seq.init 4 (fun v -> v + 5)
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val init: count: int -> initializer: (int -> 'T) -> 'T seq
+
val v: int
+ + + Evaluates to a sequence yielding the same results as seq { 5; 6; 7; 8 } +

+
+ Example +
+

+

 Seq.init -5 (fun v -> v + 5)
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val init: count: int -> initializer: (int -> 'T) -> 'T seq
+
val v: int
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Seq.initInfinite initializer + + +

+
+
+
+ Full Usage: + Seq.initInfinite initializer +
+
+ Parameters: +
    + + + initializer + + : + int -> 'T + - + A function that generates an item in the sequence from a given index. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + initializer + + : + int -> 'T +
+
+

+ A function that generates an item in the sequence from a given index. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+
+ Example +
+

+

 (+) 5 |> Seq.initInfinite
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val initInfinite: initializer: (int -> 'T) -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 5; 6; 7; 8; ... } +

+
+
+
+ +

+ + + Seq.insertAt index value source + + +

+
+
+
+ Full Usage: + Seq.insertAt index value source +
+
+ Parameters: +
    + + + index + + : + int + - + The index where the item should be inserted. + +
    + + + value + + : + 'T + - + The value to insert. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Return a new sequence with a new item inserted before the given index. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index where the item should be inserted. +

+
+
+ + value + + : + 'T +
+
+

+ The value to insert. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is below 0 or greater than source.Length. +
+
+ Example +
+

+

 seq { 0; 1; 2 } |> Seq.insertAt 1 9
+
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val insertAt: index: int -> value: 'T -> source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 0; 9; 1; 2 }. + +

+
+
+
+ +

+ + + Seq.insertManyAt index values source + + +

+
+
+
+ Full Usage: + Seq.insertManyAt index values source +
+
+ Parameters: +
    + + + index + + : + int + - + The index where the items should be inserted. + +
    + + + values + + : + 'T seq + - + The values to insert. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Return a new sequence with new items inserted before the given index. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index where the items should be inserted. +

+
+
+ + values + + : + 'T seq +
+
+

+ The values to insert. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is below 0 or greater than source.Length. +
+
+ Example +
+

+

     seq { 0; 1; 2 } |> Seq.insertManyAt 1 [8; 9]
+
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val insertManyAt: index: int -> values: 'T seq -> source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 0; 8; 9; 1; 2 }. + +

+
+
+
+ +

+ + + Seq.isEmpty source + + +

+
+
+
+ Full Usage: + Seq.isEmpty source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + bool + + True if the sequence is empty; false otherwise. +
+
+
+
+
+
+ +
+
+

+ Returns true if the sequence contains no elements, false otherwise. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the sequence is empty; false otherwise. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 [] |> Seq.isEmpty
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val isEmpty: source: 'T seq -> bool
+ + + Evaluates to true +

+
+ Example +
+

+

 ["pear"; "banana"] |> Seq.isEmpty
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val isEmpty: source: 'T seq -> bool
+ + + Evaluates to false +

+
+
+
+ +

+ + + Seq.item index source + + +

+
+
+
+ Full Usage: + Seq.item index source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of the element to retrieve. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The element at the specified index of the sequence. +
+
+
+
+
+
+ +
+
+

+ Computes the element at the specified index in the collection. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of the element to retrieve. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The element at the specified index of the sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the index is negative or the input sequence does not contain enough elements. +
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"]
+
+ inputs |> Seq.item 1
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val item: index: int -> source: 'T seq -> 'T
+ + + Evaluates to "b" +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"]
+
+ inputs |> Seq.item 4
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val item: index: int -> source: 'T seq -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Seq.iter action source + + +

+
+
+
+ Full Usage: + Seq.iter action source +
+
+ Parameters: +
    + + + action + + : + 'T -> unit + - + A function to apply to each element of the sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the collection. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T -> unit +
+
+

+ A function to apply to each element of the sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 ["a"; "b"; "c"] |> Seq.iter (printfn "%s")
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val iter: action: ('T -> unit) -> source: 'T seq -> unit
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 a
+ b
+ c
+
+ + + in the console. + +

+
+
+
+ +

+ + + Seq.iter2 action source1 source2 + + +

+
+
+
+ Full Usage: + Seq.iter2 action source1 source2 +
+
+ Parameters: +
    + + + action + + : + 'T1 -> 'T2 -> unit + - + A function to apply to each pair of elements from the input sequences. + +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    +
+
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T1 -> 'T2 -> unit +
+
+

+ A function to apply to each pair of elements from the input sequences. +

+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input sequences is null. +
+
+ Example +
+

+

 let inputs1 = ["a"; "b"; "c"]
+ let inputs2 = [1; 2; 3]
+
+ (inputs1, inputs2) ||> Seq.iter2 (printfn "%s: %i")
+
+
val inputs1: string list
+
val inputs2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val iter2: action: ('T1 -> 'T2 -> unit) -> source1: 'T1 seq -> source2: 'T2 seq -> unit
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 a: 1
+ b: 2
+ c: 3
+
+ + + in the console. + +

+
+
+
+ +

+ + + Seq.iteri action source + + +

+
+
+
+ Full Usage: + Seq.iteri action source +
+
+ Parameters: +
    + + + action + + : + int -> 'T -> unit + - + A function to apply to each element of the sequence that can also access the current index. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the collection. The integer passed to the + function indicates the index of element. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + int -> 'T -> unit +
+
+

+ A function to apply to each element of the sequence that can also access the current index. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"]
+
+ inputs |> Seq.iteri (fun i v -> printfn "{i}: {v}")
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val iteri: action: (int -> 'T -> unit) -> source: 'T seq -> unit
+
val i: int
+
val v: string
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 0: a
+ 1: b
+ 2: c
+
+ + + in the console. + +

+
+
+
+ +

+ + + Seq.iteri2 action source1 source2 + + +

+
+
+
+ Full Usage: + Seq.iteri2 action source1 source2 +
+
+ Parameters: +
    + + + action + + : + int -> 'T1 -> 'T2 -> unit + - + A function to apply to each pair of elements from the input sequences along with their index. + +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    +
+
+
+
+
+
+
+ +
+
+

+ 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. The integer passed to the + function indicates the index of element. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + int -> 'T1 -> 'T2 -> unit +
+
+

+ A function to apply to each pair of elements from the input sequences along with their index. +

+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input sequences is null. +
+
+ Example +
+

+

 let inputs1 = ["a"; "b"; "c"]
+ let inputs2 = ["banana"; "pear"; "apple"]
+
+ (inputs1, inputs2) ||> Seq.iteri2 (fun i s1 s2 -> printfn "Index {i}: {s1} - {s2}")
+
+
val inputs1: string list
+
val inputs2: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val iteri2: action: (int -> 'T1 -> 'T2 -> unit) -> source1: 'T1 seq -> source2: 'T2 seq -> unit
+
val i: int
+
val s1: string
+
val s2: string
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to unit and prints +
 Index 0: a - banana
+ Index 1: b - pear
+ Index 2: c - apple
+
+ + + in the console. + +

+
+
+
+ +

+ + + Seq.last source + + +

+
+
+
+ Full Usage: + Seq.last source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The last element of the sequence. +
+
+
+
+
+
+ +
+
+

+ Returns the last element of the sequence. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The last element of the sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input does not have any elements. +
+
+ Example +
+

+

 ["pear"; "banana"] |> Seq.last
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val last: source: 'T seq -> 'T
+ + + Evaluates to banana +

+
+ Example +
+

+

 [] |> Seq.last
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val last: source: 'T seq -> 'T
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Seq.length source + + +

+
+
+
+ Full Usage: + Seq.length source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + int + + The length of the sequence. +
+
+
+
+
+
+ +
+
+

+ Returns the length of the sequence +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The length of the sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"]
+
+ inputs |> Seq.length
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val length: source: 'T seq -> int
+ + + Evaluates to 3 +

+
+
+
+ +

+ + + Seq.map mapping source + + +

+
+
+
+ Full Usage: + Seq.map mapping source +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + A function to transform items from the input sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'U seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ A function to transform items from the input sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'U seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = ["a"; "bbb"; "cc"]
+
+ inputs |> Seq.map (fun x -> x.Length)
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val map: mapping: ('T -> 'U) -> source: 'T seq -> 'U seq
+
val x: string
+
property System.String.Length: int with get
+ + + Evaluates to a sequence yielding the same results as seq { 1; 3; 2 } +

+
+
+
+ +

+ + + Seq.map2 mapping source1 source2 + + +

+
+
+
+ Full Usage: + Seq.map2 mapping source1 source2 +
+
+ Parameters: +
    + + + mapping + + : + 'T1 -> 'T2 -> 'U + - + A function to transform pairs of items from the input sequences. + +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    +
+
+ + Returns: + 'U seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T1 -> 'T2 -> 'U +
+
+

+ A function to transform pairs of items from the input sequences. +

+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+
+
+ + Returns: + + 'U seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input sequences is null. +
+
+ Example +
+

+

 let inputs1 = ["a"; "bad"; "good"]
+ let inputs2 = [0; 2; 1]
+
+ (inputs1, inputs2) ||> Seq.map2 (fun x y -> x.[y])
+
+
val inputs1: string list
+
val inputs2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val map2: mapping: ('T1 -> 'T2 -> 'U) -> source1: 'T1 seq -> source2: 'T2 seq -> 'U seq
+
val x: string
+
val y: int
+ + + Evaluates to a sequence yielding the same results as seq { 'a'; 'd'; 'o' } +

+
+
+
+ +

+ + + Seq.map3 mapping source1 source2 source3 + + +

+
+
+
+ Full Usage: + Seq.map3 mapping source1 source2 source3 +
+
+ Parameters: +
    + + + mapping + + : + 'T1 -> 'T2 -> 'T3 -> 'U + - + The function to transform triples of elements from the input sequences. + +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    + + + source3 + + : + 'T3 seq + - + The third input sequence. + +
    +
+
+ + Returns: + 'U seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Builds a new collection whose elements are the results of applying the given function + to the corresponding triples of elements from the three sequences. If one input sequence if shorter than + the others then the remaining elements of the longer sequences are ignored. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T1 -> 'T2 -> 'T3 -> 'U +
+
+

+ The function to transform triples of elements from the input sequences. +

+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+ + source3 + + : + 'T3 seq +
+
+

+ The third input sequence. +

+
+
+
+
+ + Returns: + + 'U seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when any of the input sequences is null. +
+
+ Example +
+

+

 let inputs1 = [ "a"; "t"; "ti" ]
+ let inputs2 = [ "l"; "h"; "m" ]
+ let inputs3 = [ "l"; "e"; "e" ]
+
+ (inputs1, inputs2, inputs3) |||> Seq.map3 (fun x y z -> x + y + z)
+
+
val inputs1: string list
+
val inputs2: string list
+
val inputs3: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val map3: mapping: ('T1 -> 'T2 -> 'T3 -> 'U) -> source1: 'T1 seq -> source2: 'T2 seq -> source3: 'T3 seq -> 'U seq
+
val x: string
+
val y: string
+
val z: string
+ + + Evaluates to a sequence yielding the same results as seq { "all"; "the"; "time" } +

+
+
+
+ +

+ + + Seq.mapFold mapping state source + + +

+
+
+
+ Full Usage: + Seq.mapFold mapping state source +
+
+ Parameters: +
    + + + mapping + + : + 'State -> 'T -> 'Result * 'State + - + The function to transform elements from the input collection and accumulate the final value. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + source + + : + 'T seq + - + The input collection. + +
    +
+
+ + Returns: + 'Result seq * 'State + + The collection of transformed elements, and the final accumulated value. +
+
+
+
+
+
+ +
+
+

+ Combines map and fold. Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The function is also used to accumulate a final value. +

+
+
+ + + + + +
+
+
+

+ This function digests the whole initial sequence as soon as it is called. As a result this function should + not be used with large or infinite sequences. +

+
+
+ + mapping + + : + 'State -> 'T -> 'Result * 'State +
+
+

+ The function to transform elements from the input collection and accumulate the final value. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input collection. +

+
+
+
+
+ + Returns: + + 'Result seq * 'State +
+
+

+ The collection of transformed elements, and the final accumulated value. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input collection is null. +
+
+ Example +
+

+

Accumulate the charges, and double them as well
+ type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = seq { In 1; Out 2; In 3 }
+
+ let newCharges, balance =
+     (0, inputs) ||> Seq.mapFold (fun acc charge ->
+         match charge with
+         | In i -> In (i*2), acc + i
+         | Out o -> Out (o*2), acc - o)
+
+
Multiple items
val double: value: 'T -> double (requires member op_Explicit)

--------------------
type double = System.Double

--------------------
type double<'Measure> = float<'Measure>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val mapFold<'T,'State,'Result> : mapping: ('State -> 'T -> 'Result * 'State) -> state: 'State -> source: 'T seq -> 'Result seq * 'State
+ + + Evaluates newCharges to seq { In 2; Out 4; In 6 } and balance to 2. + +

+
+
+
+ +

+ + + Seq.mapFoldBack mapping source state + + +

+
+
+
+ Full Usage: + Seq.mapFoldBack mapping source state +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'State -> 'Result * 'State + - + The function to transform elements from the input collection and accumulate the final value. + +
    + + + source + + : + 'T seq + - + The input collection. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'Result seq * 'State + + The collection of transformed elements, and the final accumulated value. +
+
+
+
+
+
+ +
+
+

+ Combines map and foldBack. Builds a new collection whose elements are the results of applying the given function + to each of the elements of the collection. The function is also used to accumulate a final value. +

+
+
+ + + + + +
+
+
+

+ This function digests the whole initial sequence as soon as it is called. As a result this function should + not be used with large or infinite sequences. +

+
+
+ + mapping + + : + 'T -> 'State -> 'Result * 'State +
+
+

+ The function to transform elements from the input collection and accumulate the final value. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input collection. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'Result seq * 'State +
+
+

+ The collection of transformed elements, and the final accumulated value. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input collection is null. +
+
+ Example +
+

+ Accumulate the charges from back to front, and double them as well +

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = seq { In 1; Out 2; In 3 }
+
+ let newCharges, balance =
+     (inputs, 0) ||> Seq.mapFoldBack (fun charge acc ->
+         match charge with
+         | In i -> In (i*2), acc + i
+         | Out o -> Out (o*2), acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
val newCharges: Charge seq
+
val balance: int
+
module Seq + +from Microsoft.FSharp.Collections
+
val mapFoldBack: mapping: ('T -> 'State -> 'Result * 'State) -> source: 'T seq -> state: 'State -> 'Result seq * 'State
+
val charge: Charge
+
val acc: int
+
val i: int
+
val o: int
+ + + Evaluates newCharges to seq { In 2; Out 4; In 6 } and balance to 2. + +

+
+
+
+ +

+ + + Seq.mapi mapping source + + +

+
+
+
+ Full Usage: + Seq.mapi mapping source +
+
+ Parameters: +
    + + + mapping + + : + int -> 'T -> 'U + - + A function to transform items from the input sequence that also supplies the current index. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'U seq + + The result 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. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + int -> 'T -> 'U +
+
+

+ A function to transform items from the input sequence that also supplies the current index. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'U seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = [ 10; 10; 10 ]
+
+ inputs |> Seq.mapi (fun i x -> i + x)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val mapi: mapping: (int -> 'T -> 'U) -> source: 'T seq -> 'U seq
+
val i: int
+
val x: int
+ + + Evaluates to a sequence yielding the same results as seq { 10; 11; 12 } +

+
+
+
+ +

+ + + Seq.mapi2 mapping source1 source2 + + +

+
+
+
+ Full Usage: + Seq.mapi2 mapping source1 source2 +
+
+ Parameters: +
    + + + mapping + + : + int -> 'T1 -> 'T2 -> 'U + - + A function to transform pairs of items from the input sequences that also supplies the current index. + +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    +
+
+ + Returns: + 'U seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. The integer index passed to the + function indicates the index (from 0) of element being transformed. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + int -> 'T1 -> 'T2 -> 'U +
+
+

+ A function to transform pairs of items from the input sequences that also supplies the current index. +

+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+
+
+ + Returns: + + 'U seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input sequences is null. +
+
+ Example +
+

+

 let inputs1 = ["a"; "bad"; "good"]
+ let inputs2 = [0; 2; 1]
+
+ (inputs1, inputs2) ||> Seq.mapi2 (fun i x y -> i, x[y])
+
+
val inputs1: string list
+
val inputs2: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val mapi2: mapping: (int -> 'T1 -> 'T2 -> 'U) -> source1: 'T1 seq -> source2: 'T2 seq -> 'U seq
+
val i: int
+
val x: string
+
val y: int
+ + + Evaluates to a sequence yielding the same results as seq { (0, 'a'); (1, 'd'); (2, 'o') } +

+
+
+
+ +

+ + + Seq.max source + + +

+
+
+
+ Full Usage: + Seq.max source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The largest element of the sequence. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns the greatest of all elements of the sequence, compared via Operators.max +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The largest element of the sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+
+ Example +
+

+

 let inputs = [ 10; 12; 11 ]
+
+ inputs |> Seq.max
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val max: source: 'T seq -> 'T (requires comparison)
+ + + Evaluates to 12 +

+
+ Example +
+

+

 let inputs = [ ]
+
+ inputs |> Seq.max
+
+
val inputs: 'a list
+
module Seq + +from Microsoft.FSharp.Collections
+
val max: source: 'T seq -> 'T (requires comparison)
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Seq.maxBy projection source + + +

+
+
+
+ Full Usage: + Seq.maxBy projection source +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'U + - + A function to transform items from the input sequence into comparable keys. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The largest element of the sequence. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Returns the greatest of all elements of the sequence, compared via Operators.max on the function result. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> 'U +
+
+

+ A function to transform items from the input sequence into comparable keys. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The largest element of the sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+
+ Example +
+

+

 let inputs = ["aaa"; "b"; "cccc"]
+
+ inputs |> Seq.maxBy (fun s -> s.Length)
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val maxBy: projection: ('T -> 'U) -> source: 'T seq -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to "cccc" +

+
+ Example +
+

+

 let inputs = [ ]
+
+ inputs |> Seq.maxBy (fun s -> s.Length)
+
+
val inputs: 'a list
+
module Seq + +from Microsoft.FSharp.Collections
+
val maxBy: projection: ('T -> 'U) -> source: 'T seq -> 'T (requires comparison)
+
val s: obj
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Seq.min source + + +

+
+
+
+ Full Usage: + Seq.min source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The smallest element of the sequence. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns the lowest of all elements of the sequence, compared via Operators.min. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The smallest element of the sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+
+ Example +
+

+

 let inputs = [10; 12; 11]
+
+ inputs |> Seq.min
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val min: source: 'T seq -> 'T (requires comparison)
+ + + Evaluates to 10 +

+
+ Example +
+

+

 let inputs = []
+
+ inputs |> Seq.min
+
+
val inputs: 'a list
+
module Seq + +from Microsoft.FSharp.Collections
+
val min: source: 'T seq -> 'T (requires comparison)
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Seq.minBy projection source + + +

+
+
+
+ Full Usage: + Seq.minBy projection source +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'U + - + A function to transform items from the input sequence into comparable keys. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The smallest element of the sequence. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Returns the lowest of all elements of the sequence, compared via Operators.min on the function result. +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> 'U +
+
+

+ A function to transform items from the input sequence into comparable keys. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The smallest element of the sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+
+ Example +
+

+

 let inputs = [ "aaa"; "b"; "cccc" ]
+
+ inputs |> Seq.minBy (fun s -> s.Length)
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val minBy: projection: ('T -> 'U) -> source: 'T seq -> 'T (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to "b" +

+
+ Example +
+

+

 let inputs = []
+
+ inputs |> Seq.minBy (fun (s: string) -> s.Length)
+
+
val inputs: 'a list
+
module Seq + +from Microsoft.FSharp.Collections
+
val minBy: projection: ('T -> 'U) -> source: 'T seq -> 'T (requires comparison)
+
val s: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
property System.String.Length: int with get
+ + + Throws System.ArgumentException. + +

+
+
+
+ +

+ + + Seq.ofArray source + + +

+
+
+
+ Full Usage: + Seq.ofArray source +
+
+ Parameters: +
    + + + source + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Views the given array as a sequence. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = [| 1; 2; 5 |]
+
+ inputs |> Seq.ofArray
+
+
val inputs: int array
+
module Seq + +from Microsoft.FSharp.Collections
+
val ofArray: source: 'T array -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 5 }. + +

+
+
+
+ +

+ + + Seq.ofList source + + +

+
+
+
+ Full Usage: + Seq.ofList source +
+
+ Parameters: +
    + + + source + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Views the given list as a sequence. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+
+ Example +
+

+

 let inputs = [ 1; 2; 5 ]
+
+ inputs |> Seq.ofList
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val ofList: source: 'T list -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 5 }. + +

+
+
+
+ +

+ + + Seq.pairwise source + + +

+
+
+
+ Full Usage: + Seq.pairwise source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + ('T * 'T) seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + ('T * 'T) seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = seq { 1; 2; 3; 4 }
+
+ inputs |> Seq.pairwise
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val pairwise: source: 'T seq -> ('T * 'T) seq
+ + + Evaluates to a sequence yielding the same results as seq { (1, 2); (2, 3); (3, 4) }. + +

+
+
+
+ +

+ + + Seq.permute indexMap source + + +

+
+
+
+ Full Usage: + Seq.permute indexMap source +
+
+ Parameters: +
    + + + indexMap + + : + int -> int + - + The function that maps input indices to output indices. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Returns a sequence with all elements permuted according to the + specified permutation. +

+
+
+ + + + + +
+
+
+

+ This function consumes the whole input sequence before yielding the first element of the result sequence. +

+
+
+ + indexMap + + : + int -> int +
+
+

+ The function that maps input indices to output indices. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when indexMap does not produce a valid permutation. +
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4]
+
+ inputs |> Seq.permute (fun x -> (x + 1) % 4)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val permute: indexMap: (int -> int) -> source: 'T seq -> 'T seq
+
val x: int
+ + + Evaluates to a sequence yielding the same results as seq { 4; 1; 2; 3 }. + +

+
+
+
+ +

+ + + Seq.pick chooser source + + +

+
+
+
+ Full Usage: + Seq.pick chooser source +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + A function to transform each item of the input sequence into an option of the output type. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'U + + The selected element. +
+
+
+
+
+
+ +
+
+

+ Applies the given function to successive elements, returning the first + x where the function returns "Some(x)". +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ A function to transform each item of the input sequence into an option of the output type. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The selected element. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + KeyNotFoundException + + + Thrown when every item of the sequence + evaluates to None when the given function is applied. +
+
+ Example +
+

+

 let input = [1; 2; 3]
+
+ input |> Seq.pick (fun n -> if n % 2 = 0 then Some (string n) else None)
+
+
val input: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val pick: chooser: ('T -> 'U option) -> source: 'T seq -> 'U
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to "2". + +

+
+ Example +
+

+

 let input = [1; 2; 3]
+
+ input |> Seq.pick (fun n -> if n > 3 = 0 then Some (string n) else None)
+
+
val input: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val pick: chooser: ('T -> 'U option) -> source: 'T seq -> 'U
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Throws KeyNotFoundException. + +

+
+
+
+ +

+ + + Seq.randomChoice source + + +

+
+
+
+ Full Usage: + Seq.randomChoice source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + A randomly selected element from the input sequence. +
+
+
+
+
+
+ +
+
+

+ + Returns a random element from the given sequence. + +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ A randomly selected element from the input sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomChoice
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to 3. + +

+
+
+
+ +

+ + + Seq.randomChoiceBy randomizer source + + +

+
+
+
+ Full Usage: + Seq.randomChoiceBy randomizer source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + A randomly selected element from the input sequence. +
+
+
+
+
+
+ +
+
+

+ + Returns a random element from the given sequence with the specified randomizer function. + +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ A randomly selected element from the input sequence. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a number outside the range [0.0..1.0). +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+ let randomizer = Random.Shared.NextDouble
+
+ inputs |> Seq.randomChoiceBy randomizer
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val randomizer: obj
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to 3. + +

+
+
+
+ +

+ + + Seq.randomChoiceWith random source + + +

+
+
+
+ Full Usage: + Seq.randomChoiceWith random source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + A randomly selected element from the input array. +
+
+
+
+
+
+ +
+
+

+ + Returns a random element from the given sequence with the specified Random instance. + +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ A randomly selected element from the input array. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomChoiceWith Random.Shared
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to 3. + +

+
+
+
+ +

+ + + Seq.randomChoices count source + + +

+
+
+
+ Full Usage: + Seq.randomChoices count source +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + A sequence of randomly selected elements from the input sequence. +
+
+
+
+
+
+ +
+
+

+ + Returns an sequence of random elements from the given sequence, each element can be selected multiple times. + +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ A sequence of randomly selected elements from the input sequence. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomChoices 3
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to seq { 3; 1; 3 }. + +

+
+
+
+ +

+ + + Seq.randomChoicesBy randomizer count source + + +

+
+
+
+ Full Usage: + Seq.randomChoicesBy randomizer count source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + A sequence of randomly selected elements from the input sequence. +
+
+
+
+
+
+ +
+
+

+ + Returns a sequence of random elements from the given sequence with the specified randomizer function, each element can be selected multiple times. + +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ A sequence of randomly selected elements from the input sequence. +

+
+
+ + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a number outside the range [0.0..1.0). +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomChoicesBy Random.Shared.NextDouble 3
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to seq { 3; 1; 3 }. + +

+
+
+
+ +

+ + + Seq.randomChoicesWith random count source + + +

+
+
+
+ Full Usage: + Seq.randomChoicesWith random count source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + A sequence of randomly selected elements from the input sequence. +
+
+
+
+
+
+ +
+
+

+ + Returns a sequence of random elements from the given sequence with the specified Random instance, each element can be selected multiple times. + +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ A sequence of randomly selected elements from the input sequence. +

+
+
+ + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomChoicesWith Random.Shared 3
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to seq { 3; 1; 3 }. + +

+
+
+
+ +

+ + + Seq.randomSample count source + + +

+
+
+
+ Full Usage: + Seq.randomSample count source +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + A sequence of randomly selected elements from the input sequence. +
+
+
+
+
+
+ +
+
+

+ + Returns a random sample of elements from the given sequence, each element can be selected only once. + +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ A sequence of randomly selected elements from the input sequence. +

+
+
+ + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentException + + + Thrown when count is greater than the length of the input sequence. +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomSample 3
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to seq { 3; 1; 2 }. + +

+
+
+
+ +

+ + + Seq.randomSampleBy randomizer count source + + +

+
+
+
+ Full Usage: + Seq.randomSampleBy randomizer count source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + A sequence of randomly selected elements from the input sequence. +
+
+
+
+
+
+ +
+
+

+ + Returns a random sample of elements from the given sequence with the specified randomizer function, each element can be selected only once. + +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ A sequence of randomly selected elements from the input sequence. +

+
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentException + + + Thrown when count is greater than the length of the input sequence. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a number outside the range [0.0..1.0). +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomSampleBy Random.Shared.NextDouble 3
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to seq { 3; 1; 2 }. + +

+
+
+
+ +

+ + + Seq.randomSampleWith random count source + + +

+
+
+
+ Full Usage: + Seq.randomSampleWith random count source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + count + + : + int + - + The number of elements to return. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + A sequence of randomly selected elements from the input sequence. +
+
+
+
+
+
+ +
+
+

+ + Returns a random sample of elements from the given sequence with the specified Random instance, each element can be selected only once. + +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + count + + : + int +
+
+

+ The number of elements to return. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ A sequence of randomly selected elements from the input sequence. +

+
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+ + ArgumentException + + + Thrown when count is less than 0. +
+ + ArgumentException + + + Thrown when count is greater than the length of the input sequence. +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomSampleWith Random.Shared 3
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to seq { 3; 1; 2 }. + +

+
+
+
+ +

+ + + Seq.randomShuffle source + + +

+
+
+
+ Full Usage: + Seq.randomShuffle source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Return a new sequence shuffled in a random order. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomShuffle
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to seq { 0; 2; 4; 3; 1 }. + +

+
+
+
+ +

+ + + Seq.randomShuffleBy randomizer source + + +

+
+
+
+ Full Usage: + Seq.randomShuffleBy randomizer source +
+
+ Parameters: +
    + + + randomizer + + : + unit -> float + - + The randomizer function, must return a float number from [0.0..1.0) range. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Return a new sequence shuffled in a random order with the specified randomizer function. +

+
+
+ + + + + +
+
+
+
+
+ + randomizer + + : + unit -> float +
+
+

+ The randomizer function, must return a float number from [0.0..1.0) range. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentOutOfRangeException + + + Thrown when the randomizer function returns a number outside the range [0.0..1.0). +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomShuffleBy Random.Shared.NextDouble
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to seq { 0; 2; 4; 3; 1 }. + +

+
+
+
+ +

+ + + Seq.randomShuffleWith random source + + +

+
+
+
+ Full Usage: + Seq.randomShuffleWith random source +
+
+ Parameters: +
    + + + random + + : + Random + - + The Random instance. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Return a new sequence shuffled in a random order with the specified Random instance. +

+
+
+ + + + + +
+
+
+
+
+ + random + + : + Random +
+
+

+ The Random instance. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentNullException + + + Thrown when the random argument is null. +
+
+ Example +
+

+

 let inputs = seq { 0; 1; 2; 3; 4 }
+
+ inputs |> Seq.randomShuffleWith Random.Shared
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+ + + Can evaluate to seq { 0; 2; 4; 3; 1 }. + +

+
+
+
+ +

+ + + Seq.readonly source + + +

+
+
+
+ Full Usage: + Seq.readonly source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ input |> Seq.readonly
+
+
val input: int array
+
module Seq + +from Microsoft.FSharp.Collections
+
val readonly: source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 3 }. + +

+
+ Example +
+

+

 let input = [| 1; 2; 3 |]
+
+ let readonlyView = input |> Seq.readonly
+
+ (readonlyView :?> int array).[1] <- 4
+
+
val input: int array
+
val readonlyView: int seq
+
module Seq + +from Microsoft.FSharp.Collections
+
val readonly: source: 'T seq -> 'T seq
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T array = 'T array
+ + + Throws an InvalidCastException. + +

+
+
+
+ +

+ + + Seq.reduce reduction source + + +

+
+
+
+ Full Usage: + Seq.reduce reduction source +
+
+ Parameters: +
    + + + reduction + + : + 'T -> 'T -> 'T + - + A function that takes in the current accumulated result and the next + element of the sequence to produce the next accumulated result. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The final result of the reduction function. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + reduction + + : + 'T -> 'T -> 'T +
+
+

+ A function that takes in the current accumulated result and the next + element of the sequence to produce the next accumulated result. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The final result of the reduction function. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+
+ Example +
+

+

 let inputs = [1; 3; 4; 2]
+
+ inputs |> Seq.reduce (fun a b -> a * 10 + b)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val reduce: reduction: ('T -> 'T -> 'T) -> source: 'T seq -> 'T
+
val a: int
+
val b: int
+ + + Evaluates to 1342, by computing ((1 * 10 + 3) * 10 + 4) * 10 + 2 +

+
+
+
+ +

+ + + Seq.reduceBack reduction source + + +

+
+
+
+ Full Usage: + Seq.reduceBack reduction source +
+
+ Parameters: +
    + + + reduction + + : + 'T -> 'T -> 'T + - + A function that takes in the next-to-last element of the sequence and the + current accumulated result to produce the next accumulated result. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T + + The final result of the reductions. +
+
+
+
+
+
+ +
+
+

+ Applies a function to each element of the sequence, starting from the end, 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)). +

+
+
+ + + + + +
+
+
+

+ This function consumes the whole input sequence before returning the result. +

+
+
+ + reduction + + : + 'T -> 'T -> 'T +
+
+

+ A function that takes in the next-to-last element of the sequence and the + current accumulated result to produce the next accumulated result. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The final result of the reductions. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty. +
+
+ Example +
+

+

 let inputs = [1; 3; 4; 2]
+
+ inputs |> Seq.reduceBack (fun a b -> a + b * 10)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val reduceBack: reduction: ('T -> 'T -> 'T) -> source: 'T seq -> 'T
+
val a: int
+
val b: int
+ + + Evaluates to 2431, by computing 1 + (3 + (4 + 2 * 10) * 10) * 10 +

+
+
+
+ +

+ + + Seq.removeAt index source + + +

+
+
+
+ Full Usage: + Seq.removeAt index source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of the item to be removed. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Return a new sequence with the item at a given index removed. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of the item to be removed. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is outside 0..source.Length - 1 +
+
+ Example +
+

+

 seq { 0; 1; 2 } |> Seq.removeAt 1
+
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val removeAt: index: int -> source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 0; 2 }. + +

+
+
+
+ +

+ + + Seq.removeManyAt index count source + + +

+
+
+
+ Full Usage: + Seq.removeManyAt index count source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of the item to be removed. + +
    + + + count + + : + int + - + The number of items to remove. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Return a new sequence with the number of items starting at a given index removed. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of the item to be removed. +

+
+
+ + count + + : + int +
+
+

+ The number of items to remove. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is outside 0..source.Length - count +
+
+ Example +
+

+

 seq { 0; 1; 2; 3 } |> Seq.removeManyAt 1 2
+
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val removeManyAt: index: int -> count: int -> source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 0; 3 }. + +

+
+
+
+ +

+ + + Seq.replicate count initial + + +

+
+
+
+ Full Usage: + Seq.replicate count initial +
+
+ Parameters: +
    + + + count + + : + int + - + The number of elements to replicate. + +
    + + + initial + + : + 'T + - + The value to replicate + +
    +
+
+ + Returns: + 'T seq + + The generated sequence. +
+
+
+
+
+
+ +
+
+

+ Creates a sequence by replicating the given initial value. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of elements to replicate. +

+
+
+ + initial + + : + 'T +
+
+

+ The value to replicate +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The generated sequence. +

+
+
+
+ Example +
+

+

 Seq.replicate 3 "a"
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val replicate: count: int -> initial: 'T -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { "a"; "a"; "a" }. + +

+
+
+
+ +

+ + + Seq.rev source + + +

+
+
+
+ Full Usage: + Seq.rev source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The reversed sequence. +
+
+
+
+
+
+ +
+
+

+ Returns a new sequence with the elements in reverse order. +

+
+
+ + + + + +
+
+
+

+ This function consumes the whole input sequence before yielding the first element of the reversed sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The reversed sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let input = seq { 0; 1; 2 }
+
+ input |> Seq.rev
+
+
val input: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val rev: source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 2; 1; 0 }. + +

+
+
+
+ +

+ + + Seq.scan folder state source + + +

+
+
+
+ Full Usage: + Seq.scan folder state source +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T -> 'State + - + A function that updates the state with each element from the sequence. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'State seq + + The resulting sequence of computed states. +
+
+
+
+
+
+ +
+
+

+ Like fold, but computes on-demand and returns the sequence of intermediary and final results. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T -> 'State +
+
+

+ A function that updates the state with each element from the sequence. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'State seq +
+
+

+ The resulting sequence of computed states. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+ Apply a list charges and collect the running balances as each is applied: +

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = seq { In 1; Out 2; In 3 }
+
+ (0, inputs) ||> Seq.scan (fun acc charge ->
+     match charge with
+     | In i -> acc + i
+     | Out o -> acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
module Seq + +from Microsoft.FSharp.Collections
+
val scan<'T,'State> : folder: ('State -> 'T -> 'State) -> state: 'State -> source: 'T seq -> 'State seq
+
val acc: int
+
val charge: Charge
+
val i: int
+
val o: int
+ + + Evaluates to a sequence yielding the same results as seq { 0; 1; -1; 2 }. Note 0 is the initial + state, 1 the next state, -1 the next state, and 2 the final state. + +

+
+
+
+ +

+ + + Seq.scanBack folder source state + + +

+
+
+
+ Full Usage: + Seq.scanBack folder source state +
+
+ Parameters: +
    + + + folder + + : + 'T -> 'State -> 'State + - + A function that updates the state with each element from the sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State seq + + The resulting sequence of computed states. +
+
+
+
+
+
+ +
+
+

+ Like foldBack, but returns the sequence of intermediary and final results. +

+
+
+ + + + + +
+
+
+

+ 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. + +

+
+
+ + folder + + : + 'T -> 'State -> 'State +
+
+

+ A function that updates the state with each element from the sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State seq +
+
+

+ The resulting sequence of computed states. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+ Apply a list charges from back to front, and collect the running balances as each is applied: +

 type Charge =
+     | In of int
+     | Out of int
+
+ let inputs = [ In 1; Out 2; In 3 ]
+
+ (inputs, 0) ||> Seq.scanBack (fun charge acc ->
+     match charge with
+     | In i -> acc + i
+     | Out o -> acc - o)
+
+
type Charge = + | In of int + | Out of int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inputs: Charge list
+
union case Charge.In: int -> Charge
+
union case Charge.Out: int -> Charge
+
module Seq + +from Microsoft.FSharp.Collections
+
val scanBack: folder: ('T -> 'State -> 'State) -> source: 'T seq -> state: 'State -> 'State seq
+
val charge: Charge
+
val acc: int
+
val i: int
+
val o: int
+ + + Evaluates to a sequence yielding the same results as seq { 2; 1; 3; 0 } by processing each input from back to front. Note 0 is the initial + state, 3 the next state, 1 the next state, and 2 the final state, and the states + are produced from back to front. + +

+
+
+
+ +

+ + + Seq.singleton value + + +

+
+
+
+ Full Usage: + Seq.singleton value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The input item. + +
    +
+
+ + Returns: + 'T seq + + The result sequence of one item. +
+
+
+
+
+
+ +
+
+

+ Returns a sequence yielding one item only. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The input item. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence of one item. +

+
+
+
+ Example +
+

+

 Seq.singleton 7
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val singleton: value: 'T -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 7 }. + +

+
+
+
+ +

+ + Seq.skip count source + + +

+
+
+
+ Full Usage: + Seq.skip count source +
+
+ Parameters: +
    + + + count + + : + int + - + The number of items to skip. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Returns a sequence that skips N elements of the underlying sequence and then yields the + remaining elements of the sequence. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of items to skip. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + InvalidOperationException + + + Thrown when count exceeds the number of elements + in the sequence. +
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> Seq.skip 2
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val skip: count: int -> source: 'T seq -> 'T seq
+ + + Evaluates a sequence yielding the same results as seq { "c"; "d" } +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> Seq.skip 5
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val skip: count: int -> source: 'T seq -> 'T seq
+ + + Throws ArgumentException. + +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> Seq.skip -1
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val skip: count: int -> source: 'T seq -> 'T seq
+ + + Evaluates a sequence yielding the same results as seq { "a"; "b"; "c"; "d" }. + +

+
+
+
+ +

+ + + Seq.skipWhile predicate source + + +

+
+
+
+ Full Usage: + Seq.skipWhile predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates an element of the sequence to a boolean value. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates an element of the sequence to a boolean value. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = seq { "a"; "bbb"; "cc"; "d" }
+
+ inputs |> Seq.skipWhile (fun x -> x.Length < 3)
+
+
val inputs: string seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val skipWhile: predicate: ('T -> bool) -> source: 'T seq -> 'T seq
+
val x: string
+
property System.String.Length: int with get
+ + + Evaluates a sequence yielding the same results as seq { "bbb"; "cc"; "d" } +

+
+
+
+ +

+ + + Seq.sort source + + +

+
+
+
+ Full Usage: + Seq.sort source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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 and uses a stable sort, that is the original order of equal elements is preserved. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let input = seq { 8; 4; 3; 1; 6; 1 }
+
+ Seq.sort input
+
+
val input: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val sort: source: 'T seq -> 'T seq (requires comparison)
+ + + Evaluates to a sequence yielding the same results as seq { 1; 1 3; 4; 6; 8 }. + +

+
+
+
+ +

+ + + Seq.sortBy projection source + + +

+
+
+
+ Full Usage: + Seq.sortBy projection source +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function to transform items of the input sequence into comparable keys. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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 and uses a stable sort, that is the original order of equal elements is preserved. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function to transform items of the input sequence into comparable keys. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let input = [ "a"; "bbb"; "cccc"; "dd" ]
+
+ input |> Seq.sortBy (fun s -> s.Length)
+
+
val input: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val sortBy: projection: ('T -> 'Key) -> source: 'T seq -> 'T seq (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to a sequence yielding the same results as seq { "a"; "dd"; "bbb"; "cccc" }. + +

+
+
+
+ +

+ + + Seq.sortByDescending projection source + + +

+
+
+
+ Full Usage: + Seq.sortByDescending projection source +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Key + - + A function to transform items of the input sequence into comparable keys. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Key +
+
+
+
+
+ +
+
+

+ Applies a key-generating function to each element of a sequence and yield a sequence ordered + descending 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. +

+
+
+ + projection + + : + 'T -> 'Key +
+
+

+ A function to transform items of the input sequence into comparable keys. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let input = ["a"; "bbb"; "cccc"; "dd"]
+
+ input |> Seq.sortByDescending (fun s -> s.Length)
+
+
val input: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val sortByDescending: projection: ('T -> 'Key) -> source: 'T seq -> 'T seq (requires comparison)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to a sequence yielding the same results as seq { "cccc"; "bbb"; "dd"; "a" }. + +

+
+
+
+ +

+ + + Seq.sortDescending source + + +

+
+
+
+ Full Usage: + Seq.sortDescending source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Yields a sequence ordered descending 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. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let input = seq { 8; 4; 3; 1; 6; 1 }
+
+ input |> Seq.sortDescending
+
+
val input: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val sortDescending: source: 'T seq -> 'T seq (requires comparison)
+ + + Evaluates to a sequence yielding the same results as seq { 8; 6; 4; 3; 1; 1 }. + +

+
+
+
+ +

+ + + Seq.sortWith comparer source + + +

+
+
+
+ Full Usage: + Seq.sortWith comparer source +
+
+ Parameters: +
    + + + comparer + + : + 'T -> 'T -> int + - + The function to compare the collection elements. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Yields a sequence ordered using the given comparison function. +

+
+
+ + + + + +
+
+
+

+ 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 and uses a stable sort, that is the original order of equal elements is preserved. +

+
+
+ + comparer + + : + 'T -> 'T -> int +
+
+

+ The function to compare the collection elements. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+
+ Example +
+

+ Sort a sequence of pairs using a comparison function that compares string lengths then index numbers: +

 let compareEntries (n1: int, s1: string) (n2: int, s2: string) =
+     let c = compare s1.Length s2.Length
+     if c <> 0 then c else
+     compare n1 n2
+
+ let input = [ (0,"aa"); (1,"bbb"); (2,"cc"); (3,"dd") ]
+
+ input |> Seq.sortWith compareEntries
+
+
val compareEntries: n1: int * s1: string -> n2: int * s2: string -> int
+
val n1: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val s1: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val n2: int
+
val s2: string
+
val c: int
+
val compare: e1: 'T -> e2: 'T -> int (requires comparison)
+
property System.String.Length: int with get
+
val input: (int * string) list
+
module Seq + +from Microsoft.FSharp.Collections
+
val sortWith: comparer: ('T -> 'T -> int) -> source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { (0, "aa"); (2, "cc"); (3, "dd"); (1, "bbb") }. + +

+
+
+
+ +

+ + + Seq.splitInto count source + + +

+
+
+
+ Full Usage: + Seq.splitInto count source +
+
+ Parameters: +
    + + + count + + : + int + - + The maximum number of chunks. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T array seq + + The sequence split into chunks. +
+
+
+
+
+
+ +
+
+

+ Splits the input sequence into at most count chunks. +

+
+
+ + + + + +
+
+
+

+ 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.This function consumes the whole input sequence before yielding the first element of the result sequence. +

+
+
+ + count + + : + int +
+
+

+ The maximum number of chunks. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T array seq +
+
+

+ The sequence split into chunks. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when count is not positive. +
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> Seq.splitInto 3
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val splitInto: count: int -> source: 'T seq -> 'T array seq
+ + + Evaluates to a sequence yielding the same results as seq { [|1; 2|]; [|3; 4|]; [|5|] } +

+
+ Example +
+

+

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> Seq.splitInto -1
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val splitInto: count: int -> source: 'T seq -> 'T array seq
+ + + Throws ArgumentException +

+
+
+
+ +

+ + + Seq.sum source + + +

+
+
+
+ Full Usage: + Seq.sum source +
+
+ Parameters: +
    + + + source + + : + ^T seq + - + The input sequence. + +
    +
+
+ + Returns: + ^T + + The computed sum. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Returns the sum of the elements in the sequence. +

+
+
+ + + + + +
+
+
+

+ The elements are summed using the + operator and Zero property associated with the generated type. +

+
+
+ + source + + : + ^T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The computed sum. +

+
+
+
+ Example +
+

+

 let input = [ 1; 5; 3; 2 ]
+
+ input |> Seq.sum
+
+
val input: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val sum: source: 'T seq -> 'T (requires member (+) and member Zero)
+ + + Evaluates to 11. + +

+
+
+
+ +

+ + + Seq.sumBy projection source + + +

+
+
+
+ Full Usage: + Seq.sumBy projection source +
+
+ Parameters: +
    + + + projection + + : + 'T -> ^U + - + A function to transform items from the input sequence into the type that will be summed. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + ^U + + The computed sum. +
+ Modifiers: + inline +
+ Type parameters: + 'T, ^U +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + projection + + : + 'T -> ^U +
+
+

+ A function to transform items from the input sequence into the type that will be summed. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + ^U +
+
+

+ The computed sum. +

+
+
+
+ Example +
+

+

 let input = [ "aa"; "bbb"; "cc" ]
+
+ input |> Seq.sumBy (fun s -> s.Length)
+
+
val input: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val sumBy: projection: ('T -> 'U) -> source: 'T seq -> 'U (requires member (+) and member Zero)
+
val s: string
+
property System.String.Length: int with get
+ + + Evaluates to 7. + +

+
+
+
+ +

+ + + Seq.tail source + + +

+
+
+
+ Full Usage: + Seq.tail source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Returns a sequence that skips 1 element of the underlying sequence and then yields the + remaining elements of the sequence. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + InvalidOperationException + + + Thrown when the input sequence is empty. +
+
+ Example +
+

+

 let inputs = ["a"; "bb"; "ccc"]
+
+ inputs |> Seq.tail
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tail: source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { "bb"; "ccc" } +

+
+
+
+ +

+ + + Seq.take count source + + +

+
+
+
+ Full Usage: + Seq.take count source +
+
+ Parameters: +
    + + + count + + : + int + - + The number of items to take. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + count + + : + int +
+
+

+ The number of items to take. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when the input sequence is empty and the count is greater than zero. +
+ + InvalidOperationException + + + Thrown when count exceeds the number of elements + in the sequence. +
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> Seq.take 2
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val take: count: int -> source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as ["a"; "b"] +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> Seq.take 6
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val take: count: int -> source: 'T seq -> 'T seq
+ + + Throws InvalidOperationException. + +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> Seq.take 0
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val take: count: int -> source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding no results. + +

+
+
+
+ +

+ + + Seq.takeWhile predicate source + + +

+
+
+
+ Full Usage: + Seq.takeWhile predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to false when no more items should be returned. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Returns a sequence that, when iterated, yields elements of the underlying sequence while the + given predicate returns True, and then returns no further elements. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to false when no more items should be returned. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = ["a"; "bb"; "ccc"; "d"]
+
+ inputs |> Seq.takeWhile (fun x -> x.Length < 3)
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val takeWhile: predicate: ('T -> bool) -> source: 'T seq -> 'T seq
+
val x: string
+
property System.String.Length: int with get
+ + + Evaluates to a sequence yielding the same results as seq { "a"; "bb" } +

+
+
+
+ +

+ + + Seq.toArray source + + +

+
+
+
+ Full Usage: + Seq.toArray source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+
+
+
+
+
+ +
+
+

+ Builds an array from the given collection. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = seq { 1; 2; 5 }
+
+ inputs |> Seq.toArray
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val toArray: source: 'T seq -> 'T array
+ + + Evaluates to [| 1; 2; 5 |]. + +

+
+
+
+ +

+ + + Seq.toList source + + +

+
+
+
+ Full Usage: + Seq.toList source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+
+
+
+
+
+ +
+
+

+ Builds a list from the given collection. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = seq { 1; 2; 5 }
+
+ inputs |> Seq.toList
+
+
val inputs: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val toList: source: 'T seq -> 'T list
+ + + Evaluates to [ 1; 2; 5 ]. + +

+
+
+
+ +

+ + + Seq.transpose source + + +

+
+
+
+ Full Usage: + Seq.transpose source +
+
+ Parameters: +
    + + + source + + : + 'Collection seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq seq + + The transposed sequence. +
+
+
+
+
+
+ +
+
+

+ Returns the transpose of the given sequence of sequences. +

+
+
+ + + + + +
+
+
+

+ 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. +

+
+
+ + source + + : + 'Collection seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq seq +
+
+

+ The transposed sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs =
+     [ [ 10; 20; 30 ]
+       [ 11; 21; 31 ] ]
+
+ inputs |> Seq.transpose
+
+
val inputs: int list list
+
module Seq + +from Microsoft.FSharp.Collections
+
val transpose: source: #('T seq) seq -> 'T seq seq
+ + + Evaluates to a sequence of sequences yielding the same results as [ [10; 11]; [20; 21]; [30; 31] ]. + +

+
+
+
+ +

+ + + Seq.truncate count source + + +

+
+
+
+ Full Usage: + Seq.truncate count source +
+
+ Parameters: +
    + + + count + + : + int + - + The maximum number of items to enumerate. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Returns a sequence that when enumerated returns at most N elements. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The maximum number of items to enumerate. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> Seq.truncate 2
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val truncate: count: int -> source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { "a"; "b" } +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> Seq.truncate 6
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val truncate: count: int -> source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { "a"; "b"; "c"; "d" } +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"; "d"]
+
+ inputs |> Seq.truncate 0
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val truncate: count: int -> source: 'T seq -> 'T seq
+ + + Evaluates to the empty sequence. + +

+
+
+
+ +

+ + + Seq.tryExactlyOne source + + +

+
+
+
+ Full Usage: + Seq.tryExactlyOne source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T option + + The only element of the sequence or None. +
+
+
+
+
+
+ +
+
+

+ Returns the only element of the sequence or None if sequence is empty or contains more than one element. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The only element of the sequence or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = ["banana"]
+
+ inputs |> Seq.tryExactlyOne
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryExactlyOne: source: 'T seq -> 'T option
+ + + Evaluates to Some banana +

+
+ Example +
+

+

 let inputs = ["pear"; "banana"]
+
+ inputs |> Seq.tryExactlyOne
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryExactlyOne: source: 'T seq -> 'T option
+ + + Evaluates to None +

+
+ Example +
+

+

 [] |> Seq.tryExactlyOne
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryExactlyOne: source: 'T seq -> 'T option
+ + + Evaluates to None +

+
+
+
+ +

+ + + Seq.tryFind predicate source + + +

+
+
+
+ Full Usage: + Seq.tryFind predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to a Boolean when given an item in the sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T option + + The found element or None. +
+
+
+
+
+
+ +
+
+

+ Returns the first element for which the given function returns True. + Return None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to a Boolean when given an item in the sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The found element or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+ Try to find the first even number: +

 let inputs = [1; 2; 3]
+
+ inputs |> Seq.tryFind (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryFind: predicate: ('T -> bool) -> source: 'T seq -> 'T option
+
val elm: int
+ + + Evaluates to Some 2 +

+
+ Example +
+

+ Try to find the first even number: +

 let inputs = [1; 5; 3]
+
+ inputs |> Seq.tryFind (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryFind: predicate: ('T -> bool) -> source: 'T seq -> 'T option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + Seq.tryFindBack predicate source + + +

+
+
+
+ Full Usage: + Seq.tryFindBack predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to a Boolean when given an item in the sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T option + + The found element or None. +
+
+
+
+
+
+ +
+
+

+ Returns the last element for which the given function returns True. + Return None if no such element exists. +

+
+
+ + + + + +
+
+
+

+ This function digests the whole initial sequence as soon as it is called. As a + result this function should not be used with large or infinite sequences. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to a Boolean when given an item in the sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The found element or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+ Try to find the first even number from the back: +

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> Seq.tryFindBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryFindBack: predicate: ('T -> bool) -> source: 'T seq -> 'T option
+
val elm: int
+ + + Evaluates to Some 4 +

+
+ Example +
+

+ Try to find the first even number from the back: +

 let inputs = [1; 5; 3]
+
+ inputs |> Seq.tryFindBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryFindBack: predicate: ('T -> bool) -> source: 'T seq -> 'T option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + Seq.tryFindIndex predicate source + + +

+
+
+
+ Full Usage: + Seq.tryFindIndex predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to a Boolean when given an item in the sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + int option + + The found index or None. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the first element in the sequence + that satisfies the given predicate. Return None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to a Boolean when given an item in the sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + int option +
+
+

+ The found index or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+ Try to find the index of the first even number: +

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> Seq.tryFindIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryFindIndex: predicate: ('T -> bool) -> source: 'T seq -> int option
+
val elm: int
+ + + Evaluates to Some 1 +

+
+ Example +
+

+ Try to find the index of the first even number: +

 let inputs = [1; 3; 5; 7]
+
+ inputs |> Seq.tryFindIndex (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryFindIndex: predicate: ('T -> bool) -> source: 'T seq -> int option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + Seq.tryFindIndexBack predicate source + + +

+
+
+
+ Full Usage: + Seq.tryFindIndexBack predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to a Boolean when given an item in the sequence. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + int option + + The found index or None. +
+
+
+
+
+
+ +
+
+

+ Returns the index of the last element in the sequence + that satisfies the given predicate. Return None if no such element exists. +

+
+
+ + + + + +
+
+
+

+ This function digests the whole initial sequence as soon as it is called. As a + result this function should not be used with large or infinite sequences. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to a Boolean when given an item in the sequence. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + int option +
+
+

+ The found index or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+ Try to find the index of the first even number from the back: +

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> Seq.tryFindIndexBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryFindIndexBack: predicate: ('T -> bool) -> source: 'T seq -> int option
+
val elm: int
+ + + Evaluates to Some 3 +

+
+ Example +
+

+ Try to find the index of the first even number from the back: +

 let inputs = [1; 3; 5; 7]
+
+ inputs |> Seq.tryFindIndexBack (fun elm -> elm % 2 = 0)
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryFindIndexBack: predicate: ('T -> bool) -> source: 'T seq -> int option
+
val elm: int
+ + + Evaluates to None +

+
+
+
+ +

+ + + Seq.tryHead source + + +

+
+
+
+ Full Usage: + Seq.tryHead source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T option + + The first element of the sequence or None. +
+
+
+
+
+
+ +
+
+

+ Returns the first element of the sequence, or None if the sequence is empty. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The first element of the sequence or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 ["banana"; "pear"] |> Seq.tryHead
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryHead: source: 'T seq -> 'T option
+ + + Evaluates to Some "banana" +

+
+ Example +
+

+

 [] |> Seq.tryHead
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryHead: source: 'T seq -> 'T option
+ + + Evaluates to None +

+
+
+
+ +

+ + + Seq.tryItem index source + + +

+
+
+
+ Full Usage: + Seq.tryItem index source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of element to retrieve. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T option + + The nth element of the sequence or None. +
+
+
+
+
+
+ +
+
+

+ Tries to find the nth element in the sequence. + Returns None if index is negative or the input sequence does not contain enough elements. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of element to retrieve. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The nth element of the sequence or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"]
+
+ inputs |> Seq.tryItem 1
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryItem: index: int -> source: 'T seq -> 'T option
+ + + Evaluates to Some "b". + +

+
+ Example +
+

+

 let inputs = ["a"; "b"; "c"]
+
+ inputs |> Seq.tryItem 4
+
+
val inputs: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryItem: index: int -> source: 'T seq -> 'T option
+ + + Evaluates to None. + +

+
+
+
+ +

+ + + Seq.tryLast source + + +

+
+
+
+ Full Usage: + Seq.tryLast source +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T option + + The last element of the sequence or None. +
+
+
+
+
+
+ +
+
+

+ Returns the last element of the sequence. + Return None if no such element exists. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The last element of the sequence or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 ["pear"; "banana"] |> Seq.tryLast
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryLast: source: 'T seq -> 'T option
+ + + Evaluates to Some "banana" +

+
+ Example +
+

+

 [] |> Seq.tryLast
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryLast: source: 'T seq -> 'T option
+ + + Evaluates to None +

+
+
+
+ +

+ + + Seq.tryPick chooser source + + +

+
+
+
+ Full Usage: + Seq.tryPick chooser source +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + A function that transforms items from the input sequence into options. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'U option + + The chosen element or None. +
+
+
+
+
+
+ +
+
+

+ Applies the given function to successive elements, returning the first + result where the function returns "Some(x)". +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ A function that transforms items from the input sequence into options. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'U option +
+
+

+ The chosen element or None. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 let input = [1; 2; 3]
+
+ input |> Seq.tryPick (fun n -> if n % 2 = 0 then Some (string n) else None)
+
+
val input: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryPick: chooser: ('T -> 'U option) -> source: 'T seq -> 'U option
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to Some "2". + +

+
+ Example +
+

+

 let input = [1; 2; 3]
+
+ input |> Seq.tryPick (fun n -> if n > 3 = 0 then Some (string n) else None)
+
+
val input: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val tryPick: chooser: ('T -> 'U option) -> source: 'T seq -> 'U option
+
val n: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
union case Option.None: Option<'T>
+ + + Evaluates to None. + +

+
+
+
+ +

+ + + Seq.unfold generator state + + +

+
+
+
+ Full Usage: + Seq.unfold generator state +
+
+ Parameters: +
    + + + generator + + : + 'State -> ('T * 'State) option + - + 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. + +
    + + + state + + : + 'State + - + The initial state value. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + generator + + : + 'State -> ('T * 'State) option +
+
+

+ 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. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state value. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+
+ Example +
+

+

 1 |> Seq.unfold (fun state -> if state > 100 then None else Some (state, state * 2))
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val unfold: generator: ('State -> ('T * 'State) option) -> state: 'State -> 'T seq
+
val state: int
+
union case Option.None: Option<'T>
+
union case Option.Some: Value: 'T -> Option<'T>
+ + + Evaluates to a sequence yielding the same results as seq { 1; 2; 4; 8; 16; 32; 64 } +

+
+ Example +
+

+

 1I |> Seq.unfold (fun state -> Some (state, state * 2I))
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val unfold: generator: ('State -> ('T * 'State) option) -> state: 'State -> 'T seq
+
val state: System.Numerics.BigInteger
+
union case Option.Some: Value: 'T -> Option<'T>
+ + + Evaluates to an infinite sequence yielding the results seq { 1I; 2I; 4I; 8I; ... } +

+
+
+
+ +

+ + + Seq.updateAt index value source + + +

+
+
+
+ Full Usage: + Seq.updateAt index value source +
+
+ Parameters: +
    + + + index + + : + int + - + The index of the item to be replaced. + +
    + + + value + + : + 'T + - + The new value. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Return a new sequence with the item at a given index set to the new value. +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+

+ The index of the item to be replaced. +

+
+
+ + value + + : + 'T +
+
+

+ The new value. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when index is outside 0..source.Length - 1 +
+
+ Example +
+

+

 seq { 0; 1; 2 } |> Seq.updateAt 1 9
+
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val updateAt: index: int -> value: 'T -> source: 'T seq -> 'T seq
+ + + Evaluates to a sequence yielding the same results as seq { 0; 9; 2 }. + +

+
+
+
+ +

+ + + Seq.where predicate source + + +

+
+
+
+ Full Usage: + Seq.where predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function to test whether each item in the input sequence should be included in the output. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function to test whether each item in the input sequence should be included in the output. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+
+ Example +
+

+

 [1; 2; 3; 4] |> Seq.where (fun elm -> elm % 2 = 0)
+
+
module Seq + +from Microsoft.FSharp.Collections
+
val where: predicate: ('T -> bool) -> source: 'T seq -> 'T seq
+
val elm: int
+ + + Evaluates to a sequence yielding the same results as seq { 2; 4 } +

+
+
+
+ +

+ + + Seq.windowed windowSize source + + +

+
+
+
+ Full Usage: + Seq.windowed windowSize source +
+
+ Parameters: +
    + + + windowSize + + : + int + - + The number of elements in each window. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T array seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Returns a sequence yielding sliding windows containing elements drawn from the input + sequence. Each window is returned as a fresh array. +

+
+
+ + + + + +
+
+
+
+
+ + windowSize + + : + int +
+
+

+ The number of elements in each window. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T array seq +
+
+

+ The result sequence. +

+
+
+ + + + + + + + + +
+ + ArgumentNullException + + + Thrown when the input sequence is null. +
+ + ArgumentException + + + Thrown when windowSize is not positive. +
+
+ Example +
+

+

 let inputs = [1; 2; 3; 4; 5]
+
+ inputs |> Seq.windowed 3
+
+
val inputs: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val windowed: windowSize: int -> source: 'T seq -> 'T array seq
+ + + Evaluates to a sequence of arrays yielding the results seq { [| 1; 2; 3 |]; [| 2; 3; 4 |]; [| 3; 4; 5 |] } +

+
+
+
+ +

+ + + Seq.zip source1 source2 + + +

+
+
+
+ Full Usage: + Seq.zip source1 source2 +
+
+ Parameters: +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    +
+
+ + Returns: + ('T1 * 'T2) seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Combines the two sequences into a sequence of pairs. The two sequences need not have equal lengths: + when one sequence is exhausted any remaining elements in the other + sequence are ignored. +

+
+
+ + + + + +
+
+
+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+
+
+ + Returns: + + ('T1 * 'T2) seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when either of the input sequences is null. +
+
+ Example +
+

+

 let numbers = [1; 2]
+ let names = ["one"; "two"]
+
+ Seq.zip numbers names
+
+
val numbers: int list
+
val names: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val zip: source1: 'T1 seq -> source2: 'T2 seq -> ('T1 * 'T2) seq
+ + + Evaluates to a sequence yielding the same results as seq { (1, "one"); (2, "two") }. + +

+
+
+
+ +

+ + + Seq.zip3 source1 source2 source3 + + +

+
+
+
+ Full Usage: + Seq.zip3 source1 source2 source3 +
+
+ Parameters: +
    + + + source1 + + : + 'T1 seq + - + The first input sequence. + +
    + + + source2 + + : + 'T2 seq + - + The second input sequence. + +
    + + + source3 + + : + 'T3 seq + - + The third input sequence. + +
    +
+
+ + Returns: + ('T1 * 'T2 * 'T3) seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Combines the three sequences into a sequence of triples. The sequences need not have equal lengths: + when one sequence is exhausted any remaining elements in the other + sequences are ignored. +

+
+
+ + + + + +
+
+
+
+
+ + source1 + + : + 'T1 seq +
+
+

+ The first input sequence. +

+
+
+ + source2 + + : + 'T2 seq +
+
+

+ The second input sequence. +

+
+
+ + source3 + + : + 'T3 seq +
+
+

+ The third input sequence. +

+
+
+
+
+ + Returns: + + ('T1 * 'T2 * 'T3) seq +
+
+

+ The result sequence. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when any of the input sequences is null. +
+
+ Example +
+

+

 let numbers = [1; 2]
+ let names = ["one"; "two"]
+ let roman = ["I"; "II"]
+
+ Seq.zip3 numbers names roman
+
+
val numbers: int list
+
val names: string list
+
val roman: string list
+
module Seq + +from Microsoft.FSharp.Collections
+
val zip3: source1: 'T1 seq -> source2: 'T2 seq -> source3: 'T3 seq -> ('T1 * 'T2 * 'T3) seq
+ + + Evaluates to a sequence yielding the same results as seq { (1, "one", "I"); (2, "two", "II") }. + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections-setmodule.html b/reference/fsharp-collections-setmodule.html new file mode 100644 index 000000000..b4bf19fd8 --- /dev/null +++ b/reference/fsharp-collections-setmodule.html @@ -0,0 +1,4687 @@ + + + + + + + + + + + + + + + + + + Set (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Set Module +

+ +
+
+
+

+ Contains operations for working with values of type Set. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Set.add value set + + +

+
+
+
+ Full Usage: + Set.add value set +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to add. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + Set<'T> + + A new set containing value. +
+
+
+
+
+
+ +
+
+

+ Returns a new set with an element added to the set. No exception is raised if + the set already contains the given element. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to add. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ A new set containing value. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(1).Add(2)
+ printfn $"The new set is: {set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The new set is: set [1; 2] +

+
+
+
+ +

+ + + Set.contains element set + + +

+
+
+
+ Full Usage: + Set.contains element set +
+
+ Parameters: +
    + + + element + + : + 'T + - + The element to test. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + bool + + True if element is in set. +
+
+
+
+
+
+ +
+
+

+ Evaluates to "true" if the given element is in the given set. +

+
+
+ + + + + +
+
+
+
+
+ + element + + : + 'T +
+
+

+ The element to test. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if element is in set. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(2).Add(3)
+ printfn $"Does the set contain 1? {set.Contains(1))}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
member Set.Contains: value: 'T -> bool
+ + + The sample evaluates to the following output: Does the set contain 1? false +

+
+
+
+ +

+ + + Set.count set + + +

+
+
+
+ Full Usage: + Set.count set +
+
+ Parameters: +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + int + + The number of elements in the set. +
+
+
+
+
+
+ +
+
+

+ Returns the number of elements in the set. Same as size. +

+
+
+ + + + + +
+
+
+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The number of elements in the set. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"The set has {set.Count} elements"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
property Set.Count: int with get
+ + + The sample evaluates to the following output: The set has 3 elements +

+
+
+
+ +

+ + + Set.difference set1 set2 + + +

+
+
+
+ Full Usage: + Set.difference set1 set2 +
+
+ Parameters: +
    + + + set1 + + : + Set<'T> + - + The first input set. + +
    + + + set2 + + : + Set<'T> + - + The set whose elements will be removed from set1. + +
    +
+
+ + Returns: + Set<'T> + + The set with the elements of set2 removed from set1. +
+
+
+
+
+
+ +
+
+

+ Returns a new set with the elements of the second set removed from the first. +

+
+
+ + + + + +
+
+
+
+
+ + set1 + + : + Set<'T> +
+
+

+ The first input set. +

+
+
+ + set2 + + : + Set<'T> +
+
+

+ The set whose elements will be removed from set1. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The set with the elements of set2 removed from set1. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(2).Add(3).Add(4)
+ printfn $"The difference of {set1} and {set2} is {Set.difference set1 set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The difference of set [1; 2; 3] and set [2; 3; 4] is set [1] +

+
+
+
+ +

+ + + Set.empty + + +

+
+
+
+ Full Usage: + Set.empty +
+
+ + Returns: + Set<'T> + +
+
+
+
+
+
+ +
+
+

+ The empty set for the type 'T. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Set<'T> +
+
+
+
+ Example +
+

+

 Set.empty<int>
+
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to set [ ]. + +

+
+
+
+ +

+ + + Set.exists predicate set + + +

+
+
+
+ Full Usage: + Set.exists predicate set +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test set elements. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + bool + + True if any element of set satisfies predicate. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test set elements. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if any element of set satisfies predicate. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"Does the set contain 1? {Set.exists (fun x -> x = 1) set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val exists: predicate: ('T -> bool) -> set: Set<'T> -> bool (requires comparison)
+
val x: int
+ + + The sample evaluates to the following output: Does the set contain 1? true +

+
+
+
+ +

+ + + Set.filter predicate set + + +

+
+
+
+ Full Usage: + Set.filter predicate set +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test set elements. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + Set<'T> + + The set containing only the elements for which predicate returns true. +
+
+
+
+
+
+ +
+
+

+ Returns a new collection containing only the elements of the collection + for which the given predicate returns True. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test set elements. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The set containing only the elements for which predicate returns true. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3).Add(4)
+ printfn $"The set with even numbers is {Set.filter (fun x -> x % 2 = 0) set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val filter: predicate: ('T -> bool) -> set: Set<'T> -> Set<'T> (requires comparison)
+
val x: int
+ + + The sample evaluates to the following output: The set with even numbers is set [2; 4] +

+
+
+
+ +

+ + + Set.fold folder state set + + +

+
+
+
+ Full Usage: + Set.fold folder state set +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T -> 'State + - + The accumulating function. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + 'State + + The final state. +
+
+
+
+
+
+ +
+
+

+ Applies the given accumulating function to all the elements of the set +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T -> 'State +
+
+

+ The accumulating function. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"The sum of the set is {Set.fold (+) 0 set}"
+ printfn $"The product of the set is {Set.fold (*) 1 set}"
+ printfn $"The reverse of the set is {Set.fold (fun x y -> y :: x) [] set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val fold<'T,'State (requires comparison)> : folder: ('State -> 'T -> 'State) -> state: 'State -> set: Set<'T> -> 'State (requires comparison)
+
val x: int list
+
val y: int
+ + + The sample evaluates to the following output: The sum of the set is 6 + The product of the set is 6 + The reverse of the set is [3; 2; 1] +

+
+
+
+ +

+ + + Set.foldBack folder set state + + +

+
+
+
+ Full Usage: + Set.foldBack folder set state +
+
+ Parameters: +
    + + + folder + + : + 'T -> 'State -> 'State + - + The accumulating function. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State + + The final state. +
+
+
+
+
+
+ +
+
+

+ Applies the given accumulating function to all the elements of the set. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'T -> 'State -> 'State +
+
+

+ The accumulating function. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The final state. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"The sum of the set is {Set.foldBack (+) set 0}"
+ printfn $"The set is {Set.foldBack (fun x acc -> x :: acc) set []}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val foldBack: folder: ('T -> 'State -> 'State) -> set: Set<'T> -> state: 'State -> 'State (requires comparison)
+
val x: int
+
val acc: int list
+ + + The sample evaluates to the following output: The sum of the set is 6 + The set is [1; 2; 3] +

+
+
+
+ +

+ + + Set.forall predicate set + + +

+
+
+
+ Full Usage: + Set.forall predicate set +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test set elements. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + bool + + True if all elements of set satisfy predicate. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test set elements. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if all elements of set satisfy predicate. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"Does the set contain even numbers? {Set.forall (fun x -> x % 2 = 0) set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val forall: predicate: ('T -> bool) -> set: Set<'T> -> bool (requires comparison)
+
val x: int
+ + + The sample evaluates to the following output: Does the set contain even numbers? false +

+
+
+
+ +

+ + + Set.intersect set1 set2 + + +

+
+
+
+ Full Usage: + Set.intersect set1 set2 +
+
+ Parameters: +
    + + + set1 + + : + Set<'T> + - + The first input set. + +
    + + + set2 + + : + Set<'T> + - + The second input set. + +
    +
+
+ + Returns: + Set<'T> + + The intersection of set1 and set2. +
+
+
+
+
+
+ +
+
+

+ Computes the intersection of the two sets. +

+
+
+ + + + + +
+
+
+
+
+ + set1 + + : + Set<'T> +
+
+

+ The first input set. +

+
+
+ + set2 + + : + Set<'T> +
+
+

+ The second input set. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The intersection of set1 and set2. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(2).Add(3).Add(4)
+ printfn $"The intersection of {set1} and {set2} is {Set.intersect set1 set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The intersection of set [1; 2; 3] and set [2; 3; 4] is set [2; 3] +

+
+
+
+ +

+ + + Set.intersectMany sets + + +

+
+
+
+ Full Usage: + Set.intersectMany sets +
+
+ Parameters: +
    + + + sets + + : + Set<'T> seq + - + The sequence of sets to intersect. + +
    +
+
+ + Returns: + Set<'T> + + The intersection of the input sets. +
+
+
+
+
+
+ +
+
+

+ Computes the intersection of a sequence of sets. The sequence must be non-empty. +

+
+
+ + + + + +
+
+
+
+
+ + sets + + : + Set<'T> seq +
+
+

+ The sequence of sets to intersect. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The intersection of the input sets. +

+
+
+
+ Example +
+

+

 let headersByFile = seq{
+ yield [ "id"; "name"; "date"; "color" ]
+ yield [ "id"; "age"; "date" ]
+ yield [ "id"; "sex"; "date"; "animal" ]
+ }
+ headersByFile
+ |> Seq.map Set.ofList
+ |> Set.intersectMany
+ |> printfn "The intersection of %A is %A" headersByFile
+
+
val headersByFile: string list seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val map: mapping: ('T -> 'U) -> source: 'T seq -> 'U seq
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val ofList: elements: 'T list -> Set<'T> (requires comparison)
+
val intersectMany: sets: Set<'T> seq -> Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The intersection of seq + [["id"; "name"; "date"; "color"]; ["id"; "age"; "date"]; + ["id"; "sex"; "date"; "animal"]] is set ["date"; "id"] +

+
+
+
+ +

+ + + Set.isEmpty set + + +

+
+
+
+ Full Usage: + Set.isEmpty set +
+
+ Parameters: +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + bool + + True if set is empty. +
+
+
+
+
+
+ +
+
+

+ Returns "true" if the set is empty. +

+
+
+ + + + + +
+
+
+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if set is empty. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(2).Add(3)
+ printfn $"Is the set empty? {set.IsEmpty}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
property Set.IsEmpty: bool with get
+ + + The sample evaluates to the following output: Is the set empty? false +

+
+
+
+ +

+ + + Set.isProperSubset set1 set2 + + +

+
+
+
+ Full Usage: + Set.isProperSubset set1 set2 +
+
+ Parameters: +
    + + + set1 + + : + Set<'T> + - + The potential subset. + +
    + + + set2 + + : + Set<'T> + - + The set to test against. + +
    +
+
+ + Returns: + bool + + True if set1 is a proper subset 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. +

+
+
+ + + + + +
+
+
+
+
+ + set1 + + : + Set<'T> +
+
+

+ The potential subset. +

+
+
+ + set2 + + : + Set<'T> +
+
+

+ The set to test against. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if set1 is a proper subset of set2. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(1).Add(2).Add(3).Add(4)
+ printfn $"Is {set1} a proper subset of {set2}? {Set.isProperSubset set1 set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: Is set [1; 2; 3] a proper subset of set [1; 2; 3; 4]? true +

+
+
+
+ +

+ + + Set.isProperSuperset set1 set2 + + +

+
+
+
+ Full Usage: + Set.isProperSuperset set1 set2 +
+
+ Parameters: +
    + + + set1 + + : + Set<'T> + - + The potential superset. + +
    + + + set2 + + : + Set<'T> + - + The set to test against. + +
    +
+
+ + Returns: + bool + + True if set1 is a proper superset of set2. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + set1 + + : + Set<'T> +
+
+

+ The potential superset. +

+
+
+ + set2 + + : + Set<'T> +
+
+

+ The set to test against. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if set1 is a proper superset of set2. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(1).Add(2).Add(3).Add(4)
+ printfn $"Is {set1} a proper superset of {set2}? {Set.isProperSuperset set1 set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: Is set [1; 2; 3] a proper superset of set [1; 2; 3; 4]? false +

+
+
+
+ +

+ + + Set.isSubset set1 set2 + + +

+
+
+
+ Full Usage: + Set.isSubset set1 set2 +
+
+ Parameters: +
    + + + set1 + + : + Set<'T> + - + The potential subset. + +
    + + + set2 + + : + Set<'T> + - + The set to test against. + +
    +
+
+ + Returns: + bool + + True if set1 is a subset of set2. +
+
+
+
+
+
+ +
+
+

+ Evaluates to "true" if all elements of the first set are in the second +

+
+
+ + + + + +
+
+
+
+
+ + set1 + + : + Set<'T> +
+
+

+ The potential subset. +

+
+
+ + set2 + + : + Set<'T> +
+
+

+ The set to test against. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if set1 is a subset of set2. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(1).Add(2).Add(3).Add(4)
+ printfn $"Is {set1} a subset of {set2}? {Set.isSubset set1 set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: Is set [1; 2; 3] a subset of set [1; 2; 3; 4]? true +

+
+
+
+ +

+ + + Set.isSuperset set1 set2 + + +

+
+
+
+ Full Usage: + Set.isSuperset set1 set2 +
+
+ Parameters: +
    + + + set1 + + : + Set<'T> + - + The potential superset. + +
    + + + set2 + + : + Set<'T> + - + The set to test against. + +
    +
+
+ + Returns: + bool + + True if set1 is a superset of set2. +
+
+
+
+
+
+ +
+
+

+ Evaluates to "true" if all elements of the second set are in the first. +

+
+
+ + + + + +
+
+
+
+
+ + set1 + + : + Set<'T> +
+
+

+ The potential superset. +

+
+
+ + set2 + + : + Set<'T> +
+
+

+ The set to test against. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if set1 is a superset of set2. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(1).Add(2).Add(3).Add(4)
+ printfn $"Is {set1} a superset of {set2}? {Set.isSuperset set1 set2}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: Is set [1; 2; 3] a superset of set [1; 2; 3; 4]? false +

+
+
+
+ +

+ + + Set.iter action set + + +

+
+
+
+ Full Usage: + Set.iter action set +
+
+ Parameters: +
    + + + action + + : + 'T -> unit + - + The function to apply to each element. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the given function to each element of the set, in order according + to the comparison function. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T -> unit +
+
+

+ The function to apply to each element. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ Set.iter (fun x -> printfn $"The set contains {x}") set
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val iter: action: ('T -> unit) -> set: Set<'T> -> unit (requires comparison)
+
val x: int
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: + The set contains 1 + The set contains 2 + The set contains 3 +

+
+
+
+ +

+ + + Set.map mapping set + + +

+
+
+
+ Full Usage: + Set.map mapping set +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + The function to transform elements of the input set. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + Set<'U> + + A set containing the transformed elements. +
+
+
+
+
+
+ +
+
+

+ Returns a new collection containing the results of applying the + given function to each element of the input set. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ The function to transform elements of the input set. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + Set<'U> +
+
+

+ A set containing the transformed elements. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"The set with doubled values is {Set.map (fun x -> x * 2) set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val map: mapping: ('T -> 'U) -> set: Set<'T> -> Set<'U> (requires comparison and comparison)
+
val x: int
+ + + The sample evaluates to the following output: The set with doubled values is set [2; 4; 6] +

+
+
+
+ +

+ + + Set.maxElement set + + +

+
+
+
+ Full Usage: + Set.maxElement set +
+
+ Parameters: +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + 'T + + The max value from the set. +
+
+
+
+
+
+ +
+
+

+ Returns the highest element in the set according to the ordering being used for the set. +

+
+
+ + + + + +
+
+
+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The max value from the set. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"The min element of {set} is {Set.minElement set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The max element of set [1; 2; 3] is 3 +

+
+
+
+ +

+ + + Set.minElement set + + +

+
+
+
+ Full Usage: + Set.minElement set +
+
+ Parameters: +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + 'T + + The min value from the set. +
+
+
+
+
+
+ +
+
+

+ Returns the lowest element in the set according to the ordering being used for the set. +

+
+
+ + + + + +
+
+
+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The min value from the set. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"The min element of {set} is {Set.minElement set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The min element of set [1; 2; 3] is 1 +

+
+
+
+ +

+ + + Set.ofArray array + + +

+
+
+
+ Full Usage: + Set.ofArray array +
+
+ Parameters: +
    + + + array + + : + 'T array + - + The input array. + +
    +
+
+ + Returns: + Set<'T> + + A set containing the elements of array. +
+
+
+
+
+
+ +
+
+

+ Builds a set that contains the same elements as the given array. +

+
+
+ + + + + +
+
+
+
+
+ + array + + : + 'T array +
+
+

+ The input array. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ A set containing the elements of array. +

+
+
+
+ Example +
+

+

 let set = Set.ofArray [|1, 2, 3|]
+ printfn $"The set is {set} and type is {set.GetType().Name}"
+
+
val set: Set<int * int * int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val ofArray: array: 'T array -> Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The set is set [(1, 2, 3)] and type is "FSharpSet`1" +

+
+
+
+ +

+ + + Set.ofList elements + + +

+
+
+
+ Full Usage: + Set.ofList elements +
+
+ Parameters: +
    + + + elements + + : + 'T list + - + The input list. + +
    +
+
+ + Returns: + Set<'T> + + A set containing the elements form the input list. +
+
+
+
+
+
+ +
+
+

+ Builds a set that contains the same elements as the given list. +

+
+
+ + + + + +
+
+
+
+
+ + elements + + : + 'T list +
+
+

+ The input list. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ A set containing the elements form the input list. +

+
+
+
+ Example +
+

+

 let set = Set.ofList [1, 2, 3]
+ printfn $"The set is {set} and type is {set.GetType().Name}"
+
+
val set: Set<int * int * int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val ofList: elements: 'T list -> Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The set is set [(1, 2, 3)] and type is "FSharpSet`1" +

+
+
+
+ +

+ + + Set.ofSeq elements + + +

+
+
+
+ Full Usage: + Set.ofSeq elements +
+
+ Parameters: +
    + + + elements + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + Set<'T> + + The set containing elements. +
+
+
+
+
+
+ +
+
+

+ Builds a new collection from the given enumerable object. +

+
+
+ + + + + +
+
+
+
+
+ + elements + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The set containing elements. +

+
+
+
+ Example +
+

+

 let set = Set.ofSeq [1, 2, 3]
+ printfn $"The set is {set} and type is {set.GetType().Name}"
+
+
val set: Set<int * int * int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val ofSeq: elements: 'T seq -> Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The set is set [(1, 2, 3)] and type is "FSharpSet`1" +

+
+
+
+ +

+ + + Set.partition predicate set + + +

+
+
+
+ Full Usage: + Set.partition predicate set +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to test set elements. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + Set<'T> * Set<'T> + + 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. +
+
+
+
+
+
+ +
+
+

+ Splits the set into two sets containing the elements for which the given predicate + returns true and false respectively. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to test set elements. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + Set<'T> * Set<'T> +
+
+

+ 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. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3).Add(4)
+ printfn $"The set with even numbers is {Set.partition (fun x -> x % 2 = 0) set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val partition: predicate: ('T -> bool) -> set: Set<'T> -> Set<'T> * Set<'T> (requires comparison)
+
val x: int
+ + + The sample evaluates to the following output: The partitioned sets are: (set [2; 4], set [1; 3]) +

+
+
+
+ +

+ + + Set.remove value set + + +

+
+
+
+ Full Usage: + Set.remove value set +
+
+ Parameters: +
    + + + value + + : + 'T + - + The element to remove. + +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + Set<'T> + + The input set with value removed. +
+
+
+
+
+
+ +
+
+

+ Returns a new set with the given element removed. No exception is raised if + the set doesn't contain the given element. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The element to remove. +

+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The input set with value removed. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ printfn $"The set without 1 is {Set.remove 1 set}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val remove: value: 'T -> set: Set<'T> -> Set<'T> (requires comparison)
+ + + The sample evaluates to the following output: The set without 1 is set [2; 3] +

+
+
+
+ +

+ + + Set.singleton value + + +

+
+
+
+ Full Usage: + Set.singleton value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value for the set to contain. + +
    +
+
+ + Returns: + Set<'T> + + The set containing value. +
+
+
+
+
+
+ +
+
+

+ The set containing the given element. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value for the set to contain. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The set containing value. +

+
+
+
+ Example +
+

+

 Set.singleton 7
+
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val singleton: value: 'T -> Set<'T> (requires comparison)
+ + + Evaluates to set [ 7 ]. + +

+
+
+
+ +

+ + + Set.toArray set + + +

+
+
+
+ Full Usage: + Set.toArray set +
+
+ Parameters: +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + 'T array + + An ordered array of the elements of set. +
+
+
+
+
+
+ +
+
+

+ Builds an array that contains the elements of the set in order. +

+
+
+ + + + + +
+
+
+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ An ordered array of the elements of set. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ let array = Set.toArray set
+ printfn$ "The set is {set} and type is {array.GetType().Name}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
Multiple items
val array: int array

--------------------
type 'T array = 'T array
+
val toArray: set: Set<'T> -> 'T array (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The set is [|1; 2; 3|] and type is System.Int32 array +

+
+
+
+ +

+ + + Set.toList set + + +

+
+
+
+ Full Usage: + Set.toList set +
+
+ Parameters: +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + 'T list + + An ordered list of the elements of set. +
+
+
+
+
+
+ +
+
+

+ Builds a list that contains the elements of the set in order. +

+
+
+ + + + + +
+
+
+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ An ordered list of the elements of set. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ let list = Set.toList set
+ printfn $"The set is {list} and type is {list.GetType().Name}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
Multiple items
val list: int list

--------------------
type 'T list = List<'T>
+
val toList: set: Set<'T> -> 'T list (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The set is [1; 2; 3] and type is "FSharpList`1" +

+
+
+
+ +

+ + + Set.toSeq set + + +

+
+
+
+ Full Usage: + Set.toSeq set +
+
+ Parameters: +
    + + + set + + : + Set<'T> + - + The input set. + +
    +
+
+ + Returns: + 'T seq + + An ordered sequence of the elements of set. +
+
+
+
+
+
+ +
+
+

+ Returns an ordered view of the collection as an enumerable object. +

+
+
+ + + + + +
+
+
+
+
+ + set + + : + Set<'T> +
+
+

+ The input set. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ An ordered sequence of the elements of set. +

+
+
+
+ Example +
+

+

 let set = Set.empty.Add(1).Add(2).Add(3)
+ let seq = Set.toSeq set
+ printfn $"The set is {set} and type is {seq.GetType().Name}"
+
+
val set: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
Multiple items
val seq: int seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val toSeq: set: Set<'T> -> 'T seq (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: he set is set [1; 2; 3] and type is Microsoft.FSharp.Collections.FSharpSet`1[System.Int32] +

+
+
+
+ +

+ + + Set.union set1 set2 + + +

+
+
+
+ Full Usage: + Set.union set1 set2 +
+
+ Parameters: +
    + + + set1 + + : + Set<'T> + - + The first input set. + +
    + + + set2 + + : + Set<'T> + - + The second input set. + +
    +
+
+ + Returns: + Set<'T> + + The union of set1 and set2. +
+
+
+
+
+
+ +
+
+

+ Computes the union of the two sets. +

+
+
+ + + + + +
+
+
+
+
+ + set1 + + : + Set<'T> +
+
+

+ The first input set. +

+
+
+ + set2 + + : + Set<'T> +
+
+

+ The second input set. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The union of set1 and set2. +

+
+
+
+ Example +
+

+

 let set1 = Set.empty.Add(1).Add(2).Add(3)
+ let set2 = Set.empty.Add(2).Add(3).Add(4)
+ printfn $"The union of {set1} and {set2} is {(Set.union set1 set2)}"
+
+
val set1: Set<int>
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val empty<'T (requires comparison)> : Set<'T> (requires comparison)
+
val set2: Set<int>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val union: set1: Set<'T> -> set2: Set<'T> -> Set<'T> (requires comparison)
+ + + The sample evaluates to the following output: The union of set [1; 2; 3] and set [2; 3; 4] is set [1; 2; 3; 4] +

+
+
+
+ +

+ + + Set.unionMany sets + + +

+
+
+
+ Full Usage: + Set.unionMany sets +
+
+ Parameters: +
    + + + sets + + : + Set<'T> seq + - + The sequence of sets to union. + +
    +
+
+ + Returns: + Set<'T> + + The union of the input sets. +
+
+
+
+
+
+ +
+
+

+ Computes the union of a sequence of sets. +

+
+
+ + + + + +
+
+
+
+
+ + sets + + : + Set<'T> seq +
+
+

+ The sequence of sets to union. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The union of the input sets. +

+
+
+
+ Example +
+

+

 let headersByFile = seq{
+ yield [ "id"; "name"; "date"; "color" ]
+ yield [ "id"; "age"; "date" ]
+ yield [ "id"; "sex"; "date"; "animal" ]
+ }
+ headersByFile
+ |> Seq.map Set.ofList
+ |> Set.intersectMany
+ |> printfn "The intersection of %A is %A" headersByFile
+
+
val headersByFile: string list seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
module Seq + +from Microsoft.FSharp.Collections
+
val map: mapping: ('T -> 'U) -> source: 'T seq -> 'U seq
+
Multiple items
module Set + +from Microsoft.FSharp.Collections

--------------------
type Set<'T (requires comparison)> = + interface IReadOnlyCollection<'T> + interface IStructuralEquatable + interface IComparable + interface IEnumerable + interface IEnumerable<'T> + interface ICollection<'T> + new: elements: 'T seq -> Set<'T> + member Add: value: 'T -> Set<'T> + member Contains: value: 'T -> bool + override Equals: obj -> bool + ...

--------------------
new: elements: 'T seq -> Set<'T>
+
val ofList: elements: 'T list -> Set<'T> (requires comparison)
+
val intersectMany: sets: Set<'T> seq -> Set<'T> (requires comparison)
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + The sample evaluates to the following output: The union of seq + [["id"; "name"; "date"; "color"]; ["id"; "age"; "date"]; + ["id"; "sex"; "date"; "animal"]] is set ["age"; "animal"; "color"; "date"; "id"; "name"; "sex"] +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-collections.html b/reference/fsharp-collections.html new file mode 100644 index 000000000..f49e116c3 --- /dev/null +++ b/reference/fsharp-collections.html @@ -0,0 +1,771 @@ + + + + + + + + + + + + + + + + + + FSharp.Collections | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Collections Namespace +

+
+

+ Operations for collections such as lists, arrays, sets, maps and sequences. See also + F# Collection Types in the F# Language Guide. + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + Array + + +

+
+
+
+

+ Contains operations for working with arrays. +

+
+
+ + + + + +
+
+
+

+ + + Array2D + + +

+
+
+
+

+ Contains operations for working with 2-dimensional arrays. +

+
+
+ + + + + +
+
+
+

+ + + Array3D + + +

+
+
+
+

+ Contains operations for working with rank 3 arrays. +

+
+
+ + + + + +
+
+
+

+ + + Array4D + + +

+
+
+
+

+ Contains operations for working with rank 4 arrays. +

+
+
+ + + + + +
+
+
+

+ + + ComparisonIdentity + + +

+
+
+
+

+ Common notions of value ordering implementing the IComparer + interface, for constructing sorted data structures and performing sorting operations. +

+
+
+ + + + + +
+
+
+

+ + + HashIdentity + + +

+
+
+
+

+ Common notions of value identity implementing the IEqualityComparer + interface, for constructing Dictionary objects and other collections +

+
+
+ + + + + +
+
+
+

+ + + List (Module) + + +

+
+
+
+

+ Contains operations for working with values of type list. +

+
+
+ + + + + +
+
+
+

+ + + List (Type) + + +

+
+
+
+

+ Contains methods for compiler use related to lists. +

+
+
+ + + + + +
+
+
+

+ + + 'T list + + +

+
+
+
+

+ The type of immutable singly-linked lists. +

+
+
+ + + + + +
+
+
+

+ + + Map + + +

+
+
+
+

+ Contains operations for working with values of type Map. +

+
+
+ + + + + +
+
+
+

+ + + Map<'Key, 'Value> + + +

+
+
+
+

+ Immutable maps based on binary trees, where keys are ordered by F# generic comparison. By default + comparison is the F# structural comparison function or uses implementations of the IComparable interface on key values. +

+
+
+ + + + + +
+
+
+

+ + + Seq + + +

+
+
+
+

+ Contains operations for working with values of type seq. +

+
+
+ + + + + +
+
+
+

+ + + 'T seq + + +

+
+
+
+

+ An abbreviation for the CLI type IEnumerable +

+
+
+ + + + + +
+
+
+

+ + + Set (Module) + + +

+
+
+
+

+ Contains operations for working with values of type Set. +

+
+
+ + + + + +
+
+
+

+ + + Set (Type) + + +

+
+
+
+

+ Contains methods for compiler use related to sets. +

+
+
+ + + + + +
+
+
+

+ + + Set<'T> + + +

+
+
+
+

+ Immutable sets based on binary trees, where elements are ordered by F# generic comparison. By default + comparison is the F# structural comparison function or uses implementations of the IComparable interface on element values. +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-asyncactivation-1.html b/reference/fsharp-control-asyncactivation-1.html new file mode 100644 index 000000000..d7c51c650 --- /dev/null +++ b/reference/fsharp-control-asyncactivation-1.html @@ -0,0 +1,691 @@ + + + + + + + + + + + + + + + + + + AsyncActivation<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ AsyncActivation<'T> Type +

+ +
+
+
+

+ The F# compiler emits references to this type to implement F# async expressions. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsCancellationRequested + + +

+
+
+
+ Full Usage: + this.IsCancellationRequested +
+
+ + Returns: + bool + + A value indicating asynchronous execution. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement F# async expressions. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+

+ A value indicating asynchronous execution. +

+
+
+
+
+
+ +

+ + + this.OnCancellation + + +

+
+
+
+ Full Usage: + this.OnCancellation +
+
+ + Returns: + AsyncReturn + + A value indicating asynchronous execution. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement F# async expressions. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + AsyncReturn +
+
+

+ A value indicating asynchronous execution. +

+
+
+
+
+
+ +

+ + + this.OnExceptionRaised + + +

+
+
+
+ Full Usage: + this.OnExceptionRaised +
+
+
+
+
+
+
+
+

+ The F# compiler emits calls to this function to implement F# async expressions. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.OnSuccess + + +

+
+
+
+ Full Usage: + this.OnSuccess +
+
+ Parameters: +
    + + + result + + : + 'T + +
    +
+
+ + Returns: + AsyncReturn + + A value indicating asynchronous execution. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement F# async expressions. +

+
+
+ + + + + +
+
+
+
+
+ + result + + : + 'T +
+
+
+
+
+ + Returns: + + AsyncReturn +
+
+

+ A value indicating asynchronous execution. +

+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + AsyncActivation.Success(arg1) (result) + + +

+
+
+
+ Full Usage: + AsyncActivation.Success(arg1) (result) +
+
+ Parameters: + +
+ + Returns: + AsyncReturn + + A value indicating asynchronous execution. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement F# async expressions. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + AsyncActivation<'T> +
+
+
+ + result + + : + 'T +
+
+
+
+
+ + Returns: + + AsyncReturn +
+
+

+ A value indicating asynchronous execution. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-asyncprimitives.html b/reference/fsharp-control-asyncprimitives.html new file mode 100644 index 000000000..27f19e6ed --- /dev/null +++ b/reference/fsharp-control-asyncprimitives.html @@ -0,0 +1,1060 @@ + + + + + + + + + + + + + + + + + + AsyncPrimitives (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ AsyncPrimitives Module +

+ +
+
+
+

+ Entry points for generated code +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Bind ctxt part1 part2 + + +

+
+
+
+ Full Usage: + Bind ctxt part1 part2 +
+
+ Parameters: +
    + + + ctxt + + : + AsyncActivation<'T> + - + The async activation. + +
    + + + part1 + + : + Async<'U> + - + The first part of the computation. + +
    + + + part2 + + : + 'U -> Async<'T> + - + A function returning the second part of the computation. + +
    +
+
+ + Returns: + AsyncReturn + + An async activation suitable for running part1 of the asynchronous execution. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement the let! construct for F# async expressions. +

+
+
+ + + + + +
+
+
+
+
+ + ctxt + + : + AsyncActivation<'T> +
+
+

+ The async activation. +

+
+
+ + part1 + + : + Async<'U> +
+
+

+ The first part of the computation. +

+
+
+ + part2 + + : + 'U -> Async<'T> +
+
+

+ A function returning the second part of the computation. +

+
+
+
+
+ + Returns: + + AsyncReturn +
+
+

+ An async activation suitable for running part1 of the asynchronous execution. +

+
+
+
+
+
+ +

+ + + CallThenInvoke ctxt result1 part2 + + +

+
+
+
+ Full Usage: + CallThenInvoke ctxt result1 part2 +
+
+ Parameters: +
    + + + ctxt + + : + AsyncActivation<'T> + - + The async activation. + +
    + + + result1 + + : + 'U + - + The result of the first part of the computation. + +
    + + + part2 + + : + 'U -> Async<'T> + - + A function returning the second part of the computation. + +
    +
+
+ + Returns: + AsyncReturn + + A value indicating asynchronous execution. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement constructs for F# async expressions. +

+
+
+ + + + + +
+
+
+
+
+ + ctxt + + : + AsyncActivation<'T> +
+
+

+ The async activation. +

+
+
+ + result1 + + : + 'U +
+
+

+ The result of the first part of the computation. +

+
+
+ + part2 + + : + 'U -> Async<'T> +
+
+

+ A function returning the second part of the computation. +

+
+
+
+
+ + Returns: + + AsyncReturn +
+
+

+ A value indicating asynchronous execution. +

+
+
+
+
+
+ +

+ + + Invoke computation ctxt + + +

+
+
+
+ Full Usage: + Invoke computation ctxt +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The async computation. + +
    + + + ctxt + + : + AsyncActivation<'T> + - + The async activation. + +
    +
+
+ + Returns: + AsyncReturn + + A value indicating asynchronous execution. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement constructs for F# async expressions. +

+
+
+ + + + + +
+
+
+
+
+ + computation + + : + Async<'T> +
+
+

+ The async computation. +

+
+
+ + ctxt + + : + AsyncActivation<'T> +
+
+

+ The async activation. +

+
+
+
+
+ + Returns: + + AsyncReturn +
+
+

+ A value indicating asynchronous execution. +

+
+
+
+
+
+ +

+ + + MakeAsync body + + +

+
+
+
+ Full Usage: + MakeAsync body +
+
+ Parameters: + +
+ + Returns: + Async<'T> + + The async computation. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement F# async expressions. +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + AsyncActivation<'T> -> AsyncReturn +
+
+

+ The body of the async computation. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ The async computation. +

+
+
+
+
+
+ +

+ + + TryFinally ctxt computation finallyFunction + + +

+
+
+
+ Full Usage: + TryFinally ctxt computation finallyFunction +
+
+ Parameters: +
    + + + ctxt + + : + AsyncActivation<'T> + - + The async activation. + +
    + + + computation + + : + Async<'T> + - + The computation to protect. + +
    + + + finallyFunction + + : + unit -> unit + - + The finally code. + +
    +
+
+ + Returns: + AsyncReturn + + A value indicating asynchronous execution. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement the try/finally construct for F# async expressions. +

+
+
+ + + + + +
+
+
+
+
+ + ctxt + + : + AsyncActivation<'T> +
+
+

+ The async activation. +

+
+
+ + computation + + : + Async<'T> +
+
+

+ The computation to protect. +

+
+
+ + finallyFunction + + : + unit -> unit +
+
+

+ The finally code. +

+
+
+
+
+ + Returns: + + AsyncReturn +
+
+

+ A value indicating asynchronous execution. +

+
+
+
+
+
+ +

+ + + TryWith ctxt computation catchFunction + + +

+
+
+
+ Full Usage: + TryWith ctxt computation catchFunction +
+
+ Parameters: +
    + + + ctxt + + : + AsyncActivation<'T> + - + The async activation. + +
    + + + computation + + : + Async<'T> + - + The computation to protect. + +
    + + + catchFunction + + : + Exception -> Async<'T> option + - + The exception filter. + +
    +
+
+ + Returns: + AsyncReturn + + A value indicating asynchronous execution. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement the try/with construct for F# async expressions. +

+
+
+ + + + + +
+
+
+
+
+ + ctxt + + : + AsyncActivation<'T> +
+
+

+ The async activation. +

+
+
+ + computation + + : + Async<'T> +
+
+

+ The computation to protect. +

+
+
+ + catchFunction + + : + Exception -> Async<'T> option +
+
+

+ The exception filter. +

+
+
+
+
+ + Returns: + + AsyncReturn +
+
+

+ A value indicating asynchronous execution. +

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-asyncreturn.html b/reference/fsharp-control-asyncreturn.html new file mode 100644 index 000000000..baa17a49b --- /dev/null +++ b/reference/fsharp-control-asyncreturn.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + AsyncReturn (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ AsyncReturn Type +

+ +
+
+
+

+ The F# compiler emits references to this type to implement F# async expressions. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-backgroundtaskbuilder.html b/reference/fsharp-control-backgroundtaskbuilder.html new file mode 100644 index 000000000..91b0c6d54 --- /dev/null +++ b/reference/fsharp-control-backgroundtaskbuilder.html @@ -0,0 +1,492 @@ + + + + + + + + + + + + + + + + + + BackgroundTaskBuilder (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ BackgroundTaskBuilder Type +

+ +
+
+
+

+ Contains methods to build tasks using the F# computation expression syntax +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Run + + +

+
+
+
+ Full Usage: + this.Run +
+
+ Parameters: +
    + + + code + + : + TaskCode<'T, 'T> + +
    +
+
+ + Returns: + Task<'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Hosts the task code in a state machine and starts the task, executing in the threadpool using Task.Run +

+
+
+ + + + + +
+
+
+
+
+ + code + + : + TaskCode<'T, 'T> +
+
+
+
+
+ + Returns: + + Task<'T> +
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + BackgroundTaskBuilder.RunDynamic(code) + + +

+
+
+
+ Full Usage: + BackgroundTaskBuilder.RunDynamic(code) +
+
+ Parameters: +
    + + + code + + : + TaskCode<'T, 'T> + +
    +
+
+ + Returns: + Task<'T> + +
+
+
+
+
+
+ +
+
+

+ The entry point for the dynamic implementation of the corresponding operation. Do not use directly, only used when executing quotations that involve tasks or other reflective execution of F# code. +

+
+
+ + + + + +
+
+
+
+
+ + code + + : + TaskCode<'T, 'T> +
+
+
+
+
+ + Returns: + + Task<'T> +
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-commonextensions.html b/reference/fsharp-control-commonextensions.html new file mode 100644 index 000000000..ece887e9f --- /dev/null +++ b/reference/fsharp-control-commonextensions.html @@ -0,0 +1,906 @@ + + + + + + + + + + + + + + + + + + CommonExtensions (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CommonExtensions Module +

+ +
+
+
+

+ A module of extension members providing asynchronous operations for some basic CLI types related to concurrency and I/O. +

+
+
+
+
+
+

+ Type extensions +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type extension + + Description + +
+
+ +

+ + + this.Add + + +

+
+
+
+ Full Usage: + this.Add +
+
+ Parameters: +
    + + + callback + + : + 'T -> unit + - + The function to be called for each observation. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Permanently connects a listener function to the observable. The listener will + be invoked for each observation. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + IObservable +

+
+
+ + callback + + : + 'T -> unit +
+
+

+ The function to be called for each observation. +

+
+
+
+
+
+ +

+ + + this.AsyncRead + + +

+
+
+
+ Full Usage: + this.AsyncRead +
+
+ Parameters: +
    + + + buffer + + : + byte array + - + The buffer to read into. + +
    + + + ?offset + + : + int + - + An optional offset as a number of bytes in the stream. + +
    + + + ?count + + : + int + - + An optional number of bytes to read from the stream. + +
    +
+
+ + Returns: + Async<int> + + An asynchronous computation that will read from the stream into the given buffer. +
+
+
+
+
+
+ +
+
+

+ Returns an asynchronous computation that will read from the stream into the given buffer. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + Stream +

+
+
+ + buffer + + : + byte array +
+
+

+ The buffer to read into. +

+
+
+ + ?offset + + : + int +
+
+

+ An optional offset as a number of bytes in the stream. +

+
+
+ + ?count + + : + int +
+
+

+ An optional number of bytes to read from the stream. +

+
+
+
+
+ + Returns: + + Async<int> +
+
+

+ An asynchronous computation that will read from the stream into the given buffer. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when the sum of offset and count is longer than + the buffer length. +
+ + ArgumentOutOfRangeException + + + Thrown when offset or count is negative. +
+
+
+
+ +

+ + + this.AsyncRead + + +

+
+
+
+ Full Usage: + this.AsyncRead +
+
+ Parameters: +
    + + + count + + : + int + - + The number of bytes to read. + +
    +
+
+ + Returns: + Async<byte array> + + An asynchronous computation that returns the read byte array when run. +
+
+
+
+
+
+ +
+
+

+ Returns an asynchronous computation that will read the given number of bytes from the stream. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + Stream +

+
+
+ + count + + : + int +
+
+

+ The number of bytes to read. +

+
+
+
+
+ + Returns: + + Async<byte array> +
+
+

+ An asynchronous computation that returns the read byte array when run. +

+
+
+
+
+
+ +

+ + + this.AsyncWrite + + +

+
+
+
+ Full Usage: + this.AsyncWrite +
+
+ Parameters: +
    + + + buffer + + : + byte array + - + The buffer to write from. + +
    + + + ?offset + + : + int + - + An optional offset as a number of bytes in the stream. + +
    + + + ?count + + : + int + - + An optional number of bytes to write to the stream. + +
    +
+
+ + Returns: + Async<unit> + + An asynchronous computation that will write the given bytes to the stream. +
+
+
+
+
+
+ +
+
+

+ Returns an asynchronous computation that will write the given bytes to the stream. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + Stream +

+
+
+ + buffer + + : + byte array +
+
+

+ The buffer to write from. +

+
+
+ + ?offset + + : + int +
+
+

+ An optional offset as a number of bytes in the stream. +

+
+
+ + ?count + + : + int +
+
+

+ An optional number of bytes to write to the stream. +

+
+
+
+
+ + Returns: + + Async<unit> +
+
+

+ An asynchronous computation that will write the given bytes to the stream. +

+
+
+ + + + + + + + + +
+ + ArgumentException + + + Thrown when the sum of offset and count is longer than + the buffer length. +
+ + ArgumentOutOfRangeException + + + Thrown when offset or count is negative. +
+
+
+
+ +

+ + + this.Subscribe + + +

+
+
+
+ Full Usage: + this.Subscribe +
+
+ Parameters: +
    + + + callback + + : + 'T -> unit + - + The function to be called for each observation. + +
    +
+
+ + Returns: + IDisposable + + An object that will remove the listener if disposed. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + IObservable +

+
+
+ + callback + + : + 'T -> unit +
+
+

+ The function to be called for each observation. +

+
+
+
+
+ + Returns: + + IDisposable +
+
+

+ An object that will remove the listener if disposed. +

+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-eventmodule.html b/reference/fsharp-control-eventmodule.html new file mode 100644 index 000000000..6ecfff4d8 --- /dev/null +++ b/reference/fsharp-control-eventmodule.html @@ -0,0 +1,2142 @@ + + + + + + + + + + + + + + + + + + Event (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Event Module +

+ +
+
+
+

+ Contains operations for working with values of type IEvent. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Event.add callback sourceEvent + + +

+
+
+
+ Full Usage: + Event.add callback sourceEvent +
+
+ Parameters: +
    + + + callback + + : + 'T -> unit + - + The function to call when the event is triggered. + +
    + + + sourceEvent + + : + IEvent<'Del, 'T> + - + The input event. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Runs the given function each time the given event is triggered. +

+
+
+ + + + + +
+
+
+
+
+ + callback + + : + 'T -> unit +
+
+

+ The function to call when the event is triggered. +

+
+
+ + sourceEvent + + : + IEvent<'Del, 'T> +
+
+

+ The input event. +

+
+
+
+ Example +
+

+

 open System
+
+ let createTimer interval =
+     let timer = new Timers.Timer(interval)
+     timer.AutoReset <- true
+     timer.Enabled <- true
+     timer.Elapsed
+
+ let timer = createTimer 1000
+
+ Event.add (fun (event: Timers.ElapsedEventArgs) -> printfn $"{event.SignalTime} ")  timer
+
+ Console.ReadLine() |> ignore
+
+
namespace System
+
val createTimer: interval: 'a -> IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val interval: 'a
+
val timer: Timers.Timer
+
namespace System.Timers
+
Multiple items
type Timer = + inherit Component + interface ISupportInitialize + new: unit -> unit + 2 overloads + member BeginInit: unit -> unit + member Close: unit -> unit + member EndInit: unit -> unit + member Start: unit -> unit + member Stop: unit -> unit + member AutoReset: bool + member Enabled: bool + ...
<summary>Generates an event after a set interval, with an option to generate recurring events.</summary>

--------------------
Timers.Timer() : Timers.Timer
Timers.Timer(interval: float) : Timers.Timer
Timers.Timer(interval: TimeSpan) : Timers.Timer
+
property Timers.Timer.AutoReset: bool with get, set
<summary>Gets or sets a Boolean indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once (<see langword="false" />) or repeatedly (<see langword="true" />).</summary>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event each time the interval elapses; <see langword="false" /> if it should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once, after the first time the interval elapses. The default is <see langword="true" />.</returns>
+
property Timers.Timer.Enabled: bool with get, set
<summary>Gets or sets a value indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>
<exception cref="T:System.ObjectDisposedException">This property cannot be set because the timer has been disposed.</exception>
<exception cref="T:System.ArgumentException">The <see cref="P:System.Timers.Timer.Interval" /> property was set to a value greater than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> before the timer was enabled.</exception>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event; otherwise, <see langword="false" />. The default is <see langword="false" />.</returns>
+
event Timers.Timer.Elapsed: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val timer: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
Multiple items
module Event + +from Microsoft.FSharp.Control

--------------------
type Event<'T> = + new: unit -> Event<'T> + member Trigger: arg: 'T -> unit + member Publish: IEvent<'T>

--------------------
type Event<'Delegate,'Args (requires delegate and 'Delegate :> Delegate and reference type)> = + new: unit -> Event<'Delegate,'Args> + member Trigger: sender: obj * args: 'Args -> unit + member Publish: IEvent<'Delegate,'Args>

--------------------
new: unit -> Event<'T>

--------------------
new: unit -> Event<'Delegate,'Args>
+
val add: callback: ('T -> unit) -> sourceEvent: IEvent<'Del,'T> -> unit (requires delegate and 'Del :> Delegate)
+
val event: Timers.ElapsedEventArgs
+
Multiple items
type ElapsedEventArgs = + inherit EventArgs + new: signalTime: DateTime -> unit + member SignalTime: DateTime
<summary>Provides data for the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>

--------------------
Timers.ElapsedEventArgs(signalTime: DateTime) : Timers.ElapsedEventArgs
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
property Timers.ElapsedEventArgs.SignalTime: DateTime with get
<summary>Gets the date/time when the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</summary>
<returns>The time the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</returns>
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.ReadLine() : string
+
val ignore: value: 'T -> unit
+ + + The sample will output the timer event every second: + 2/14/2022 11:52:05 PM + 2/14/2022 11:52:06 PM + 2/14/2022 11:52:07 PM + 2/14/2022 11:52:08 PM +

+
+
+
+ +

+ + + Event.choose chooser sourceEvent + + +

+
+
+
+ Full Usage: + Event.choose chooser sourceEvent +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + The function to select and transform event values to pass on. + +
    + + + sourceEvent + + : + IEvent<'Del, 'T> + - + The input event. + +
    +
+
+ + Returns: + IEvent<'U> + + An event that fires only when the chooser returns Some. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ The function to select and transform event values to pass on. +

+
+
+ + sourceEvent + + : + IEvent<'Del, 'T> +
+
+

+ The input event. +

+
+
+
+
+ + Returns: + + IEvent<'U> +
+
+

+ An event that fires only when the chooser returns Some. +

+
+
+
+ Example +
+

+

 open System
+
+ let createTimer interval =
+     let timer = new Timers.Timer(interval)
+     timer.AutoReset <- true
+     timer.Enabled <- true
+     timer.Elapsed
+
+ let timer = createTimer 1000
+
+ let getEvenSeconds (number: Timers.ElapsedEventArgs) =
+     match number with
+     | _ when number.SignalTime.Second % 2 = 0 -> Some number.SignalTime
+     | _ -> None
+
+ let evenSecondsEvent = Event.choose getEvenSeconds timer
+
+ evenSecondsEvent.Subscribe(fun x -> printfn $"{x} ")
+ |> ignore
+
+ Console.ReadLine() |> ignore
+
+
namespace System
+
val createTimer: interval: 'a -> IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val interval: 'a
+
val timer: Timers.Timer
+
namespace System.Timers
+
Multiple items
type Timer = + inherit Component + interface ISupportInitialize + new: unit -> unit + 2 overloads + member BeginInit: unit -> unit + member Close: unit -> unit + member EndInit: unit -> unit + member Start: unit -> unit + member Stop: unit -> unit + member AutoReset: bool + member Enabled: bool + ...
<summary>Generates an event after a set interval, with an option to generate recurring events.</summary>

--------------------
Timers.Timer() : Timers.Timer
Timers.Timer(interval: float) : Timers.Timer
Timers.Timer(interval: TimeSpan) : Timers.Timer
+
property Timers.Timer.AutoReset: bool with get, set
<summary>Gets or sets a Boolean indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once (<see langword="false" />) or repeatedly (<see langword="true" />).</summary>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event each time the interval elapses; <see langword="false" /> if it should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once, after the first time the interval elapses. The default is <see langword="true" />.</returns>
+
property Timers.Timer.Enabled: bool with get, set
<summary>Gets or sets a value indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>
<exception cref="T:System.ObjectDisposedException">This property cannot be set because the timer has been disposed.</exception>
<exception cref="T:System.ArgumentException">The <see cref="P:System.Timers.Timer.Interval" /> property was set to a value greater than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> before the timer was enabled.</exception>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event; otherwise, <see langword="false" />. The default is <see langword="false" />.</returns>
+
event Timers.Timer.Elapsed: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val timer: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val getEvenSeconds: number: Timers.ElapsedEventArgs -> DateTime option
+
val number: Timers.ElapsedEventArgs
+
Multiple items
type ElapsedEventArgs = + inherit EventArgs + new: signalTime: DateTime -> unit + member SignalTime: DateTime
<summary>Provides data for the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>

--------------------
Timers.ElapsedEventArgs(signalTime: DateTime) : Timers.ElapsedEventArgs
+
property Timers.ElapsedEventArgs.SignalTime: DateTime with get
<summary>Gets the date/time when the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</summary>
<returns>The time the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</returns>
+
property DateTime.Second: int with get
<summary>Gets the seconds component of the date represented by this instance.</summary>
<returns>The seconds component, expressed as a value between 0 and 59.</returns>
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+
val evenSecondsEvent: IEvent<DateTime>
+
Multiple items
module Event + +from Microsoft.FSharp.Control

--------------------
type Event<'T> = + new: unit -> Event<'T> + member Trigger: arg: 'T -> unit + member Publish: IEvent<'T>

--------------------
type Event<'Delegate,'Args (requires delegate and 'Delegate :> Delegate and reference type)> = + new: unit -> Event<'Delegate,'Args> + member Trigger: sender: obj * args: 'Args -> unit + member Publish: IEvent<'Delegate,'Args>

--------------------
new: unit -> Event<'T>

--------------------
new: unit -> Event<'Delegate,'Args>
+
val choose: chooser: ('T -> 'U option) -> sourceEvent: IEvent<'Del,'T> -> IEvent<'U> (requires delegate and 'Del :> Delegate)
+
member IObservable.Subscribe: callback: ('T -> unit) -> IDisposable
IObservable.Subscribe(observer: IObserver<DateTime>) : IDisposable
+
val x: DateTime
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.ReadLine() : string
+ + + The sample will output: 2/15/2022 12:04:04 AM + 2/15/2022 12:04:06 AM + 2/15/2022 12:04:08 AM +

+
+
+
+ +

+ + + Event.filter predicate sourceEvent + + +

+
+
+
+ Full Usage: + Event.filter predicate sourceEvent +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to determine which triggers from the event to propagate. + +
    + + + sourceEvent + + : + IEvent<'Del, 'T> + - + The input event. + +
    +
+
+ + Returns: + IEvent<'T> + + An event that only passes values that pass the predicate. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to determine which triggers from the event to propagate. +

+
+
+ + sourceEvent + + : + IEvent<'Del, 'T> +
+
+

+ The input event. +

+
+
+
+
+ + Returns: + + IEvent<'T> +
+
+

+ An event that only passes values that pass the predicate. +

+
+
+
+ Example +
+

+

 open System
+
+ let createTimer interval =
+     let timer = new Timers.Timer(interval)
+     timer.AutoReset <- true
+     timer.Enabled <- true
+     timer.Elapsed
+
+ let timer = createTimer 1000
+
+ let getEvenSeconds (number: Timers.ElapsedEventArgs) =
+     match number with
+     | _ when number.SignalTime.Second % 2 = 0 -> true
+     | _ -> false
+
+ let evenSecondsEvent = Event.filter getEvenSeconds timer
+
+ evenSecondsEvent.Subscribe(fun x -> printfn $"{x} ")
+ |> ignore
+
+ Console.ReadLine() |> ignore
+
+
namespace System
+
val createTimer: interval: 'a -> IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val interval: 'a
+
val timer: Timers.Timer
+
namespace System.Timers
+
Multiple items
type Timer = + inherit Component + interface ISupportInitialize + new: unit -> unit + 2 overloads + member BeginInit: unit -> unit + member Close: unit -> unit + member EndInit: unit -> unit + member Start: unit -> unit + member Stop: unit -> unit + member AutoReset: bool + member Enabled: bool + ...
<summary>Generates an event after a set interval, with an option to generate recurring events.</summary>

--------------------
Timers.Timer() : Timers.Timer
Timers.Timer(interval: float) : Timers.Timer
Timers.Timer(interval: TimeSpan) : Timers.Timer
+
property Timers.Timer.AutoReset: bool with get, set
<summary>Gets or sets a Boolean indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once (<see langword="false" />) or repeatedly (<see langword="true" />).</summary>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event each time the interval elapses; <see langword="false" /> if it should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once, after the first time the interval elapses. The default is <see langword="true" />.</returns>
+
property Timers.Timer.Enabled: bool with get, set
<summary>Gets or sets a value indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>
<exception cref="T:System.ObjectDisposedException">This property cannot be set because the timer has been disposed.</exception>
<exception cref="T:System.ArgumentException">The <see cref="P:System.Timers.Timer.Interval" /> property was set to a value greater than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> before the timer was enabled.</exception>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event; otherwise, <see langword="false" />. The default is <see langword="false" />.</returns>
+
event Timers.Timer.Elapsed: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val timer: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val getEvenSeconds: number: Timers.ElapsedEventArgs -> bool
+
val number: Timers.ElapsedEventArgs
+
Multiple items
type ElapsedEventArgs = + inherit EventArgs + new: signalTime: DateTime -> unit + member SignalTime: DateTime
<summary>Provides data for the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>

--------------------
Timers.ElapsedEventArgs(signalTime: DateTime) : Timers.ElapsedEventArgs
+
property Timers.ElapsedEventArgs.SignalTime: DateTime with get
<summary>Gets the date/time when the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</summary>
<returns>The time the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</returns>
+
property DateTime.Second: int with get
<summary>Gets the seconds component of the date represented by this instance.</summary>
<returns>The seconds component, expressed as a value between 0 and 59.</returns>
+
val evenSecondsEvent: IEvent<Timers.ElapsedEventArgs>
+
Multiple items
module Event + +from Microsoft.FSharp.Control

--------------------
type Event<'T> = + new: unit -> Event<'T> + member Trigger: arg: 'T -> unit + member Publish: IEvent<'T>

--------------------
type Event<'Delegate,'Args (requires delegate and 'Delegate :> Delegate and reference type)> = + new: unit -> Event<'Delegate,'Args> + member Trigger: sender: obj * args: 'Args -> unit + member Publish: IEvent<'Delegate,'Args>

--------------------
new: unit -> Event<'T>

--------------------
new: unit -> Event<'Delegate,'Args>
+
val filter: predicate: ('T -> bool) -> sourceEvent: IEvent<'Del,'T> -> IEvent<'T> (requires delegate and 'Del :> Delegate)
+
member IObservable.Subscribe: callback: ('T -> unit) -> IDisposable
IObservable.Subscribe(observer: IObserver<Timers.ElapsedEventArgs>) : IDisposable
+
val x: Timers.ElapsedEventArgs
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.ReadLine() : string
+ + + The sample will only output even seconds: 2/15/2022 12:03:08 AM + 2/15/2022 12:03:10 AM + 2/15/2022 12:03:12 AM + 2/15/2022 12:03:14 AM +

+
+
+
+ +

+ + + Event.map mapping sourceEvent + + +

+
+
+
+ Full Usage: + Event.map mapping sourceEvent +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + The function to transform event values. + +
    + + + sourceEvent + + : + IEvent<'Del, 'T> + - + The input event. + +
    +
+
+ + Returns: + IEvent<'U> + + An event that passes the transformed values. +
+
+
+
+
+
+ +
+
+

+ Returns a new event that passes values transformed by the given function. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ The function to transform event values. +

+
+
+ + sourceEvent + + : + IEvent<'Del, 'T> +
+
+

+ The input event. +

+
+
+
+
+ + Returns: + + IEvent<'U> +
+
+

+ An event that passes the transformed values. +

+
+
+
+ Example +
+

+

 open System
+
+ let createTimer interval =
+     let timer = new Timers.Timer(interval)
+     timer.AutoReset <- true
+     timer.Enabled <- true
+     timer.Elapsed
+
+ let timer = createTimer 1000
+
+ let transformSeconds (number: Timers.ElapsedEventArgs) =
+     match number with
+     | _ when number.SignalTime.Second % 2 = 0 -> 100
+     | _ -> -500
+
+ let evenSecondsEvent = Event.map transformSeconds timer
+
+ evenSecondsEvent.Subscribe(fun x -> printf $"{x} ")
+ |> ignore
+
+ Console.ReadLine() |> ignore
+
+
namespace System
+
val createTimer: interval: 'a -> IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val interval: 'a
+
val timer: Timers.Timer
+
namespace System.Timers
+
Multiple items
type Timer = + inherit Component + interface ISupportInitialize + new: unit -> unit + 2 overloads + member BeginInit: unit -> unit + member Close: unit -> unit + member EndInit: unit -> unit + member Start: unit -> unit + member Stop: unit -> unit + member AutoReset: bool + member Enabled: bool + ...
<summary>Generates an event after a set interval, with an option to generate recurring events.</summary>

--------------------
Timers.Timer() : Timers.Timer
Timers.Timer(interval: float) : Timers.Timer
Timers.Timer(interval: TimeSpan) : Timers.Timer
+
property Timers.Timer.AutoReset: bool with get, set
<summary>Gets or sets a Boolean indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once (<see langword="false" />) or repeatedly (<see langword="true" />).</summary>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event each time the interval elapses; <see langword="false" /> if it should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once, after the first time the interval elapses. The default is <see langword="true" />.</returns>
+
property Timers.Timer.Enabled: bool with get, set
<summary>Gets or sets a value indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>
<exception cref="T:System.ObjectDisposedException">This property cannot be set because the timer has been disposed.</exception>
<exception cref="T:System.ArgumentException">The <see cref="P:System.Timers.Timer.Interval" /> property was set to a value greater than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> before the timer was enabled.</exception>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event; otherwise, <see langword="false" />. The default is <see langword="false" />.</returns>
+
event Timers.Timer.Elapsed: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val timer: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val transformSeconds: number: Timers.ElapsedEventArgs -> int
+
val number: Timers.ElapsedEventArgs
+
Multiple items
type ElapsedEventArgs = + inherit EventArgs + new: signalTime: DateTime -> unit + member SignalTime: DateTime
<summary>Provides data for the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>

--------------------
Timers.ElapsedEventArgs(signalTime: DateTime) : Timers.ElapsedEventArgs
+
property Timers.ElapsedEventArgs.SignalTime: DateTime with get
<summary>Gets the date/time when the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</summary>
<returns>The time the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</returns>
+
property DateTime.Second: int with get
<summary>Gets the seconds component of the date represented by this instance.</summary>
<returns>The seconds component, expressed as a value between 0 and 59.</returns>
+
val evenSecondsEvent: IEvent<int>
+
Multiple items
module Event + +from Microsoft.FSharp.Control

--------------------
type Event<'T> = + new: unit -> Event<'T> + member Trigger: arg: 'T -> unit + member Publish: IEvent<'T>

--------------------
type Event<'Delegate,'Args (requires delegate and 'Delegate :> Delegate and reference type)> = + new: unit -> Event<'Delegate,'Args> + member Trigger: sender: obj * args: 'Args -> unit + member Publish: IEvent<'Delegate,'Args>

--------------------
new: unit -> Event<'T>

--------------------
new: unit -> Event<'Delegate,'Args>
+
val map: mapping: ('T -> 'U) -> sourceEvent: IEvent<'Del,'T> -> IEvent<'U> (requires delegate and 'Del :> Delegate)
+
member IObservable.Subscribe: callback: ('T -> unit) -> IDisposable
IObservable.Subscribe(observer: IObserver<int>) : IDisposable
+
val x: int
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.ReadLine() : string
+ + + The sample will transform the seconds if it's even or odd number and the output is: -500 100 -500 100 -500 100 +

+
+
+
+ +

+ + + Event.merge event1 event2 + + +

+
+
+
+ Full Usage: + Event.merge event1 event2 +
+
+ Parameters: +
    + + + event1 + + : + IEvent<'Del1, 'T> + - + The first input event. + +
    + + + event2 + + : + IEvent<'Del2, 'T> + - + The second input event. + +
    +
+
+ + Returns: + IEvent<'T> + + An event that fires when either of the input events fire. +
+
+
+
+
+
+ +
+
+

+ Fires the output event when either of the input events fire. +

+
+
+ + + + + +
+
+
+
+
+ + event1 + + : + IEvent<'Del1, 'T> +
+
+

+ The first input event. +

+
+
+ + event2 + + : + IEvent<'Del2, 'T> +
+
+

+ The second input event. +

+
+
+
+
+ + Returns: + + IEvent<'T> +
+
+

+ An event that fires when either of the input events fire. +

+
+
+
+ Example +
+

+

 open System.Reactive.Linq
+ open System
+ let createTimer interval =
+     let timer = new Timers.Timer(interval)
+     timer.AutoReset <- true
+     timer.Enabled <- true
+     timer.Elapsed
+
+ let oneSecondTimer = createTimer 1000
+ let fiveSecondsTimer = createTimer 5000
+
+ let result = Event.merge oneSecondTimer fiveSecondsTimer
+
+ result.Subscribe(fun output -> printfn $"Output - {output.SignalTime} ")
+ |> ignore
+
+ Console.ReadLine() |> ignore
+
+
namespace System
+
val createTimer: interval: 'a -> IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val interval: 'a
+
val timer: Timers.Timer
+
namespace System.Timers
+
Multiple items
type Timer = + inherit Component + interface ISupportInitialize + new: unit -> unit + 2 overloads + member BeginInit: unit -> unit + member Close: unit -> unit + member EndInit: unit -> unit + member Start: unit -> unit + member Stop: unit -> unit + member AutoReset: bool + member Enabled: bool + ...
<summary>Generates an event after a set interval, with an option to generate recurring events.</summary>

--------------------
Timers.Timer() : Timers.Timer
Timers.Timer(interval: float) : Timers.Timer
Timers.Timer(interval: TimeSpan) : Timers.Timer
+
property Timers.Timer.AutoReset: bool with get, set
<summary>Gets or sets a Boolean indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once (<see langword="false" />) or repeatedly (<see langword="true" />).</summary>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event each time the interval elapses; <see langword="false" /> if it should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once, after the first time the interval elapses. The default is <see langword="true" />.</returns>
+
property Timers.Timer.Enabled: bool with get, set
<summary>Gets or sets a value indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>
<exception cref="T:System.ObjectDisposedException">This property cannot be set because the timer has been disposed.</exception>
<exception cref="T:System.ArgumentException">The <see cref="P:System.Timers.Timer.Interval" /> property was set to a value greater than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> before the timer was enabled.</exception>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event; otherwise, <see langword="false" />. The default is <see langword="false" />.</returns>
+
event Timers.Timer.Elapsed: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val oneSecondTimer: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val fiveSecondsTimer: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val result: IEvent<Timers.ElapsedEventArgs>
+
Multiple items
module Event + +from Microsoft.FSharp.Control

--------------------
type Event<'T> = + new: unit -> Event<'T> + member Trigger: arg: 'T -> unit + member Publish: IEvent<'T>

--------------------
type Event<'Delegate,'Args (requires delegate and 'Delegate :> Delegate and reference type)> = + new: unit -> Event<'Delegate,'Args> + member Trigger: sender: obj * args: 'Args -> unit + member Publish: IEvent<'Delegate,'Args>

--------------------
new: unit -> Event<'T>

--------------------
new: unit -> Event<'Delegate,'Args>
+
val merge: event1: IEvent<'Del1,'T> -> event2: IEvent<'Del2,'T> -> IEvent<'T> (requires delegate and 'Del1 :> Delegate and delegate and 'Del2 :> Delegate)
+
member IObservable.Subscribe: callback: ('T -> unit) -> IDisposable
IObservable.Subscribe(observer: IObserver<Timers.ElapsedEventArgs>) : IDisposable
+
val output: Timers.ElapsedEventArgs
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
property Timers.ElapsedEventArgs.SignalTime: DateTime with get
<summary>Gets the date/time when the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</summary>
<returns>The time the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</returns>
+
val ignore: value: 'T -> unit
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.ReadLine() : string
+ + + The sample will output: Output - 2/15/2022 12:10:40 AM + Output - 2/15/2022 12:10:41 AM + Output - 2/15/2022 12:10:41 AM + Output - 2/15/2022 12:10:42 AM + Output - 2/15/2022 12:10:43 AM +

+
+
+
+ +

+ + + Event.pairwise sourceEvent + + +

+
+
+
+ Full Usage: + Event.pairwise sourceEvent +
+
+ Parameters: +
    + + + sourceEvent + + : + IEvent<'Del, 'T> + - + The input event. + +
    +
+
+ + Returns: + IEvent<'T * 'T> + + An event that triggers on pairs of consecutive values passed from the source event. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + sourceEvent + + : + IEvent<'Del, 'T> +
+
+

+ The input event. +

+
+
+
+
+ + Returns: + + IEvent<'T * 'T> +
+
+

+ An event that triggers on pairs of consecutive values passed from the source event. +

+
+
+
+ Example +
+

+

 open System
+
+ let createTimer interval =
+     let timer = new Timers.Timer(interval)
+     timer.AutoReset <- true
+     timer.Enabled <- true
+     timer.Elapsed
+
+ let timer = createTimer 1000
+
+ let pairWise = Event.pairwise timer
+
+ let extractPair (pair: Timers.ElapsedEventArgs * Timers.ElapsedEventArgs) =
+     let leftPair, rightPair = pair
+     printfn $"(Left): {leftPair.SignalTime} (Right): {rightPair.SignalTime}"
+
+ pairWise.Subscribe(extractPair) |> ignore
+
+ Console.ReadLine() |> ignore
+
+
namespace System
+
val createTimer: interval: 'a -> IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val interval: 'a
+
val timer: Timers.Timer
+
namespace System.Timers
+
Multiple items
type Timer = + inherit Component + interface ISupportInitialize + new: unit -> unit + 2 overloads + member BeginInit: unit -> unit + member Close: unit -> unit + member EndInit: unit -> unit + member Start: unit -> unit + member Stop: unit -> unit + member AutoReset: bool + member Enabled: bool + ...
<summary>Generates an event after a set interval, with an option to generate recurring events.</summary>

--------------------
Timers.Timer() : Timers.Timer
Timers.Timer(interval: float) : Timers.Timer
Timers.Timer(interval: TimeSpan) : Timers.Timer
+
property Timers.Timer.AutoReset: bool with get, set
<summary>Gets or sets a Boolean indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once (<see langword="false" />) or repeatedly (<see langword="true" />).</summary>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event each time the interval elapses; <see langword="false" /> if it should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once, after the first time the interval elapses. The default is <see langword="true" />.</returns>
+
property Timers.Timer.Enabled: bool with get, set
<summary>Gets or sets a value indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>
<exception cref="T:System.ObjectDisposedException">This property cannot be set because the timer has been disposed.</exception>
<exception cref="T:System.ArgumentException">The <see cref="P:System.Timers.Timer.Interval" /> property was set to a value greater than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> before the timer was enabled.</exception>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event; otherwise, <see langword="false" />. The default is <see langword="false" />.</returns>
+
event Timers.Timer.Elapsed: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val timer: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val pairWise: IEvent<Timers.ElapsedEventArgs * Timers.ElapsedEventArgs>
+
Multiple items
module Event + +from Microsoft.FSharp.Control

--------------------
type Event<'T> = + new: unit -> Event<'T> + member Trigger: arg: 'T -> unit + member Publish: IEvent<'T>

--------------------
type Event<'Delegate,'Args (requires delegate and 'Delegate :> Delegate and reference type)> = + new: unit -> Event<'Delegate,'Args> + member Trigger: sender: obj * args: 'Args -> unit + member Publish: IEvent<'Delegate,'Args>

--------------------
new: unit -> Event<'T>

--------------------
new: unit -> Event<'Delegate,'Args>
+
val pairwise: sourceEvent: IEvent<'Del,'T> -> IEvent<'T * 'T> (requires delegate and 'Del :> Delegate)
+
val extractPair: Timers.ElapsedEventArgs * Timers.ElapsedEventArgs -> unit
+
val pair: Timers.ElapsedEventArgs * Timers.ElapsedEventArgs
+
Multiple items
type ElapsedEventArgs = + inherit EventArgs + new: signalTime: DateTime -> unit + member SignalTime: DateTime
<summary>Provides data for the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>

--------------------
Timers.ElapsedEventArgs(signalTime: DateTime) : Timers.ElapsedEventArgs
+
val leftPair: Timers.ElapsedEventArgs
+
val rightPair: Timers.ElapsedEventArgs
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
property Timers.ElapsedEventArgs.SignalTime: DateTime with get
<summary>Gets the date/time when the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</summary>
<returns>The time the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</returns>
+
member IObservable.Subscribe: callback: ('T -> unit) -> IDisposable
IObservable.Subscribe(observer: IObserver<Timers.ElapsedEventArgs * Timers.ElapsedEventArgs>) : IDisposable
+
val ignore: value: 'T -> unit
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.ReadLine() : string
+ + + The sample will output the timer event every second: + (Left): 2/14/2022 11:58:46 PM (Right): 2/14/2022 11:58:46 PM + (Left): 2/14/2022 11:58:46 PM (Right): 2/14/2022 11:58:47 PM + (Left): 2/14/2022 11:58:47 PM (Right): 2/14/2022 11:58:48 PM +

+
+
+
+ +

+ + + Event.partition predicate sourceEvent + + +

+
+
+
+ Full Usage: + Event.partition predicate sourceEvent +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to determine which output event to trigger. + +
    + + + sourceEvent + + : + IEvent<'Del, 'T> + - + The input event. + +
    +
+
+ + Returns: + IEvent<'T> * IEvent<'T> + + 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 + first resulting event if the application of the predicate to the event arguments + returned true, and the second event if it returned false. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to determine which output event to trigger. +

+
+
+ + sourceEvent + + : + IEvent<'Del, 'T> +
+
+

+ The input event. +

+
+
+
+
+ + Returns: + + IEvent<'T> * IEvent<'T> +
+
+

+ A tuple of events. The first is triggered when the predicate evaluates to true + and the second when the predicate evaluates to false. +

+
+
+
+ Example +
+

+

 open System
+
+ let createTimer interval =
+     let timer = new Timers.Timer(interval)
+     timer.AutoReset <- true
+     timer.Enabled <- true
+     timer.Elapsed
+
+ let timer = createTimer 1000
+
+ let getEvenSeconds (number: Timers.ElapsedEventArgs) =
+     match number with
+     | _ when number.SignalTime.Second % 2 = 0 -> true
+     | _ -> false
+
+ let leftPartition, rightPartition = Event.partition getEvenSeconds timer
+
+ leftPartition.Subscribe(fun x -> printfn $"Left partition: {x.SignalTime}")
+ |> ignore
+
+ rightPartition.Subscribe(fun x -> printfn $"Right partition: {x.SignalTime}")
+ |> ignore
+
+ Console.ReadLine() |> ignore
+
+
namespace System
+
val createTimer: interval: 'a -> IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val interval: 'a
+
val timer: Timers.Timer
+
namespace System.Timers
+
Multiple items
type Timer = + inherit Component + interface ISupportInitialize + new: unit -> unit + 2 overloads + member BeginInit: unit -> unit + member Close: unit -> unit + member EndInit: unit -> unit + member Start: unit -> unit + member Stop: unit -> unit + member AutoReset: bool + member Enabled: bool + ...
<summary>Generates an event after a set interval, with an option to generate recurring events.</summary>

--------------------
Timers.Timer() : Timers.Timer
Timers.Timer(interval: float) : Timers.Timer
Timers.Timer(interval: TimeSpan) : Timers.Timer
+
property Timers.Timer.AutoReset: bool with get, set
<summary>Gets or sets a Boolean indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once (<see langword="false" />) or repeatedly (<see langword="true" />).</summary>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event each time the interval elapses; <see langword="false" /> if it should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once, after the first time the interval elapses. The default is <see langword="true" />.</returns>
+
property Timers.Timer.Enabled: bool with get, set
<summary>Gets or sets a value indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>
<exception cref="T:System.ObjectDisposedException">This property cannot be set because the timer has been disposed.</exception>
<exception cref="T:System.ArgumentException">The <see cref="P:System.Timers.Timer.Interval" /> property was set to a value greater than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> before the timer was enabled.</exception>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event; otherwise, <see langword="false" />. The default is <see langword="false" />.</returns>
+
event Timers.Timer.Elapsed: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val timer: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val getEvenSeconds: number: Timers.ElapsedEventArgs -> bool
+
val number: Timers.ElapsedEventArgs
+
Multiple items
type ElapsedEventArgs = + inherit EventArgs + new: signalTime: DateTime -> unit + member SignalTime: DateTime
<summary>Provides data for the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>

--------------------
Timers.ElapsedEventArgs(signalTime: DateTime) : Timers.ElapsedEventArgs
+
property Timers.ElapsedEventArgs.SignalTime: DateTime with get
<summary>Gets the date/time when the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</summary>
<returns>The time the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</returns>
+
property DateTime.Second: int with get
<summary>Gets the seconds component of the date represented by this instance.</summary>
<returns>The seconds component, expressed as a value between 0 and 59.</returns>
+
val leftPartition: IEvent<Timers.ElapsedEventArgs>
+
val rightPartition: IEvent<Timers.ElapsedEventArgs>
+
Multiple items
module Event + +from Microsoft.FSharp.Control

--------------------
type Event<'T> = + new: unit -> Event<'T> + member Trigger: arg: 'T -> unit + member Publish: IEvent<'T>

--------------------
type Event<'Delegate,'Args (requires delegate and 'Delegate :> Delegate and reference type)> = + new: unit -> Event<'Delegate,'Args> + member Trigger: sender: obj * args: 'Args -> unit + member Publish: IEvent<'Delegate,'Args>

--------------------
new: unit -> Event<'T>

--------------------
new: unit -> Event<'Delegate,'Args>
+
val partition: predicate: ('T -> bool) -> sourceEvent: IEvent<'Del,'T> -> IEvent<'T> * IEvent<'T> (requires delegate and 'Del :> Delegate)
+
member IObservable.Subscribe: callback: ('T -> unit) -> IDisposable
IObservable.Subscribe(observer: IObserver<Timers.ElapsedEventArgs>) : IDisposable
+
val x: Timers.ElapsedEventArgs
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.ReadLine() : string
+ + + The sample will partition into two events if it is even or odd seconds: + Right partition: 2/15/2022 12:00:27 AM + Left partition: 2/15/2022 12:00:28 AM + Right partition: 2/15/2022 12:00:29 AM + Left partition: 2/15/2022 12:00:30 AM + Right partition: 2/15/2022 12:00:31 AM +

+
+
+
+ +

+ + + Event.scan collector state sourceEvent + + +

+
+
+
+ Full Usage: + Event.scan collector state sourceEvent +
+
+ Parameters: +
    + + + collector + + : + 'U -> 'T -> 'U + - + The function to update the state with each event value. + +
    + + + state + + : + 'U + - + The initial state. + +
    + + + sourceEvent + + : + IEvent<'Del, 'T> + - + The input event. + +
    +
+
+ + Returns: + IEvent<'U> + + An event that fires on the updated state values. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + collector + + : + 'U -> 'T -> 'U +
+
+

+ The function to update the state with each event value. +

+
+
+ + state + + : + 'U +
+
+

+ The initial state. +

+
+
+ + sourceEvent + + : + IEvent<'Del, 'T> +
+
+

+ The input event. +

+
+
+
+
+ + Returns: + + IEvent<'U> +
+
+

+ An event that fires on the updated state values. +

+
+
+
+ Example +
+

+

 open System
+
+ let createTimer interval =
+     let timer = new Timers.Timer(interval)
+     timer.AutoReset <- true
+     timer.Enabled <- true
+     timer.Elapsed
+
+ let timer = createTimer 1000
+
+ let multiplyBy number =
+     fun (timerEvent: Timers.ElapsedEventArgs) -> number * timerEvent.SignalTime./// Second
+
+ let initialState = 2
+
+ let scan = Event.scan multiplyBy initialState timer
+
+ scan.Subscribe(fun x -> printf "%A " x) |> ignore
+
+ Console.ReadLine() |> ignore
+
+
namespace System
+
val createTimer: interval: 'a -> IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val interval: 'a
+
val timer: Timers.Timer
+
namespace System.Timers
+
Multiple items
type Timer = + inherit Component + interface ISupportInitialize + new: unit -> unit + 2 overloads + member BeginInit: unit -> unit + member Close: unit -> unit + member EndInit: unit -> unit + member Start: unit -> unit + member Stop: unit -> unit + member AutoReset: bool + member Enabled: bool + ...
<summary>Generates an event after a set interval, with an option to generate recurring events.</summary>

--------------------
Timers.Timer() : Timers.Timer
Timers.Timer(interval: float) : Timers.Timer
Timers.Timer(interval: TimeSpan) : Timers.Timer
+
property Timers.Timer.AutoReset: bool with get, set
<summary>Gets or sets a Boolean indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once (<see langword="false" />) or repeatedly (<see langword="true" />).</summary>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event each time the interval elapses; <see langword="false" /> if it should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once, after the first time the interval elapses. The default is <see langword="true" />.</returns>
+
property Timers.Timer.Enabled: bool with get, set
<summary>Gets or sets a value indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>
<exception cref="T:System.ObjectDisposedException">This property cannot be set because the timer has been disposed.</exception>
<exception cref="T:System.ArgumentException">The <see cref="P:System.Timers.Timer.Interval" /> property was set to a value greater than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> before the timer was enabled.</exception>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event; otherwise, <see langword="false" />. The default is <see langword="false" />.</returns>
+
event Timers.Timer.Elapsed: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val timer: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val multiplyBy: number: int -> timerEvent: Timers.ElapsedEventArgs -> int
+
val number: int
+
val timerEvent: Timers.ElapsedEventArgs
+
Multiple items
type ElapsedEventArgs = + inherit EventArgs + new: signalTime: DateTime -> unit + member SignalTime: DateTime
<summary>Provides data for the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>

--------------------
Timers.ElapsedEventArgs(signalTime: DateTime) : Timers.ElapsedEventArgs
+
property Timers.ElapsedEventArgs.SignalTime: DateTime with get
<summary>Gets the date/time when the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</summary>
<returns>The time the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</returns>
+
val initialState: int
+
val scan: IEvent<int>
+
Multiple items
module Event + +from Microsoft.FSharp.Control

--------------------
type Event<'T> = + new: unit -> Event<'T> + member Trigger: arg: 'T -> unit + member Publish: IEvent<'T>

--------------------
type Event<'Delegate,'Args (requires delegate and 'Delegate :> Delegate and reference type)> = + new: unit -> Event<'Delegate,'Args> + member Trigger: sender: obj * args: 'Args -> unit + member Publish: IEvent<'Delegate,'Args>

--------------------
new: unit -> Event<'T>

--------------------
new: unit -> Event<'Delegate,'Args>
+
val scan: collector: ('U -> 'T -> 'U) -> state: 'U -> sourceEvent: IEvent<'Del,'T> -> IEvent<'U> (requires delegate and 'Del :> Delegate)
+
member IObservable.Subscribe: callback: ('T -> unit) -> IDisposable
IObservable.Subscribe(observer: IObserver<int>) : IDisposable
+
val x: int
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.ReadLine() : string
+ + + The sample will output depending on your timestamp. It will multiply the seconds with an initial state of 2: 106 5724 314820 17629920 1004905440 -1845026624 -1482388416 +

+
+
+
+ +

+ + + Event.split splitter sourceEvent + + +

+
+
+
+ Full Usage: + Event.split splitter sourceEvent +
+
+ Parameters: +
    + + + splitter + + : + 'T -> Choice<'U1, 'U2> + - + The function to transform event values into one of two types. + +
    + + + sourceEvent + + : + IEvent<'Del, 'T> + - + The input event. + +
    +
+
+ + Returns: + IEvent<'U1> * IEvent<'U2> + + 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 function to the event arguments + returned a Choice1Of2, and the second event if it returns a Choice2Of2. +

+
+
+ + + + + +
+
+
+
+
+ + splitter + + : + 'T -> Choice<'U1, 'U2> +
+
+

+ The function to transform event values into one of two types. +

+
+
+ + sourceEvent + + : + IEvent<'Del, 'T> +
+
+

+ The input event. +

+
+
+
+
+ + Returns: + + IEvent<'U1> * IEvent<'U2> +
+
+

+ A tuple of events. The first fires whenever splitter evaluates to Choice1of1 and + the second fires whenever splitter evaluates to Choice2of2. +

+
+
+
+ Example +
+

+

 open System
+
+ let createTimer interval =
+     let timer = new Timers.Timer(interval)
+     timer.AutoReset <- true
+     timer.Enabled <- true
+     timer.Elapsed
+
+ let timer = createTimer 1000
+
+ let bySeconds (timerEvent: Timers.ElapsedEventArgs) =
+     match timerEvent.SignalTime.Second % 2 = 0 with
+     | true -> Choice1Of2 timerEvent.SignalTime.Second
+     | false -> Choice2Of2 $"{timerEvent.SignalTime.Second} is not an even num ber"
+
+ let evenSplit, printOddNumbers = Event.split bySeconds timer
+
+ let printOutput event functionName =
+     Event.add (fun output -> printfn $"{functionName} - Split output: {output}. /// Type: {output.GetType()}") event
+
+ printOutput evenSplit (nameof evenSplit) |> ignore
+
+ printOutput printOddNumbers (nameof printOddNumbers)
+ |> ignore
+
+ Console.ReadLine() |> ignore
+
+
namespace System
+
val createTimer: interval: 'a -> IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val interval: 'a
+
val timer: Timers.Timer
+
namespace System.Timers
+
Multiple items
type Timer = + inherit Component + interface ISupportInitialize + new: unit -> unit + 2 overloads + member BeginInit: unit -> unit + member Close: unit -> unit + member EndInit: unit -> unit + member Start: unit -> unit + member Stop: unit -> unit + member AutoReset: bool + member Enabled: bool + ...
<summary>Generates an event after a set interval, with an option to generate recurring events.</summary>

--------------------
Timers.Timer() : Timers.Timer
Timers.Timer(interval: float) : Timers.Timer
Timers.Timer(interval: TimeSpan) : Timers.Timer
+
property Timers.Timer.AutoReset: bool with get, set
<summary>Gets or sets a Boolean indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once (<see langword="false" />) or repeatedly (<see langword="true" />).</summary>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event each time the interval elapses; <see langword="false" /> if it should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once, after the first time the interval elapses. The default is <see langword="true" />.</returns>
+
property Timers.Timer.Enabled: bool with get, set
<summary>Gets or sets a value indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>
<exception cref="T:System.ObjectDisposedException">This property cannot be set because the timer has been disposed.</exception>
<exception cref="T:System.ArgumentException">The <see cref="P:System.Timers.Timer.Interval" /> property was set to a value greater than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> before the timer was enabled.</exception>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event; otherwise, <see langword="false" />. The default is <see langword="false" />.</returns>
+
event Timers.Timer.Elapsed: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val timer: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
val bySeconds: timerEvent: Timers.ElapsedEventArgs -> Choice<int,string>
+
val timerEvent: Timers.ElapsedEventArgs
+
Multiple items
type ElapsedEventArgs = + inherit EventArgs + new: signalTime: DateTime -> unit + member SignalTime: DateTime
<summary>Provides data for the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>

--------------------
Timers.ElapsedEventArgs(signalTime: DateTime) : Timers.ElapsedEventArgs
+
property Timers.ElapsedEventArgs.SignalTime: DateTime with get
<summary>Gets the date/time when the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</summary>
<returns>The time the <see cref="E:System.Timers.Timer.Elapsed" /> event was raised.</returns>
+
property DateTime.Second: int with get
<summary>Gets the seconds component of the date represented by this instance.</summary>
<returns>The seconds component, expressed as a value between 0 and 59.</returns>
+
union case Choice.Choice1Of2: 'T1 -> Choice<'T1,'T2>
+
union case Choice.Choice2Of2: 'T2 -> Choice<'T1,'T2>
+
val evenSplit: IEvent<int>
+
val printOddNumbers: IEvent<string>
+
Multiple items
module Event + +from Microsoft.FSharp.Control

--------------------
type Event<'T> = + new: unit -> Event<'T> + member Trigger: arg: 'T -> unit + member Publish: IEvent<'T>

--------------------
type Event<'Delegate,'Args (requires delegate and 'Delegate :> Delegate and reference type)> = + new: unit -> Event<'Delegate,'Args> + member Trigger: sender: obj * args: 'Args -> unit + member Publish: IEvent<'Delegate,'Args>

--------------------
new: unit -> Event<'T>

--------------------
new: unit -> Event<'Delegate,'Args>
+
val split: splitter: ('T -> Choice<'U1,'U2>) -> sourceEvent: IEvent<'Del,'T> -> IEvent<'U1> * IEvent<'U2> (requires delegate and 'Del :> Delegate)
+
val printOutput: event: IEvent<'a,'b> -> functionName: 'c -> unit (requires delegate and 'a :> Delegate)
+
val event: IEvent<'a,'b> (requires delegate and 'a :> Delegate)
+
val functionName: 'c
+
val add: callback: ('T -> unit) -> sourceEvent: IEvent<'Del,'T> -> unit (requires delegate and 'Del :> Delegate)
+
val output: 'b
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val nameof: 'T -> string
+
val ignore: value: 'T -> unit
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.ReadLine() : string
+ + + The sample will split the events by even or odd seconds: evenSplit - Split output: 44. Type: System.Int32 + printOddNumbers - Split output: 45 is not an even number. Type: System.String + evenSplit - Split output: 46. Type: System.Int32 + printOddNumbers - Split output: 47 is not an even number. Type: System.String + evenSplit - Split output: 48. Type: System.Int32 + printOddNumbers - Split output: 49 is not an even number. Type: System.String +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-fsharpasync-1.html b/reference/fsharp-control-fsharpasync-1.html new file mode 100644 index 000000000..ddd57eb0c --- /dev/null +++ b/reference/fsharp-control-fsharpasync-1.html @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + Async<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Async<'T> Type +

+ +
+
+
+

+ + An asynchronous computation, which, when run, will eventually produce a value of type T, or else raises an exception. + +

+
+
+

+ + This type has no members. Asynchronous computations are normally specified either by using an async expression + or the static methods in the Async type. + + See also F# Language Guide - Async Workflows. + +

+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-fsharpasync.html b/reference/fsharp-control-fsharpasync.html new file mode 100644 index 000000000..f8ed09179 --- /dev/null +++ b/reference/fsharp-control-fsharpasync.html @@ -0,0 +1,5579 @@ + + + + + + + + + + + + + + + + + + Async (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Async Type +

+ +
+
+
+

+ Holds static members for creating and manipulating asynchronous computations. +

+
+
+

+ + See also F# Language Guide - Async Workflows. + +

+
+

+ Table of contents +

+ +

+ Starting Async Computations +

+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + Async.RunSynchronously(computation, ?timeout, ?cancellationToken) + + +

+
+
+
+ Full Usage: + Async.RunSynchronously(computation, ?timeout, ?cancellationToken) +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The computation to run. + +
    + + + ?timeout + + : + int + - + The amount of time in milliseconds to wait for the result of the + computation before raising a TimeoutException. If no value is provided + for timeout then a default of -1 is used to correspond to Timeout.Infinite. + +
    + + + ?cancellationToken + + : + CancellationToken + - + The cancellation token to be associated with the computation. + If one is not supplied, the default cancellation token is used. + +
    +
+
+ + Returns: + 'T + + The result of the computation. +
+
+
+
+
+
+ +
+
+

+ 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 computation is started on the current thread if SynchronizationContext.Current is null, + Thread.CurrentThread has Thread.IsThreadPoolThread + of true, and no timeout is specified. Otherwise the computation is started by queueing a new work item in the thread pool, + and the current thread is blocked awaiting the completion of the computation. + + The timeout parameter is given in milliseconds. A value of -1 is equivalent to + Timeout.Infinite. + +

+
+
+ + computation + + : + Async<'T> +
+
+

+ The computation to run. +

+
+
+ + ?timeout + + : + int +
+
+

+ The amount of time in milliseconds to wait for the result of the + computation before raising a TimeoutException. If no value is provided + for timeout then a default of -1 is used to correspond to Timeout.Infinite. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ The cancellation token to be associated with the computation. + If one is not supplied, the default cancellation token is used. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The result of the computation. +

+
+
+
+ Example +
+

+

 printfn "A"
+
+ let result = async {
+     printfn "B"
+     do! Async.Sleep(1000)
+     printfn "C"
+     17
+ } |> Async.RunSynchronously
+
+ printfn "D"
+
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val result: Async<unit>
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: System.Threading.CancellationToken -> 'T
+ + + Prints "A", "B" immediately, then "C", "D" in 1 second. result is set to 17. + +

+
+
+
+ +

+ + + Async.Start(computation, ?cancellationToken) + + +

+
+
+
+ Full Usage: + Async.Start(computation, ?cancellationToken) +
+
+ Parameters: +
    + + + computation + + : + Async<unit> + - + The computation to run asynchronously. + +
    + + + ?cancellationToken + + : + CancellationToken + - + The cancellation token to be associated with the computation. + If one is not supplied, the default cancellation token is used. + +
    +
+
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + computation + + : + Async<unit> +
+
+

+ The computation to run asynchronously. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ The cancellation token to be associated with the computation. + If one is not supplied, the default cancellation token is used. +

+
+
+
+ Example +
+

+

 printfn "A"
+
+ async {
+     printfn "B"
+     do! Async.Sleep(1000)
+     printfn "C"
+ } |> Async.Start
+
+ printfn "D"
+
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
static member Async.Start: computation: Async<unit> * ?cancellationToken: System.Threading.CancellationToken -> unit
+ + + Prints "A", then "D", "B" quickly in any order, and then "C" in 1 second. + +

+
+
+
+ +

+ + + Async.StartAsTask(computation, ?taskCreationOptions, ?cancellationToken) + + +

+
+
+
+ Full Usage: + Async.StartAsTask(computation, ?taskCreationOptions, ?cancellationToken) +
+
+ Parameters: + +
+ + Returns: + Task<'T> + + A Task that will be completed + in the corresponding state once the computation terminates (produces the result, throws exception or gets canceled) +
+
+
+
+
+
+ +
+
+

+ Executes a computation in the thread pool. +

+
+
+ + + + + +
+
+
+

+ If no cancellation token is provided then the default cancellation token is used. +

+
+
+ + computation + + : + Async<'T> +
+
+
+ + ?taskCreationOptions + + : + TaskCreationOptions +
+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+
+
+
+ + Returns: + + Task<'T> +
+
+

+ A Task that will be completed + in the corresponding state once the computation terminates (produces the result, throws exception or gets canceled) +

+
+
+
+ Example +
+

+

 printfn "A"
+
+ let t =
+     async {
+         printfn "B"
+         do! Async.Sleep(1000)
+         printfn "C"
+     } |> Async.StartAsTask
+
+ printfn "D"
+ t.Wait()
+ printfn "E"
+
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val t: System.Threading.Tasks.Task<unit>
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
static member Async.StartAsTask: computation: Async<'T> * ?taskCreationOptions: System.Threading.Tasks.TaskCreationOptions * ?cancellationToken: System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
+
System.Threading.Tasks.Task.Wait() : unit
System.Threading.Tasks.Task.Wait(timeout: System.TimeSpan) : bool
System.Threading.Tasks.Task.Wait(cancellationToken: System.Threading.CancellationToken) : unit
System.Threading.Tasks.Task.Wait(millisecondsTimeout: int) : bool
System.Threading.Tasks.Task.Wait(timeout: System.TimeSpan, cancellationToken: System.Threading.CancellationToken) : bool
System.Threading.Tasks.Task.Wait(millisecondsTimeout: int, cancellationToken: System.Threading.CancellationToken) : bool
+ + + Prints "A", then "D", "B" quickly in any order, then "C", "E" in 1 second. + +

+
+
+
+ +

+ + + Async.StartChildAsTask(computation, ?taskCreationOptions) + + +

+
+
+
+ Full Usage: + Async.StartChildAsTask(computation, ?taskCreationOptions) +
+
+ Parameters: + +
+ + Returns: + Async<Task<'T>> + +
+
+
+
+
+
+ +
+
+

+ Creates an asynchronous computation which starts the given computation as a Task +

+
+
+ + + + + +
+
+
+
+
+ + computation + + : + Async<'T> +
+
+
+ + ?taskCreationOptions + + : + TaskCreationOptions +
+
+
+
+
+ + Returns: + + Async<Task<'T>> +
+
+
+
+
+
+ +

+ + + Async.StartImmediate(computation, ?cancellationToken) + + +

+
+
+
+ Full Usage: + Async.StartImmediate(computation, ?cancellationToken) +
+
+ Parameters: +
    + + + computation + + : + Async<unit> + - + The asynchronous computation to execute. + +
    + + + ?cancellationToken + + : + CancellationToken + - + 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. +

+
+
+ + computation + + : + Async<unit> +
+
+

+ The asynchronous computation to execute. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ The CancellationToken to associate with the computation. + The default is used if this parameter is not provided. +

+
+
+
+ Example +
+

+

 printfn "A"
+
+ async {
+     printfn "B"
+     do! Async.Sleep(1000)
+     printfn "C"
+ } |> Async.StartImmediate
+
+ printfn "D"
+
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
static member Async.StartImmediate: computation: Async<unit> * ?cancellationToken: System.Threading.CancellationToken -> unit
+ + + Prints "A", "B", "D" immediately, then "C" in 1 second + +

+
+
+
+ +

+ + + Async.StartImmediateAsTask(computation, ?cancellationToken) + + +

+
+
+
+ Full Usage: + Async.StartImmediateAsTask(computation, ?cancellationToken) +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The asynchronous computation to execute. + +
    + + + ?cancellationToken + + : + CancellationToken + - + The CancellationToken to associate with the computation. + The default is used if this parameter is not provided. + +
    +
+
+ + Returns: + Task<'T> + + A Task that will be completed + in the corresponding state once the computation terminates (produces the result, throws exception or gets canceled) +
+
+
+
+
+
+ +
+
+

+ Runs an asynchronous computation, starting immediately on the current operating system + thread, but also returns the execution as Task +

+
+
+ + + + + +
+
+
+

+ If no cancellation token is provided then the default cancellation token is used. + You may prefer using this method if you want to achieve a similar behavior to async await in C# as + async computation starts on the current thread with an ability to return a result. + +

+
+
+ + computation + + : + Async<'T> +
+
+

+ The asynchronous computation to execute. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ The CancellationToken to associate with the computation. + The default is used if this parameter is not provided. +

+
+
+
+
+ + Returns: + + Task<'T> +
+
+

+ A Task that will be completed + in the corresponding state once the computation terminates (produces the result, throws exception or gets canceled) +

+
+
+
+ Example +
+

+

 printfn "A"
+
+ let t =
+     async {
+         printfn "B"
+         do! Async.Sleep(1000)
+         printfn "C"
+     } |> Async.StartImmediateAsTask
+
+ printfn "D"
+ t.Wait()
+ printfn "E"
+
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val t: System.Threading.Tasks.Task<unit>
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
static member Async.StartImmediateAsTask: computation: Async<'T> * ?cancellationToken: System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
+
System.Threading.Tasks.Task.Wait() : unit
System.Threading.Tasks.Task.Wait(timeout: System.TimeSpan) : bool
System.Threading.Tasks.Task.Wait(cancellationToken: System.Threading.CancellationToken) : unit
System.Threading.Tasks.Task.Wait(millisecondsTimeout: int) : bool
System.Threading.Tasks.Task.Wait(timeout: System.TimeSpan, cancellationToken: System.Threading.CancellationToken) : bool
System.Threading.Tasks.Task.Wait(millisecondsTimeout: int, cancellationToken: System.Threading.CancellationToken) : bool
+ + + Prints "A", "B", "D" immediately, then "C", "E" in 1 second. + +

+
+
+
+ +

+ + + Async.StartWithContinuations(computation, continuation, exceptionContinuation, cancellationContinuation, ?cancellationToken) + + +

+
+
+
+ Full Usage: + Async.StartWithContinuations(computation, continuation, exceptionContinuation, cancellationContinuation, ?cancellationToken) +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The asynchronous computation to execute. + +
    + + + continuation + + : + 'T -> unit + - + The function called on success. + +
    + + + exceptionContinuation + + : + exn -> unit + - + The function called on exception. + +
    + + + cancellationContinuation + + : + OperationCanceledException -> unit + - + The function called on cancellation. + +
    + + + ?cancellationToken + + : + CancellationToken + - + 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. Call one of the three continuations when the operation completes. +

+
+
+ + + + + +
+
+
+

+ If no cancellation token is provided then the default cancellation token + is used. +

+
+
+ + computation + + : + Async<'T> +
+
+

+ The asynchronous computation to execute. +

+
+
+ + continuation + + : + 'T -> unit +
+
+

+ The function called on success. +

+
+
+ + exceptionContinuation + + : + exn -> unit +
+
+

+ The function called on exception. +

+
+
+ + cancellationContinuation + + : + OperationCanceledException -> unit +
+
+

+ The function called on cancellation. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ The CancellationToken to associate with the computation. + The default is used if this parameter is not provided. +

+
+
+
+
+
+

+ Composing Async Computations +

+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + Async.Choice(computations) + + +

+
+
+
+ Full Usage: + Async.Choice(computations) +
+
+ Parameters: +
    + + + computations + + : + Async<'T option> seq + - + A sequence of computations to be parallelized. + +
    +
+
+ + Returns: + Async<'T option> + + A computation that returns the first succeeding computation. +
+
+
+
+
+
+ +
+
+

+ + Creates an asynchronous computation that executes all given asynchronous computations in parallel, + returning the result of the first succeeding computation (one whose result is 'Some x'). + If all child computations complete with None, the parent computation also returns None. + +

+
+
+ + + + + +
+
+
+

+ + 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. + +

+
+
+ + computations + + : + Async<'T option> seq +
+
+

+ A sequence of computations to be parallelized. +

+
+
+
+
+ + Returns: + + Async<'T option> +
+
+

+ A computation that returns the first succeeding computation. +

+
+
+
+ Example +
+

+

 printfn "Starting"
+ let primes = [ 2; 3; 5; 7 ]
+ let computations =
+     [ for i in primes do
+         async {
+             do! Async.Sleep(System.Random().Next(1000, 2000))
+             return if i % 2 > 0 then Some(i) else None
+         }
+     ]
+
+ computations
+ |> Async.Choice
+ |> Async.RunSynchronously
+ |> function
+     | Some (i) -> printfn $"{i}"
+     | None -> printfn "No Result"
+
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val primes: int list
+
val computations: Async<int option> list
+
val i: int
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
namespace System
+
Multiple items
type Random = + new: unit -> unit + 1 overload + member GetItems<'T> : choices: ReadOnlySpan<'T> * length: int -> 'T array + 2 overloads + member Next: unit -> int + 2 overloads + member NextBytes: buffer: byte array -> unit + 1 overload + member NextDouble: unit -> float + member NextInt64: unit -> int64 + 2 overloads + member NextSingle: unit -> float32 + member Shuffle<'T> : values: Span<'T> -> unit + 1 overload + static member Shared: Random
<summary>Represents a pseudo-random number generator, which is an algorithm that produces a sequence of numbers that meet certain statistical requirements for randomness.</summary>

--------------------
System.Random() : System.Random
System.Random(Seed: int) : System.Random
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+
static member Async.Choice: computations: Async<'T option> seq -> Async<'T option>
+
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: System.Threading.CancellationToken -> 'T
+ + + Prints one randomly selected odd number in 1-2 seconds. If the list is changed to all even numbers, it will + instead print "No Result". + +

+
+ Example +
+

+

 let primes = [ 2; 3; 5; 7 ]
+ let computations =
+     [ for i in primes do
+         async {
+             do! Async.Sleep(System.Random().Next(1000, 2000))
+
+             return
+                 if i % 2 > 0 then
+                     Some(i)
+                 else
+                     failwith $"Even numbers not supported: {i}"
+         }
+     ]
+
+ computations
+ |> Async.Choice
+ |> Async.RunSynchronously
+ |> function
+     | Some (i) -> printfn $"{i}"
+     | None -> printfn "No Result"
+
+
val primes: int list
+
val computations: Async<int option> list
+
val i: int
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
namespace System
+
Multiple items
type Random = + new: unit -> unit + 1 overload + member GetItems<'T> : choices: ReadOnlySpan<'T> * length: int -> 'T array + 2 overloads + member Next: unit -> int + 2 overloads + member NextBytes: buffer: byte array -> unit + 1 overload + member NextDouble: unit -> float + member NextInt64: unit -> int64 + 2 overloads + member NextSingle: unit -> float32 + member Shuffle<'T> : values: Span<'T> -> unit + 1 overload + static member Shared: Random
<summary>Represents a pseudo-random number generator, which is an algorithm that produces a sequence of numbers that meet certain statistical requirements for randomness.</summary>

--------------------
System.Random() : System.Random
System.Random(Seed: int) : System.Random
+
union case Option.Some: Value: 'T -> Option<'T>
+
val failwith: message: string -> 'T
+
static member Async.Choice: computations: Async<'T option> seq -> Async<'T option>
+
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: System.Threading.CancellationToken -> 'T
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
union case Option.None: Option<'T>
+ + + Will sometimes print one randomly selected odd number, sometimes throw System.Exception("Even numbers not supported: 2"). + +

+
+
+
+ +

+ + + Async.FromContinuations(callback) + + +

+
+
+
+ Full Usage: + Async.FromContinuations(callback) +
+
+ Parameters: + +
+ + Returns: + Async<'T> + + An asynchronous computation that provides the callback with the current continuations. +
+
+
+
+
+
+ +
+
+

+ Creates an asynchronous computation that captures the current + success, exception and cancellation continuations. The callback must + eventually call exactly one of the given continuations. +

+
+
+ + + + + +
+
+
+
+
+ + callback + + : + ('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit +
+
+

+ The function that accepts the current success, exception, and cancellation + continuations. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation that provides the callback with the current continuations. +

+
+
+
+ Example +
+

+

 let someRiskyBusiness() =
+ match DateTime.Today with
+ | dt when dt.DayOfWeek = DayOfWeek.Monday -> failwith "Not compatible with Mondays"
+ | dt -> dt
+ 
+ let computation =
+     (fun (successCont, exceptionCont, cancellationCont) ->
+         try
+             someRiskyBusiness () |> successCont
+         with
+         | :? OperationCanceledException as oce -> cancellationCont oce
+         | e -> exceptionCont e)
+     |> Async.FromContinuations
+
+ Async.StartWithContinuations(
+     computation,
+     (fun result -> printfn $"Result: {result}"),
+     (fun e -> printfn $"Exception: {e}"),
+     (fun oce -> printfn $"Cancelled: {oce}")
+  )
+
+
val someRiskyBusiness: unit -> 'a
+
val dt: obj
+
val failwith: message: string -> 'T
+
val computation: Async<obj>
+
val successCont: (obj -> unit)
+
val exceptionCont: (exn -> unit)
+
val cancellationCont: (System.OperationCanceledException -> unit)
+
val oce: System.OperationCanceledException
+
val oce: exn
+
val e: exn
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.FromContinuations: callback: (('T -> unit) * (exn -> unit) * (System.OperationCanceledException -> unit) -> unit) -> Async<'T>
+
static member Async.StartWithContinuations: computation: Async<'T> * continuation: ('T -> unit) * exceptionContinuation: (exn -> unit) * cancellationContinuation: (System.OperationCanceledException -> unit) * ?cancellationToken: System.Threading.CancellationToken -> unit
+
val result: obj
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + This anonymous function will call someRiskyBusiness() and properly use the provided continuations + defined to report the outcome. + +

+
+
+
+ +

+ + + Async.Ignore(computation) + + +

+
+
+
+ Full Usage: + Async.Ignore(computation) +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The input computation. + +
    +
+
+ + Returns: + Async<unit> + + A computation that is equivalent to the input computation, but disregards the result. +
+
+
+
+
+
+ +
+
+

+ Creates an asynchronous computation that runs the given computation and ignores + its result. +

+
+
+ + + + + +
+
+
+
+
+ + computation + + : + Async<'T> +
+
+

+ The input computation. +

+
+
+
+
+ + Returns: + + Async<unit> +
+
+

+ A computation that is equivalent to the input computation, but disregards the result. +

+
+
+
+ Example +
+

+

 let readFile filename numBytes =
+     async {
+         use file = System.IO.File.OpenRead(filename)
+         printfn "Reading from file %s." filename
+         // Throw away the data being read.
+         do! file.AsyncRead(numBytes) |> Async.Ignore
+     }
+ readFile "example.txt" 42 |> Async.Start
+
+
val readFile: filename: string -> numBytes: int -> Async<unit>
+
val filename: string
+
val numBytes: int
+
val async: AsyncBuilder
+
val file: System.IO.FileStream
+
namespace System
+
namespace System.IO
+
type File = + static member AppendAllBytes: path: string * bytes: byte array -> unit + 1 overload + static member AppendAllBytesAsync: path: string * bytes: byte array * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllLines: path: string * contents: IEnumerable<string> -> unit + 1 overload + static member AppendAllLinesAsync: path: string * contents: IEnumerable<string> * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllText: path: string * contents: string -> unit + 3 overloads + static member AppendAllTextAsync: path: string * contents: string * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 3 overloads + static member AppendText: path: string -> StreamWriter + static member Copy: sourceFileName: string * destFileName: string -> unit + 1 overload + static member Create: path: string -> FileStream + 2 overloads + static member CreateSymbolicLink: path: string * pathToTarget: string -> FileSystemInfo + ...
<summary>Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects.</summary>
+
System.IO.File.OpenRead(path: string) : System.IO.FileStream
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
member System.IO.Stream.AsyncRead: count: int -> Async<byte array>
member System.IO.Stream.AsyncRead: buffer: byte array * ?offset: int * ?count: int -> Async<int>
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Ignore: computation: Async<'T> -> Async<unit>
+
static member Async.Start: computation: Async<unit> * ?cancellationToken: System.Threading.CancellationToken -> unit
+ + + Reads bytes from a given file asynchronously and then ignores the result, allowing the do! to be used with functions + that return an unwanted value. + +

+
+
+
+ +

+ + + Async.Parallel(computations, ?maxDegreeOfParallelism) + + +

+
+
+
+ Full Usage: + Async.Parallel(computations, ?maxDegreeOfParallelism) +
+
+ Parameters: +
    + + + computations + + : + Async<'T> seq + - + A sequence of distinct computations to be parallelized. + +
    + + + ?maxDegreeOfParallelism + + : + int + - + The maximum degree of parallelism in the parallel execution. + +
    +
+
+ + Returns: + Async<'T array> + + A computation that returns an array of values from the sequence of input computations. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + computations + + : + Async<'T> seq +
+
+

+ A sequence of distinct computations to be parallelized. +

+
+
+ + ?maxDegreeOfParallelism + + : + int +
+
+

+ The maximum degree of parallelism in the parallel execution. +

+
+
+
+
+ + Returns: + + Async<'T array> +
+
+

+ A computation that returns an array of values from the sequence of input computations. +

+
+
+
+ Example +
+

+

 let primes = [ 2; 3; 5; 7; 10; 11 ]
+ let computations =
+     [ for i in primes do
+         async {
+             do! Async.Sleep(System.Random().Next(1000, 2000))
+
+             return
+                 if i % 2 > 0 then
+                     printfn $"{i}"
+                     true
+                 else
+                     false
+         } ]
+
+ let t =
+     Async.Parallel(computations, maxDegreeOfParallelism=3)
+     |> Async.StartAsTask
+
+ t.Wait()
+ printfn $"%A{t.Result}"
+
+
val primes: int list
+
val computations: Async<bool> list
+
val i: int
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
namespace System
+
Multiple items
type Random = + new: unit -> unit + 1 overload + member GetItems<'T> : choices: ReadOnlySpan<'T> * length: int -> 'T array + 2 overloads + member Next: unit -> int + 2 overloads + member NextBytes: buffer: byte array -> unit + 1 overload + member NextDouble: unit -> float + member NextInt64: unit -> int64 + 2 overloads + member NextSingle: unit -> float32 + member Shuffle<'T> : values: Span<'T> -> unit + 1 overload + static member Shared: Random
<summary>Represents a pseudo-random number generator, which is an algorithm that produces a sequence of numbers that meet certain statistical requirements for randomness.</summary>

--------------------
System.Random() : System.Random
System.Random(Seed: int) : System.Random
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val t: System.Threading.Tasks.Task<bool array>
+
static member Async.Parallel: computations: Async<'T> seq -> Async<'T array>
static member Async.Parallel: computations: Async<'T> seq * ?maxDegreeOfParallelism: int -> Async<'T array>
+
static member Async.StartAsTask: computation: Async<'T> * ?taskCreationOptions: System.Threading.Tasks.TaskCreationOptions * ?cancellationToken: System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
+
System.Threading.Tasks.Task.Wait() : unit
System.Threading.Tasks.Task.Wait(timeout: System.TimeSpan) : bool
System.Threading.Tasks.Task.Wait(cancellationToken: System.Threading.CancellationToken) : unit
System.Threading.Tasks.Task.Wait(millisecondsTimeout: int) : bool
System.Threading.Tasks.Task.Wait(timeout: System.TimeSpan, cancellationToken: System.Threading.CancellationToken) : bool
System.Threading.Tasks.Task.Wait(millisecondsTimeout: int, cancellationToken: System.Threading.CancellationToken) : bool
+
property System.Threading.Tasks.Task.Result: bool array with get
+ + + This will print "3", "5" (in any order) in 1-2 seconds, and then "7", "11" (in any order) in 1-2 more seconds and then + [| false; true; true; true; false; true |]. + +

+
+
+
+ +

+ + + Async.Parallel(computations) + + +

+
+
+
+ Full Usage: + Async.Parallel(computations) +
+
+ Parameters: +
    + + + computations + + : + Async<'T> seq + - + A sequence of distinct computations to be parallelized. + +
    +
+
+ + Returns: + Async<'T array> + + A computation that returns an array of values from the sequence of input computations. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + computations + + : + Async<'T> seq +
+
+

+ A sequence of distinct computations to be parallelized. +

+
+
+
+
+ + Returns: + + Async<'T array> +
+
+

+ A computation that returns an array of values from the sequence of input computations. +

+
+
+
+ Example +
+

+

 let primes = [ 2; 3; 5; 7; 10; 11 ]
+ let t =
+     [ for i in primes do
+         async {
+             do! Async.Sleep(System.Random().Next(1000, 2000))
+
+             if i % 2 > 0 then
+                 printfn $"{i}"
+                 return true
+             else
+                 return false
+         }
+     ]
+     |> Async.Parallel
+     |> Async.StartAsTask
+
+ t.Wait()
+ printfn $"%A{t.Result}"
+
+
val primes: int list
+
val t: System.Threading.Tasks.Task<bool array>
+
val i: int
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
namespace System
+
Multiple items
type Random = + new: unit -> unit + 1 overload + member GetItems<'T> : choices: ReadOnlySpan<'T> * length: int -> 'T array + 2 overloads + member Next: unit -> int + 2 overloads + member NextBytes: buffer: byte array -> unit + 1 overload + member NextDouble: unit -> float + member NextInt64: unit -> int64 + 2 overloads + member NextSingle: unit -> float32 + member Shuffle<'T> : values: Span<'T> -> unit + 1 overload + static member Shared: Random
<summary>Represents a pseudo-random number generator, which is an algorithm that produces a sequence of numbers that meet certain statistical requirements for randomness.</summary>

--------------------
System.Random() : System.Random
System.Random(Seed: int) : System.Random
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
static member Async.Parallel: computations: Async<'T> seq -> Async<'T array>
static member Async.Parallel: computations: Async<'T> seq * ?maxDegreeOfParallelism: int -> Async<'T array>
+
static member Async.StartAsTask: computation: Async<'T> * ?taskCreationOptions: System.Threading.Tasks.TaskCreationOptions * ?cancellationToken: System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
+
System.Threading.Tasks.Task.Wait() : unit
System.Threading.Tasks.Task.Wait(timeout: System.TimeSpan) : bool
System.Threading.Tasks.Task.Wait(cancellationToken: System.Threading.CancellationToken) : unit
System.Threading.Tasks.Task.Wait(millisecondsTimeout: int) : bool
System.Threading.Tasks.Task.Wait(timeout: System.TimeSpan, cancellationToken: System.Threading.CancellationToken) : bool
System.Threading.Tasks.Task.Wait(millisecondsTimeout: int, cancellationToken: System.Threading.CancellationToken) : bool
+
property System.Threading.Tasks.Task.Result: bool array with get
+ + + This will print "3", "5", "7", "11" (in any order) in 1-2 seconds and then [| false; true; true; true; false; true |]. + +

+
+
+
+ +

+ + + Async.Sequential(computations) + + +

+
+
+
+ Full Usage: + Async.Sequential(computations) +
+
+ Parameters: +
    + + + computations + + : + Async<'T> seq + - + A sequence of distinct computations to be run in sequence. + +
    +
+
+ + Returns: + Async<'T array> + + A computation that returns an array of values from the sequence of input computations. +
+
+
+
+
+
+ +
+
+

+ Creates an asynchronous computation that executes all the given asynchronous computations sequentially. +

+
+
+ + + + + +
+
+
+

+ 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. +

+
+
+ + computations + + : + Async<'T> seq +
+
+

+ A sequence of distinct computations to be run in sequence. +

+
+
+
+
+ + Returns: + + Async<'T array> +
+
+

+ A computation that returns an array of values from the sequence of input computations. +

+
+
+
+ Example +
+

+

 let primes = [ 2; 3; 5; 7; 10; 11 ]
+ let computations =
+     [ for i in primes do
+             async {
+                 do! Async.Sleep(System.Random().Next(1000, 2000))
+
+                 if i % 2 > 0 then
+                     printfn $"{i}"
+                     return true
+                 else
+                     return false
+             }
+    ]
+
+ let t =
+     Async.Sequential(computations)
+     |> Async.StartAsTask
+
+ t.Wait()
+ printfn $"%A{t.Result}"
+
+
val primes: int list
+
val computations: Async<bool> list
+
val i: int
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
namespace System
+
Multiple items
type Random = + new: unit -> unit + 1 overload + member GetItems<'T> : choices: ReadOnlySpan<'T> * length: int -> 'T array + 2 overloads + member Next: unit -> int + 2 overloads + member NextBytes: buffer: byte array -> unit + 1 overload + member NextDouble: unit -> float + member NextInt64: unit -> int64 + 2 overloads + member NextSingle: unit -> float32 + member Shuffle<'T> : values: Span<'T> -> unit + 1 overload + static member Shared: Random
<summary>Represents a pseudo-random number generator, which is an algorithm that produces a sequence of numbers that meet certain statistical requirements for randomness.</summary>

--------------------
System.Random() : System.Random
System.Random(Seed: int) : System.Random
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val t: System.Threading.Tasks.Task<bool array>
+
static member Async.Sequential: computations: Async<'T> seq -> Async<'T array>
+
static member Async.StartAsTask: computation: Async<'T> * ?taskCreationOptions: System.Threading.Tasks.TaskCreationOptions * ?cancellationToken: System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
+
System.Threading.Tasks.Task.Wait() : unit
System.Threading.Tasks.Task.Wait(timeout: System.TimeSpan) : bool
System.Threading.Tasks.Task.Wait(cancellationToken: System.Threading.CancellationToken) : unit
System.Threading.Tasks.Task.Wait(millisecondsTimeout: int) : bool
System.Threading.Tasks.Task.Wait(timeout: System.TimeSpan, cancellationToken: System.Threading.CancellationToken) : bool
System.Threading.Tasks.Task.Wait(millisecondsTimeout: int, cancellationToken: System.Threading.CancellationToken) : bool
+
property System.Threading.Tasks.Task.Result: bool array with get
+ + + This will print "3", "5", "7", "11" with ~1-2 seconds between them except for pauses where even numbers would be and then + prints [| false; true; true; true; false; true |]. + +

+
+
+
+

+ Awaiting Results +

+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + Async.AwaitEvent(event, ?cancelAction) + + +

+
+
+
+ Full Usage: + Async.AwaitEvent(event, ?cancelAction) +
+
+ Parameters: +
    + + + event + + : + IEvent<'Del, 'T> + - + The event to handle once. + +
    + + + ?cancelAction + + : + unit -> unit + - + An optional function to execute instead of cancelling when a + cancellation is issued. + +
    +
+
+ + Returns: + Async<'T> + + An asynchronous computation that waits for the event to be invoked. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + event + + : + IEvent<'Del, 'T> +
+
+

+ The event to handle once. +

+
+
+ + ?cancelAction + + : + unit -> unit +
+
+

+ An optional function to execute instead of cancelling when a + cancellation is issued. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation that waits for the event to be invoked. +

+
+
+
+
+
+ +

+ + + Async.AwaitIAsyncResult(iar, ?millisecondsTimeout) + + +

+
+
+
+ Full Usage: + Async.AwaitIAsyncResult(iar, ?millisecondsTimeout) +
+
+ Parameters: +
    + + + iar + + : + IAsyncResult + - + The IAsyncResult to wait on. + +
    + + + ?millisecondsTimeout + + : + int + - + The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to Timeout.Infinite. + +
    +
+
+ + Returns: + Async<bool> + + An asynchronous computation that waits on the given IAsyncResult. +
+
+
+
+
+
+ +
+
+

+ Creates an asynchronous computation that will wait on the IAsyncResult. +

+
+
+ + + + + +
+
+
+

+ The computation returns true if the handle indicated a result within the given timeout. +

+
+
+ + iar + + : + IAsyncResult +
+
+

+ The IAsyncResult to wait on. +

+
+
+ + ?millisecondsTimeout + + : + int +
+
+

+ The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + Async<bool> +
+
+

+ An asynchronous computation that waits on the given IAsyncResult. +

+
+
+
+
+
+ +

+ + + Async.AwaitTask(task) + + +

+
+
+
+ Full Usage: + Async.AwaitTask(task) +
+
+ Parameters: +
    + + + task + + : + Task + - + The task to await. + +
    +
+
+ + Returns: + Async<unit> + +
+
+
+
+
+
+ +
+
+

+ Return an asynchronous computation that will wait for the given task to complete and return + its result. +

+
+
+ + + + + +
+
+
+

+ If an exception occurs in the asynchronous computation then an exception is re-raised by this + function. + + If the task is cancelled then Tasks.TaskCanceledException is raised. Note + that the task may be governed by a different cancellation token to the overall async computation + where the AwaitTask occurs. In practice you should normally start the task with the + cancellation token returned by let! ct = Async.CancellationToken, and catch + any Tasks.TaskCanceledException at the point where the + overall async is started. + +

+
+
+ + task + + : + Task +
+
+

+ The task to await. +

+
+
+
+
+ + Returns: + + Async<unit> +
+
+
+
+
+
+ +

+ + + Async.AwaitTask(task) + + +

+
+
+
+ Full Usage: + Async.AwaitTask(task) +
+
+ Parameters: +
    + + + task + + : + Task<'T> + - + The task to await. + +
    +
+
+ + Returns: + Async<'T> + +
+
+
+
+
+
+ +
+
+

+ Return an asynchronous computation that will wait for the given task to complete and return + its result. +

+
+
+ + + + + +
+
+
+

+ If an exception occurs in the asynchronous computation then an exception is re-raised by this + function. + + If the task is cancelled then Tasks.TaskCanceledException is raised. Note + that the task may be governed by a different cancellation token to the overall async computation + where the AwaitTask occurs. In practice you should normally start the task with the + cancellation token returned by let! ct = Async.CancellationToken, and catch + any Tasks.TaskCanceledException at the point where the + overall async is started. + +

+
+
+ + task + + : + Task<'T> +
+
+

+ The task to await. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+
+
+
+
+ +

+ + + Async.AwaitWaitHandle(waitHandle, ?millisecondsTimeout) + + +

+
+
+
+ Full Usage: + Async.AwaitWaitHandle(waitHandle, ?millisecondsTimeout) +
+
+ Parameters: +
    + + + waitHandle + + : + WaitHandle + - + The WaitHandle that can be signalled. + +
    + + + ?millisecondsTimeout + + : + int + - + The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to Timeout.Infinite. + +
    +
+
+ + Returns: + Async<bool> + + An asynchronous computation that waits on the given WaitHandle. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + waitHandle + + : + WaitHandle +
+
+

+ The WaitHandle that can be signalled. +

+
+
+ + ?millisecondsTimeout + + : + int +
+
+

+ The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + Async<bool> +
+
+

+ An asynchronous computation that waits on the given WaitHandle. +

+
+
+
+
+
+ +

+ + + Async.Sleep(dueTime) + + +

+
+
+
+ Full Usage: + Async.Sleep(dueTime) +
+
+ Parameters: +
    + + + dueTime + + : + TimeSpan + - + The amount of time to sleep. + +
    +
+
+ + Returns: + Async<unit> + + An asynchronous computation that will sleep for the given time. +
+
+
+
+
+
+ +
+
+

+ + 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. + +

+
+
+ + + + + +
+
+
+
+
+ + dueTime + + : + TimeSpan +
+
+

+ The amount of time to sleep. +

+
+
+
+
+ + Returns: + + Async<unit> +
+
+

+ An asynchronous computation that will sleep for the given time. +

+
+
+ + + + + +
+ + ArgumentOutOfRangeException + + + Thrown when the due time is negative. +
+
+ Example +
+

+

 async {
+     printfn "A"
+     do! Async.Sleep(TimeSpan(0, 0, 1))
+     printfn "B"
+ } |> Async.Start
+ printfn "C"
+
+
val async: AsyncBuilder
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
static member Async.Start: computation: Async<unit> * ?cancellationToken: System.Threading.CancellationToken -> unit
+ + + Prints "C", then "A" quickly, and then "B" 1 second later. + +

+
+
+
+ +

+ + + Async.Sleep(millisecondsDueTime) + + +

+
+
+
+ Full Usage: + Async.Sleep(millisecondsDueTime) +
+
+ Parameters: +
    + + + millisecondsDueTime + + : + int + - + The number of milliseconds to sleep. + +
    +
+
+ + Returns: + Async<unit> + + An asynchronous computation that will sleep for the given time. +
+
+
+
+
+
+ +
+
+

+ + 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. + +

+
+
+ + + + + +
+
+
+
+
+ + millisecondsDueTime + + : + int +
+
+

+ The number of milliseconds to sleep. +

+
+
+
+
+ + Returns: + + Async<unit> +
+
+

+ An asynchronous computation that will sleep for the given time. +

+
+
+ + + + + +
+ + ArgumentOutOfRangeException + + + Thrown when the due time is negative + and not infinite. +
+
+ Example +
+

+

 async {
+     printfn "A"
+     do! Async.Sleep(1000)
+     printfn "B"
+ } |> Async.Start
+
+ printfn "C"
+
+
val async: AsyncBuilder
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
static member Async.Start: computation: Async<unit> * ?cancellationToken: System.Threading.CancellationToken -> unit
+ + + Prints "C" and "A" quickly in any order, and then "B" 1 second later + +

+
+
+
+

+ Cancellation and Exceptions +

+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + Async.CancelDefaultToken() + + +

+
+
+
+ Full Usage: + Async.CancelDefaultToken() +
+
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+ Example +
+

+

 let primes = [ 2; 3; 5; 7; 11 ]
+
+ let computations =
+     [ for i in primes do
+             async {
+                 do! Async.Sleep(i * 1000)
+                 printfn $"{i}"
+             }
+     ]
+
+ try
+     let t =
+         Async.Parallel(computations, 3) |> Async.StartAsTask
+
+     Thread.Sleep(6000)
+     Async.CancelDefaultToken()
+     printfn $"Tasks Finished: %A{t.Result}"
+ with
+ | :? System.AggregateException as ae -> printfn $"Tasks Not Finished: {ae.Message}"
+
+
val primes: int list
+
val computations: Async<unit> list
+
val i: int
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val t: System.Threading.Tasks.Task<unit array>
+
static member Async.Parallel: computations: Async<'T> seq -> Async<'T array>
static member Async.Parallel: computations: Async<'T> seq * ?maxDegreeOfParallelism: int -> Async<'T array>
+
static member Async.StartAsTask: computation: Async<'T> * ?taskCreationOptions: System.Threading.Tasks.TaskCreationOptions * ?cancellationToken: System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
+
static member Async.CancelDefaultToken: unit -> unit
+
property System.Threading.Tasks.Task.Result: unit array with get
+
namespace System
+
Multiple items
type AggregateException = + inherit exn + new: unit -> unit + 6 overloads + member Flatten: unit -> AggregateException + member GetBaseException: unit -> exn + member GetObjectData: info: SerializationInfo * context: StreamingContext -> unit + member Handle: predicate: Func<exn,bool> -> unit + member ToString: unit -> string + member InnerExceptions: ReadOnlyCollection<exn> + member Message: string
<summary>Represents one or more errors that occur during application execution.</summary>

--------------------
System.AggregateException() : System.AggregateException
System.AggregateException(innerExceptions: System.Collections.Generic.IEnumerable<exn>) : System.AggregateException
System.AggregateException([<System.ParamArray>] innerExceptions: exn array) : System.AggregateException
System.AggregateException(message: string) : System.AggregateException
System.AggregateException(message: string, innerExceptions: System.Collections.Generic.IEnumerable<exn>) : System.AggregateException
System.AggregateException(message: string, innerException: exn) : System.AggregateException
System.AggregateException(message: string, [<System.ParamArray>] innerExceptions: exn array) : System.AggregateException
+
val ae: System.AggregateException
+
property System.AggregateException.Message: string with get
<summary>Gets a message that describes the exception.</summary>
<returns>The message that describes the exception.</returns>
+ + + This will print "2" 2 seconds from start, "3" 3 seconds from start, "5" 5 seconds from start, cease computation and + then print "Tasks Not Finished: One or more errors occurred. (A task was canceled.)". + +

+
+
+
+ +

+ + + Async.CancellationToken + + +

+
+
+
+ Full Usage: + Async.CancellationToken +
+
+ + Returns: + Async<CancellationToken> + + An asynchronous computation capable of retrieving the CancellationToken from a computation + expression. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + Returns: + + Async<CancellationToken> +
+
+

+ An asynchronous computation capable of retrieving the CancellationToken from a computation + expression. +

+
+
+
+
+
+ +

+ + + Async.Catch(computation) + + +

+
+
+
+ Full Usage: + Async.Catch(computation) +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The input computation that returns the type T. + +
    +
+
+ + Returns: + Async<Choice<'T, exn>> + + A computation that returns a choice of type T or exception. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + computation + + : + Async<'T> +
+
+

+ The input computation that returns the type T. +

+
+
+
+
+ + Returns: + + Async<Choice<'T, exn>> +
+
+

+ A computation that returns a choice of type T or exception. +

+
+
+
+ Example +
+

+

 let someRiskyBusiness() =
+ match DateTime.Today with
+ | dt when dt.DayOfWeek = DayOfWeek.Monday -> failwith "Not compatible with Mondays"
+ | dt -> dt
+ 
+ async { return someRiskyBusiness() }
+ |> Async.Catch
+ |> Async.RunSynchronously
+ |> function
+     | Choice1Of2 result -> printfn $"Result: {result}"
+     | Choice2Of2 e -> printfn $"Exception: {e}"
+
+
val someRiskyBusiness: unit -> 'a
+
val dt: obj
+
val failwith: message: string -> 'T
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Catch: computation: Async<'T> -> Async<Choice<'T,exn>>
+
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: System.Threading.CancellationToken -> 'T
+
union case Choice.Choice1Of2: 'T1 -> Choice<'T1,'T2>
+
val result: obj
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
union case Choice.Choice2Of2: 'T2 -> Choice<'T1,'T2>
+
val e: exn
+ + + Prints the returned value of someRiskyBusiness() or the exception if there is one. + +

+
+
+
+ +

+ + + Async.DefaultCancellationToken + + +

+
+
+
+ Full Usage: + Async.DefaultCancellationToken +
+
+ + Returns: + CancellationToken + + The default CancellationToken. +
+
+
+
+
+
+ +
+
+

+ Gets the default cancellation token for executing asynchronous computations. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + CancellationToken +
+
+

+ The default CancellationToken. +

+
+
+
+ Example +
+

+

 Async.DefaultCancellationToken.Register(fun () -> printfn "Computation Cancelled") |> ignore
+ let primes = [ 2; 3; 5; 7; 11 ]
+
+ for i in primes do
+     async {
+         do! Async.Sleep(i * 1000)
+         printfn $"{i}"
+     }
+     |> Async.Start
+
+ Thread.Sleep(6000)
+ Async.CancelDefaultToken()
+ printfn "Tasks Finished"
+
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
property Async.DefaultCancellationToken: System.Threading.CancellationToken with get
+
System.Threading.CancellationToken.Register(callback: System.Action) : System.Threading.CancellationTokenRegistration
System.Threading.CancellationToken.Register(callback: System.Action<obj>, state: obj) : System.Threading.CancellationTokenRegistration
System.Threading.CancellationToken.Register(callback: System.Action<obj,System.Threading.CancellationToken>, state: obj) : System.Threading.CancellationTokenRegistration
System.Threading.CancellationToken.Register(callback: System.Action, useSynchronizationContext: bool) : System.Threading.CancellationTokenRegistration
System.Threading.CancellationToken.Register(callback: System.Action<obj>, state: obj, useSynchronizationContext: bool) : System.Threading.CancellationTokenRegistration
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+
val primes: int list
+
val i: int
+
val async: AsyncBuilder
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
static member Async.Start: computation: Async<unit> * ?cancellationToken: System.Threading.CancellationToken -> unit
+
static member Async.CancelDefaultToken: unit -> unit
+ + + This will print "2" 2 seconds from start, "3" 3 seconds from start, "5" 5 seconds from start, cease computation and then + print "Computation Cancelled", followed by "Tasks Finished". + +

+
+
+
+ +

+ + + Async.OnCancel(interruption) + + +

+
+
+
+ Full Usage: + Async.OnCancel(interruption) +
+
+ Parameters: +
    + + + interruption + + : + unit -> unit + - + The function that is executed on the thread performing the + cancellation. + +
    +
+
+ + Returns: + Async<IDisposable> + + An asynchronous computation that triggers the interruption if it is cancelled + before being disposed. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + interruption + + : + unit -> unit +
+
+

+ The function that is executed on the thread performing the + cancellation. +

+
+
+
+
+ + Returns: + + Async<IDisposable> +
+
+

+ An asynchronous computation that triggers the interruption if it is cancelled + before being disposed. +

+
+
+
+ Example +
+

+

 let primes = [ 2; 3; 5; 7; 11 ]
+ for i in primes do
+     async {
+         use! holder = Async.OnCancel(fun () -> printfn $"Computation Cancelled: {i}")
+         do! Async.Sleep(i * 1000)
+         printfn $"{i}"
+     }
+     |> Async.Start
+
+ Thread.Sleep(6000)
+ Async.CancelDefaultToken()
+ printfn "Tasks Finished"
+
+
val primes: int list
+
val i: int
+
val async: AsyncBuilder
+
val holder: System.IDisposable
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.OnCancel: interruption: (unit -> unit) -> Async<System.IDisposable>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
static member Async.Start: computation: Async<unit> * ?cancellationToken: System.Threading.CancellationToken -> unit
+
static member Async.CancelDefaultToken: unit -> unit
+ + + This will print "2" 2 seconds from start, "3" 3 seconds from start, "5" 5 seconds from start, cease computation + and then print "Computation Cancelled: 7", "Computation Cancelled: 11" and "Tasks Finished" in any order. + +

+
+
+
+ +

+ + + Async.StartChild(computation, ?millisecondsTimeout) + + +

+
+
+
+ Full Usage: + Async.StartChild(computation, ?millisecondsTimeout) +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The child computation. + +
    + + + ?millisecondsTimeout + + : + int + - + The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to Timeout.Infinite. + +
    +
+
+ + Returns: + Async<Async<'T>> + + A new computation that waits for the input computation to finish. +
+
+
+
+
+
+ +
+
+

+ 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 
+            ... }
+
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.StartChild: computation: Async<'T> * ?millisecondsTimeout: int -> Async<Async<'T>>
+ + + + 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. +

+
+
+ + computation + + : + Async<'T> +
+
+

+ The child computation. +

+
+
+ + ?millisecondsTimeout + + : + int +
+
+

+ The timeout value in milliseconds. If one is not provided + then the default value of -1 corresponding to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + Async<Async<'T>> +
+
+

+ A new computation that waits for the input computation to finish. +

+
+
+
+ Example +
+

+

 let computeWithTimeout timeout =
+     async {
+         let! completor1 =
+             Async.StartChild(
+                 (async {
+                     do! Async.Sleep(1000)
+                     return 1
+                  }),
+                 millisecondsTimeout = timeout)
+
+         let! completor2 =
+             Async.StartChild(
+                 (async {
+                     do! Async.Sleep(2000)
+                     return 2
+                  }),
+                 millisecondsTimeout = timeout)
+
+         let! v1 = completor1
+         let! v2 = completor2
+         printfn $"Result: {v1 + v2}"
+     } |> Async.RunSynchronously
+
+
val computeWithTimeout: timeout: int -> unit
+
val timeout: int
+
val async: AsyncBuilder
+
val completor1: Async<int>
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.StartChild: computation: Async<'T> * ?millisecondsTimeout: int -> Async<Async<'T>>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
val completor2: Async<int>
+
val v1: int
+
val v2: int
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: System.Threading.CancellationToken -> 'T
+ + + Will throw a System.TimeoutException if called with a timeout less than 2000, otherwise will print "Result: 3". + +

+
+
+
+ +

+ + + Async.TryCancelled(computation, compensation) + + +

+
+
+
+ Full Usage: + Async.TryCancelled(computation, compensation) +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The input asynchronous computation. + +
    + + + compensation + + : + OperationCanceledException -> unit + - + The function to be run if the computation is cancelled. + +
    +
+
+ + Returns: + Async<'T> + + An asynchronous computation that runs the compensation if the input computation + is cancelled. +
+
+
+
+
+
+ +
+
+

+ Creates an asynchronous computation that executes computation. + If this computation is cancelled before it completes then the computation generated by + running compensation is executed. +

+
+
+ + + + + +
+
+
+
+
+ + computation + + : + Async<'T> +
+
+

+ The input asynchronous computation. +

+
+
+ + compensation + + : + OperationCanceledException -> unit +
+
+

+ The function to be run if the computation is cancelled. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation that runs the compensation if the input computation + is cancelled. +

+
+
+
+ Example +
+

+

 let primes = [ 2; 3; 5; 7; 11 ]
+ for i in primes do
+     Async.TryCancelled(
+         async {
+             do! Async.Sleep(i * 1000)
+             printfn $"{i}"
+         },
+         fun oce -> printfn $"Computation Cancelled: {i}")
+     |> Async.Start
+
+ Thread.Sleep(6000)
+ Async.CancelDefaultToken()
+ printfn "Tasks Finished"
+
+
val primes: int list
+
val i: int
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.TryCancelled: computation: Async<'T> * compensation: (System.OperationCanceledException -> unit) -> Async<'T>
+
val async: AsyncBuilder
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val oce: System.OperationCanceledException
+
static member Async.Start: computation: Async<unit> * ?cancellationToken: System.Threading.CancellationToken -> unit
+
static member Async.CancelDefaultToken: unit -> unit
+ + + This will print "2" 2 seconds from start, "3" 3 seconds from start, "5" 5 seconds from start, cease computation + and then print "Computation Cancelled: 7", "Computation Cancelled: 11" and "Tasks Finished" in any order. + +

+
+
+
+

+ Threads and Contexts +

+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + Async.SwitchToContext(syncContext) + + +

+
+
+
+ Full Usage: + Async.SwitchToContext(syncContext) +
+
+ Parameters: +
    + + + syncContext + + : + SynchronizationContext + - + The synchronization context to accept the posted computation. + +
    +
+
+ + Returns: + Async<unit> + + An asynchronous computation that uses the syncContext context to execute. +
+
+
+
+
+
+ +
+
+

+ Creates an asynchronous computation that runs + its continuation using syncContext.Post. If syncContext is null + then the asynchronous computation is equivalent to SwitchToThreadPool(). +

+
+
+ + + + + +
+
+
+
+
+ + syncContext + + : + SynchronizationContext +
+
+

+ The synchronization context to accept the posted computation. +

+
+
+
+
+ + Returns: + + Async<unit> +
+
+

+ An asynchronous computation that uses the syncContext context to execute. +

+
+
+
+
+
+ +

+ + + Async.SwitchToNewThread() + + +

+
+
+
+ Full Usage: + Async.SwitchToNewThread() +
+
+ + Returns: + Async<unit> + + A computation that will execute on a new thread. +
+
+
+
+
+
+ +
+
+

+ Creates an asynchronous computation that creates a new thread and runs + its continuation in that thread. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Async<unit> +
+
+

+ A computation that will execute on a new thread. +

+
+
+
+ Example +
+

+

 async {
+     do! Async.SwitchToNewThread()
+     do! someLongRunningComputation()
+ } |> Async.StartImmediate
+
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.SwitchToNewThread: unit -> Async<unit>
+
static member Async.StartImmediate: computation: Async<unit> * ?cancellationToken: System.Threading.CancellationToken -> unit
+ + + This will run someLongRunningComputation() without blocking the threads in the threadpool. + +

+
+
+
+ +

+ + + Async.SwitchToThreadPool() + + +

+
+
+
+ Full Usage: + Async.SwitchToThreadPool() +
+
+ + Returns: + Async<unit> + + A computation that generates a new work item in the thread pool. +
+
+
+
+
+
+ +
+
+

+ Creates an asynchronous computation that queues a work item that runs + its continuation. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Async<unit> +
+
+

+ A computation that generates a new work item in the thread pool. +

+
+
+
+ Example +
+

+

 async {
+     do! Async.SwitchToNewThread()
+     do! someLongRunningComputation()
+     do! Async.SwitchToThreadPool()
+
+     for i in 1 .. 10 do
+         do! someShortRunningComputation()
+ } |> Async.StartImmediate
+
+
val async: AsyncBuilder
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.SwitchToNewThread: unit -> Async<unit>
+
static member Async.SwitchToThreadPool: unit -> Async<unit>
+
val i: int
+
static member Async.StartImmediate: computation: Async<unit> * ?cancellationToken: System.Threading.CancellationToken -> unit
+ + + This will run someLongRunningComputation() without blocking the threads in the threadpool, and then switch to the + threadpool for shorter computations. + +

+
+
+
+

+ Legacy .NET Async Interoperability +

+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + Async.AsBeginEnd(computation) + + +

+
+
+
+ Full Usage: + Async.AsBeginEnd(computation) +
+
+ Parameters: +
    + + + computation + + : + 'Arg -> Async<'T> + - + A function generating the asynchronous computation to split into the traditional + .NET Asynchronous Programming Model. + +
    +
+
+ + Returns: + ('Arg * AsyncCallback * objnull -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + + A tuple of the begin, end, and cancel members. +
+
+
+
+
+
+ +
+
+

+ Creates three functions that can be used to implement the .NET 1.0 Asynchronous + Programming Model (APM) for a given asynchronous computation. +

+
+
+ + + + + +
+
+
+
+
+ + computation + + : + 'Arg -> Async<'T> +
+
+

+ A function generating the asynchronous computation to split into the traditional + .NET Asynchronous Programming Model. +

+
+
+
+
+ + Returns: + + ('Arg * AsyncCallback * objnull -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) +
+
+

+ A tuple of the begin, end, and cancel members. +

+
+
+
+
+
+ +

+ + + Async.FromBeginEnd(arg1, arg2, arg3, beginAction, endAction, ?cancelAction) + + +

+
+
+
+ Full Usage: + Async.FromBeginEnd(arg1, arg2, arg3, beginAction, endAction, ?cancelAction) +
+
+ Parameters: +
    + + + arg1 + + : + 'Arg1 + - + The first argument for the operation. + +
    + + + arg2 + + : + 'Arg2 + - + The second argument for the operation. + +
    + + + arg3 + + : + 'Arg3 + - + The third argument for the operation. + +
    + + + beginAction + + : + 'Arg1 * 'Arg2 * 'Arg3 * AsyncCallback * objnull -> IAsyncResult + - + The function initiating a traditional CLI asynchronous operation. + +
    + + + endAction + + : + IAsyncResult -> 'T + - + The function completing a traditional CLI asynchronous operation. + +
    + + + ?cancelAction + + : + unit -> unit + - + An optional function to be executed when a cancellation is requested. + +
    +
+
+ + Returns: + Async<'T> + + 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 .NET 2.0 APIs. +

+
+
+ + + + + +
+
+
+

+ 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. +

+
+
+ + arg1 + + : + 'Arg1 +
+
+

+ The first argument for the operation. +

+
+
+ + arg2 + + : + 'Arg2 +
+
+

+ The second argument for the operation. +

+
+
+ + arg3 + + : + 'Arg3 +
+
+

+ The third argument for the operation. +

+
+
+ + beginAction + + : + 'Arg1 * 'Arg2 * 'Arg3 * AsyncCallback * objnull -> IAsyncResult +
+
+

+ The function initiating a traditional CLI asynchronous operation. +

+
+
+ + endAction + + : + IAsyncResult -> 'T +
+
+

+ The function completing a traditional CLI asynchronous operation. +

+
+
+ + ?cancelAction + + : + unit -> unit +
+
+

+ An optional function to be executed when a cancellation is requested. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation wrapping the given Begin/End functions. +

+
+
+
+
+
+ +

+ + + Async.FromBeginEnd(arg1, arg2, beginAction, endAction, ?cancelAction) + + +

+
+
+
+ Full Usage: + Async.FromBeginEnd(arg1, arg2, beginAction, endAction, ?cancelAction) +
+
+ Parameters: +
    + + + arg1 + + : + 'Arg1 + - + The first argument for the operation. + +
    + + + arg2 + + : + 'Arg2 + - + The second argument for the operation. + +
    + + + beginAction + + : + 'Arg1 * 'Arg2 * AsyncCallback * objnull -> IAsyncResult + - + The function initiating a traditional CLI asynchronous operation. + +
    + + + endAction + + : + IAsyncResult -> 'T + - + The function completing a traditional CLI asynchronous operation. + +
    + + + ?cancelAction + + : + unit -> unit + - + An optional function to be executed when a cancellation is requested. + +
    +
+
+ + Returns: + Async<'T> + + 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 .NET 2.0 APIs. +

+
+
+ + + + + +
+
+
+

+ 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. +

+
+
+ + arg1 + + : + 'Arg1 +
+
+

+ The first argument for the operation. +

+
+
+ + arg2 + + : + 'Arg2 +
+
+

+ The second argument for the operation. +

+
+
+ + beginAction + + : + 'Arg1 * 'Arg2 * AsyncCallback * objnull -> IAsyncResult +
+
+

+ The function initiating a traditional CLI asynchronous operation. +

+
+
+ + endAction + + : + IAsyncResult -> 'T +
+
+

+ The function completing a traditional CLI asynchronous operation. +

+
+
+ + ?cancelAction + + : + unit -> unit +
+
+

+ An optional function to be executed when a cancellation is requested. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation wrapping the given Begin/End functions. +

+
+
+
+
+
+ +

+ + + Async.FromBeginEnd(arg, beginAction, endAction, ?cancelAction) + + +

+
+
+
+ Full Usage: + Async.FromBeginEnd(arg, beginAction, endAction, ?cancelAction) +
+
+ Parameters: +
    + + + arg + + : + 'Arg1 + - + The argument for the operation. + +
    + + + beginAction + + : + 'Arg1 * AsyncCallback * objnull -> IAsyncResult + - + The function initiating a traditional CLI asynchronous operation. + +
    + + + endAction + + : + IAsyncResult -> 'T + - + The function completing a traditional CLI asynchronous operation. + +
    + + + ?cancelAction + + : + unit -> unit + - + An optional function to be executed when a cancellation is requested. + +
    +
+
+ + Returns: + Async<'T> + + 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 .NET 2.0 APIs. + +

+
+
+ + + + + +
+
+
+

+ 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. + +

+
+
+ + arg + + : + 'Arg1 +
+
+

+ The argument for the operation. +

+
+
+ + beginAction + + : + 'Arg1 * AsyncCallback * objnull -> IAsyncResult +
+
+

+ The function initiating a traditional CLI asynchronous operation. +

+
+
+ + endAction + + : + IAsyncResult -> 'T +
+
+

+ The function completing a traditional CLI asynchronous operation. +

+
+
+ + ?cancelAction + + : + unit -> unit +
+
+

+ An optional function to be executed when a cancellation is requested. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation wrapping the given Begin/End functions. +

+
+
+
+
+
+ +

+ + + Async.FromBeginEnd(beginAction, endAction, ?cancelAction) + + +

+
+
+
+ Full Usage: + Async.FromBeginEnd(beginAction, endAction, ?cancelAction) +
+
+ Parameters: +
    + + + beginAction + + : + AsyncCallback * objnull -> IAsyncResult + - + The function initiating a traditional CLI asynchronous operation. + +
    + + + endAction + + : + IAsyncResult -> 'T + - + The function completing a traditional CLI asynchronous operation. + +
    + + + ?cancelAction + + : + unit -> unit + - + An optional function to be executed when a cancellation is requested. + +
    +
+
+ + Returns: + Async<'T> + + 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. + +

+
+
+ + + + + +
+
+
+

+ + 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. +

+
+
+ + beginAction + + : + AsyncCallback * objnull -> IAsyncResult +
+
+

+ The function initiating a traditional CLI asynchronous operation. +

+
+
+ + endAction + + : + IAsyncResult -> 'T +
+
+

+ The function completing a traditional CLI asynchronous operation. +

+
+
+ + ?cancelAction + + : + unit -> unit +
+
+

+ An optional function to be executed when a cancellation is requested. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation wrapping the given Begin/End functions. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-fsharpasyncbuilder.html b/reference/fsharp-control-fsharpasyncbuilder.html new file mode 100644 index 000000000..b0aa95a8f --- /dev/null +++ b/reference/fsharp-control-fsharpasyncbuilder.html @@ -0,0 +1,1578 @@ + + + + + + + + + + + + + + + + + + AsyncBuilder (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ AsyncBuilder Type +

+ +
+
+
+

+ The type of the async operator, used to build workflows for asynchronous computations. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Bind + + +

+
+
+
+ Full Usage: + this.Bind +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The computation to provide an unbound result. + +
    + + + binder + + : + 'T -> Async<'U> + - + The function to bind the result of computation. + +
    +
+
+ + Returns: + Async<'U> + + An asynchronous computation that performs a monadic bind on the result + of computation. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + computation + + : + Async<'T> +
+
+

+ The computation to provide an unbound result. +

+
+
+ + binder + + : + 'T -> Async<'U> +
+
+

+ The function to bind the result of computation. +

+
+
+
+
+ + Returns: + + Async<'U> +
+
+

+ An asynchronous computation that performs a monadic bind on the result + of computation. +

+
+
+
+
+
+ +

+ + + this.Combine + + +

+
+
+
+ Full Usage: + this.Combine +
+
+ Parameters: +
    + + + computation1 + + : + Async<unit> + - + The first part of the sequenced computation. + +
    + + + computation2 + + : + Async<'T> + - + The second part of the sequenced computation. + +
    +
+
+ + Returns: + Async<'T> + + An asynchronous computation that runs both of the computations sequentially. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + computation1 + + : + Async<unit> +
+
+

+ The first part of the sequenced computation. +

+
+
+ + computation2 + + : + Async<'T> +
+
+

+ The second part of the sequenced computation. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation that runs both of the computations sequentially. +

+
+
+
+
+
+ +

+ + + this.Delay + + +

+
+
+
+ Full Usage: + this.Delay +
+
+ Parameters: +
    + + + generator + + : + unit -> Async<'T> + - + The function to run. + +
    +
+
+ + Returns: + Async<'T> + + An asynchronous computation that runs generator. +
+
+
+
+
+
+ +
+
+

+ Creates an asynchronous computation that runs generator. +

+
+
+ + + + + +
+
+
+

+ A cancellation check is performed when the computation is executed. +

+
+
+ + generator + + : + unit -> Async<'T> +
+
+

+ The function to run. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation that runs generator. +

+
+
+
+
+
+ +

+ + + this.For + + +

+
+
+
+ Full Usage: + this.For +
+
+ Parameters: +
    + + + sequence + + : + 'T seq + - + The sequence to enumerate. + +
    + + + body + + : + 'T -> Async<unit> + - + A function to take an item from the sequence and create + an asynchronous computation. Can be seen as the body of the for expression. + +
    +
+
+ + Returns: + Async<unit> + + An asynchronous computation that will enumerate the sequence and run body + for each element. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + sequence + + : + 'T seq +
+
+

+ The sequence to enumerate. +

+
+
+ + body + + : + 'T -> Async<unit> +
+
+

+ A function to take an item from the sequence and create + an asynchronous computation. Can be seen as the body of the for expression. +

+
+
+
+
+ + Returns: + + Async<unit> +
+
+

+ An asynchronous computation that will enumerate the sequence and run body + for each element. +

+
+
+
+
+
+ +

+ + + this.Return + + +

+
+
+
+ Full Usage: + this.Return +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to return from the computation. + +
    +
+
+ + Returns: + Async<'T> + + An asynchronous computation that returns value when executed. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + value + + : + 'T +
+
+

+ The value to return from the computation. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation that returns value when executed. +

+
+
+
+
+
+ +

+ + + this.ReturnFrom + + +

+
+
+
+ Full Usage: + this.ReturnFrom +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The input computation. + +
    +
+
+ + Returns: + Async<'T> + + The input computation. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Delegates to the input computation. +

+
+
+ + + + + +
+
+
+

+ The existence of this method permits the use of return! in the + async { ... } computation expression syntax. +

+
+
+ + computation + + : + Async<'T> +
+
+

+ The input computation. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ The input computation. +

+
+
+
+
+
+ +

+ + + this.TryFinally + + +

+
+
+
+ Full Usage: + this.TryFinally +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The input computation. + +
    + + + compensation + + : + unit -> unit + - + The action to be run after computation completes or raises an + exception (including cancellation). + +
    +
+
+ + Returns: + Async<'T> + + An asynchronous computation that executes computation and compensation afterwards or + when an exception is raised. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + computation + + : + Async<'T> +
+
+

+ The input computation. +

+
+
+ + compensation + + : + unit -> unit +
+
+

+ The action to be run after computation completes or raises an + exception (including cancellation). +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation that executes computation and compensation afterwards or + when an exception is raised. +

+
+
+
+
+
+ +

+ + + this.TryWith + + +

+
+
+
+ Full Usage: + this.TryWith +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + - + The input computation. + +
    + + + catchHandler + + : + exn -> Async<'T> + - + The function to run when computation throws an exception. + +
    +
+
+ + Returns: + Async<'T> + + An asynchronous computation that executes computation and calls catchHandler if an + exception is thrown. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + computation + + : + Async<'T> +
+
+

+ The input computation. +

+
+
+ + catchHandler + + : + exn -> Async<'T> +
+
+

+ The function to run when computation throws an exception. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation that executes computation and calls catchHandler if an + exception is thrown. +

+
+
+
+
+
+ +

+ + + this.Using + + +

+
+
+
+ Full Usage: + this.Using +
+
+ Parameters: +
    + + + resource + + : + 'T + - + The resource to be used and disposed. + +
    + + + binder + + : + 'T -> Async<'U> + - + The function that takes the resource and returns an asynchronous + computation. + +
    +
+
+ + Returns: + Async<'U> + + An asynchronous computation that binds and eventually disposes resource. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + resource + + : + 'T +
+
+

+ The resource to be used and disposed. +

+
+
+ + binder + + : + 'T -> Async<'U> +
+
+

+ The function that takes the resource and returns an asynchronous + computation. +

+
+
+
+
+ + Returns: + + Async<'U> +
+
+

+ An asynchronous computation that binds and eventually disposes resource. +

+
+
+
+
+
+ +

+ + + this.While + + +

+
+
+
+ Full Usage: + this.While +
+
+ Parameters: +
    + + + guard + + : + unit -> bool + - + The function to determine when to stop executing computation. + +
    + + + computation + + : + Async<unit> + - + The function to be executed. Equivalent to the body + of a while expression. + +
    +
+
+ + Returns: + Async<unit> + + An asynchronous computation that behaves similarly to a while loop when run. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + guard + + : + unit -> bool +
+
+

+ The function to determine when to stop executing computation. +

+
+
+ + computation + + : + Async<unit> +
+
+

+ The function to be executed. Equivalent to the body + of a while expression. +

+
+
+
+
+ + Returns: + + Async<unit> +
+
+

+ An asynchronous computation that behaves similarly to a while loop when run. +

+
+
+
+
+
+ +

+ + + this.Zero + + +

+
+
+
+ Full Usage: + this.Zero +
+
+ + Returns: + Async<unit> + + An asynchronous computation that returns (). +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + Returns: + + Async<unit> +
+
+

+ An asynchronous computation that returns (). +

+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-fsharpasyncreplychannel-1.html b/reference/fsharp-control-fsharpasyncreplychannel-1.html new file mode 100644 index 000000000..f05c0da0a --- /dev/null +++ b/reference/fsharp-control-fsharpasyncreplychannel-1.html @@ -0,0 +1,377 @@ + + + + + + + + + + + + + + + + + + AsyncReplyChannel<'Reply> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ AsyncReplyChannel<'Reply> Type +

+ +
+
+
+

+ A handle to a capability to reply to a PostAndReply message. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Reply + + +

+
+
+
+ Full Usage: + this.Reply +
+
+ Parameters: +
    + + + value + + : + 'Reply + - + The value to send. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Sends a reply to a PostAndReply message. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'Reply +
+
+

+ The value to send. +

+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-fsharpdelegateevent-1.html b/reference/fsharp-control-fsharpdelegateevent-1.html new file mode 100644 index 000000000..f59d584bb --- /dev/null +++ b/reference/fsharp-control-fsharpdelegateevent-1.html @@ -0,0 +1,523 @@ + + + + + + + + + + + + + + + + + + DelegateEvent<'Delegate> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ DelegateEvent<'Delegate> Type +

+ +
+
+
+

+ Event implementations for an arbitrary type of delegate. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + DelegateEvent() + + +

+
+
+
+ Full Usage: + DelegateEvent() +
+
+ + Returns: + DelegateEvent<'Delegate> + + The event object. +
+
+
+
+
+
+ +
+
+

+ Creates an event object suitable for implementing an arbitrary type of delegate. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + DelegateEvent<'Delegate> +
+
+

+ The event object. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Publish + + +

+
+
+
+ Full Usage: + this.Publish +
+
+ + Returns: + IDelegateEvent<'Delegate> + +
+
+
+
+
+
+ +
+
+

+ Publishes the event as a first class event value. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IDelegateEvent<'Delegate> +
+
+
+
+
+
+ +

+ + + this.Trigger + + +

+
+
+
+ Full Usage: + this.Trigger +
+
+ Parameters: +
    + + + args + + : + objnull array + - + The parameters for the event. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Triggers the event using the given parameters. +

+
+
+ + + + + +
+
+
+
+
+ + args + + : + objnull array +
+
+

+ The parameters for the event. +

+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-fsharpevent-1.html b/reference/fsharp-control-fsharpevent-1.html new file mode 100644 index 000000000..3a0c4a507 --- /dev/null +++ b/reference/fsharp-control-fsharpevent-1.html @@ -0,0 +1,523 @@ + + + + + + + + + + + + + + + + + + Event<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Event<'T> Type +

+ +
+
+
+

+ Event implementations for the IEvent<_> type. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + Event() + + +

+
+
+
+ Full Usage: + Event() +
+
+ + Returns: + Event<'T> + + The created event. +
+
+
+
+
+
+ +
+
+

+ Creates an observable object. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Event<'T> +
+
+

+ The created event. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Publish + + +

+
+
+
+ Full Usage: + this.Publish +
+
+ + Returns: + IEvent<'T> + +
+
+
+
+
+
+ +
+
+

+ Publishes the event as a first class value. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEvent<'T> +
+
+
+
+
+
+ +

+ + + this.Trigger + + +

+
+
+
+ Full Usage: + this.Trigger +
+
+ Parameters: +
    + + + arg + + : + 'T + - + The event parameters. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Triggers the event using the given parameters. +

+
+
+ + + + + +
+
+
+
+
+ + arg + + : + 'T +
+
+

+ The event parameters. +

+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-fsharpevent-2.html b/reference/fsharp-control-fsharpevent-2.html new file mode 100644 index 000000000..8623216d3 --- /dev/null +++ b/reference/fsharp-control-fsharpevent-2.html @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + + Event<'Delegate, 'Args> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Event<'Delegate, 'Args> Type +

+ +
+
+
+

+ Event implementations for a delegate types following the standard .NET Framework convention of a first 'sender' argument. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + Event() + + +

+
+
+
+ Full Usage: + Event() +
+
+ + Returns: + Event<'Delegate, 'Args> + + The created event. +
+
+
+
+
+
+ +
+
+

+ Creates an event object suitable for delegate types following the standard .NET Framework convention of a first 'sender' argument. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Event<'Delegate, 'Args> +
+
+

+ The created event. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Publish + + +

+
+
+
+ Full Usage: + this.Publish +
+
+ + Returns: + IEvent<'Delegate, 'Args> + +
+
+
+
+
+
+ +
+
+

+ Publishes the event as a first class event value. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEvent<'Delegate, 'Args> +
+
+
+
+
+
+ +

+ + + this.Trigger + + +

+
+
+
+ Full Usage: + this.Trigger +
+
+ Parameters: +
    + + + sender + + : + objnull + - + The object triggering the event. + +
    + + + args + + : + 'Args + - + The parameters for the event. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Triggers the event using the given sender object and parameters. The sender object may be null. +

+
+
+ + + + + +
+
+
+
+
+ + sender + + : + objnull +
+
+

+ The object triggering the event. +

+
+
+ + args + + : + 'Args +
+
+

+ The parameters for the event. +

+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-fsharphandler-1.html b/reference/fsharp-control-fsharphandler-1.html new file mode 100644 index 000000000..fbf8039aa --- /dev/null +++ b/reference/fsharp-control-fsharphandler-1.html @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + + + Handler<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Handler<'T> Type +

+ +
+
+
+

+ A delegate type associated with the F# event type IEvent<_> +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: +
    + + + sender + + : + objnull + +
    + + + args + + : + 'T + +
    +
+
+ Modifiers: + abstract +
+
+
+
+
+
+
+ + + +
+
+
+ + sender + + : + objnull +
+
+
+ + args + + : + 'T +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-fsharpmailboxprocessor-1.html b/reference/fsharp-control-fsharpmailboxprocessor-1.html new file mode 100644 index 000000000..9a301f9fa --- /dev/null +++ b/reference/fsharp-control-fsharpmailboxprocessor-1.html @@ -0,0 +1,2506 @@ + + + + + + + + + + + + + + + + + + MailboxProcessor<'Msg> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ MailboxProcessor<'Msg> Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + MailboxProcessor(body, isThrowExceptionAfterDisposed, ?cancellationToken) + + +

+
+
+
+ Full Usage: + MailboxProcessor(body, isThrowExceptionAfterDisposed, ?cancellationToken) +
+
+ Parameters: +
    + + + body + + : + MailboxProcessor<'Msg> -> Async<unit> + - + The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. + +
    + + + isThrowExceptionAfterDisposed + + : + bool + - + A flag denoting that an exception will be thrown + when MailboxProcessor.Post is called + after Control.MailboxProcessor has been disposed. + +
    + + + ?cancellationToken + + : + CancellationToken + - + An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. + +
    +
+
+ + Returns: + MailboxProcessor<'Msg> + + The created MailboxProcessor. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + MailboxProcessor<'Msg> -> Async<unit> +
+
+

+ The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. +

+
+
+ + isThrowExceptionAfterDisposed + + : + bool +
+
+

+ A flag denoting that an exception will be thrown + when MailboxProcessor.Post is called + after Control.MailboxProcessor has been disposed. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. +

+
+
+
+
+ + Returns: + + MailboxProcessor<'Msg> +
+
+

+ The created MailboxProcessor. +

+
+
+
+
+
+ +

+ + + MailboxProcessor(body, ?cancellationToken) + + +

+
+
+
+ Full Usage: + MailboxProcessor(body, ?cancellationToken) +
+
+ Parameters: +
    + + + body + + : + MailboxProcessor<'Msg> -> Async<unit> + - + The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. + +
    + + + ?cancellationToken + + : + CancellationToken + - + An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. + +
    +
+
+ + Returns: + MailboxProcessor<'Msg> + + The created MailboxProcessor. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + MailboxProcessor<'Msg> -> Async<unit> +
+
+

+ The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. +

+
+
+
+
+ + Returns: + + MailboxProcessor<'Msg> +
+
+

+ The created MailboxProcessor. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CurrentQueueLength + + +

+
+
+
+ Full Usage: + this.CurrentQueueLength +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ Returns the number of unprocessed messages in the message queue of the agent. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + this.DefaultTimeout + + +

+
+
+
+ Full Usage: + this.DefaultTimeout +
+
+
+
+
+
+
+
+

+ Raises a timeout exception if a message not received in this amount of time. By default + no timeout is used. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.Dispose + + +

+
+
+
+ Full Usage: + this.Dispose +
+
+
+
+
+
+
+
+

+ Disposes the agent's internal resources. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.Error + + +

+
+
+
+ Full Usage: + this.Error +
+
+ + Returns: + IEvent<Exception> + +
+
+
+
+
+
+ +
+
+

+ Occurs when the execution of the agent results in an exception. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEvent<Exception> +
+
+
+
+
+
+ +

+ + + this.Post + + +

+
+
+
+ Full Usage: + this.Post +
+
+ Parameters: +
    + + + message + + : + 'Msg + - + The message to post. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Posts a message to the message queue of the MailboxProcessor, asynchronously. +

+
+
+ + + + + +
+
+
+
+
+ + message + + : + 'Msg +
+
+

+ The message to post. +

+
+
+
+
+
+ +

+ + + this.PostAndAsyncReply + + +

+
+
+
+ Full Usage: + this.PostAndAsyncReply +
+
+ Parameters: +
    + + + buildMessage + + : + AsyncReplyChannel<'Reply> -> 'Msg + - + The function to incorporate the AsyncReplyChannel into + the message to be sent. + +
    + + + ?timeout + + : + int + - + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to Timeout.Infinite. + +
    +
+
+ + Returns: + Async<'Reply> + + An asynchronous computation that will wait for 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. +

+
+
+ + buildMessage + + : + AsyncReplyChannel<'Reply> -> 'Msg +
+
+

+ The function to incorporate the AsyncReplyChannel into + the message to be sent. +

+
+
+ + ?timeout + + : + int +
+
+

+ An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + Async<'Reply> +
+
+

+ An asynchronous computation that will wait for the reply from the agent. +

+
+
+
+
+
+ +

+ + + this.PostAndReply + + +

+
+
+
+ Full Usage: + this.PostAndReply +
+
+ Parameters: +
    + + + buildMessage + + : + AsyncReplyChannel<'Reply> -> 'Msg + - + The function to incorporate the AsyncReplyChannel into + the message to be sent. + +
    + + + ?timeout + + : + int + - + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to Timeout.Infinite. + +
    +
+
+ + Returns: + 'Reply + + The reply from the agent. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + buildMessage + + : + AsyncReplyChannel<'Reply> -> 'Msg +
+
+

+ The function to incorporate the AsyncReplyChannel into + the message to be sent. +

+
+
+ + ?timeout + + : + int +
+
+

+ An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + 'Reply +
+
+

+ The reply from the agent. +

+
+
+
+
+
+ +

+ + + this.PostAndTryAsyncReply + + +

+
+
+
+ Full Usage: + this.PostAndTryAsyncReply +
+
+ Parameters: +
    + + + buildMessage + + : + AsyncReplyChannel<'Reply> -> 'Msg + - + The function to incorporate the AsyncReplyChannel into + the message to be sent. + +
    + + + ?timeout + + : + int + - + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to Timeout.Infinite. + +
    +
+
+ + Returns: + Async<'Reply option> + + An asynchronous computation that will return the reply or None if the timeout expires. +
+
+
+
+
+
+ +
+
+

+ Like AsyncPostAndReply, but returns None if no reply within the timeout period. +

+
+
+ + + + + +
+
+
+
+
+ + buildMessage + + : + AsyncReplyChannel<'Reply> -> 'Msg +
+
+

+ The function to incorporate the AsyncReplyChannel into + the message to be sent. +

+
+
+ + ?timeout + + : + int +
+
+

+ An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + Async<'Reply option> +
+
+

+ An asynchronous computation that will return the reply or None if the timeout expires. +

+
+
+
+
+
+ +

+ + + this.Receive + + +

+
+
+
+ Full Usage: + this.Receive +
+
+ Parameters: +
    + + + ?timeout + + : + int + - + An optional timeout in milliseconds. Defaults to -1 which corresponds + to Timeout.Infinite. + +
    +
+
+ + Returns: + Async<'Msg> + + An asynchronous computation that returns the received 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. + + 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. +

+
+
+ + ?timeout + + : + int +
+
+

+ An optional timeout in milliseconds. Defaults to -1 which corresponds + to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + Async<'Msg> +
+
+

+ An asynchronous computation that returns the received message. +

+
+
+ + + + + +
+ + TimeoutException + + + Thrown when the timeout is exceeded. +
+
+
+
+ +

+ + + this.Scan + + +

+
+
+
+ Full Usage: + this.Scan +
+
+ Parameters: +
    + + + scanner + + : + 'Msg -> Async<'T> option + - + 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. + +
    + + + ?timeout + + : + int + - + An optional timeout in milliseconds. Defaults to -1 which corresponds + to Timeout.Infinite. + +
    +
+
+ + Returns: + Async<'T> + + An asynchronous computation that scanner built off the read message. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + scanner + + : + 'Msg -> Async<'T> option +
+
+

+ 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. +

+
+
+ + ?timeout + + : + int +
+
+

+ An optional timeout in milliseconds. Defaults to -1 which corresponds + to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + Async<'T> +
+
+

+ An asynchronous computation that scanner built off the read message. +

+
+
+ + + + + +
+ + TimeoutException + + + Thrown when the timeout is exceeded. +
+
+
+
+ +

+ + + this.Start + + +

+
+
+
+ Full Usage: + this.Start +
+
+
+
+
+
+
+
+

+ Starts the agent. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.StartImmediate + + +

+
+
+
+ Full Usage: + this.StartImmediate +
+
+
+
+
+
+
+
+

+ Starts the agent immediately on the current operating system thread. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.TryPostAndReply + + +

+
+
+
+ Full Usage: + this.TryPostAndReply +
+
+ Parameters: +
    + + + buildMessage + + : + AsyncReplyChannel<'Reply> -> 'Msg + - + The function to incorporate the AsyncReplyChannel into + the message to be sent. + +
    + + + ?timeout + + : + int + - + An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to Timeout.Infinite. + +
    +
+
+ + Returns: + 'Reply option + + The reply from the agent or None if the timeout expires. +
+
+
+
+
+
+ +
+
+

+ Like PostAndReply, but returns None if no reply within the timeout period. +

+
+
+ + + + + +
+
+
+
+
+ + buildMessage + + : + AsyncReplyChannel<'Reply> -> 'Msg +
+
+

+ The function to incorporate the AsyncReplyChannel into + the message to be sent. +

+
+
+ + ?timeout + + : + int +
+
+

+ An optional timeout parameter (in milliseconds) to wait for a reply message. + Defaults to -1 which corresponds to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + 'Reply option +
+
+

+ The reply from the agent or None if the timeout expires. +

+
+
+
+
+
+ +

+ + + this.TryReceive + + +

+
+
+
+ Full Usage: + this.TryReceive +
+
+ Parameters: +
    + + + ?timeout + + : + int + - + An optional timeout in milliseconds. Defaults to -1 which + corresponds to Timeout.Infinite. + +
    +
+
+ + Returns: + Async<'Msg option> + + An asynchronous computation that returns the received message or + None if 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. + + 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. +

+
+
+ + ?timeout + + : + int +
+
+

+ An optional timeout in milliseconds. Defaults to -1 which + corresponds to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + Async<'Msg option> +
+
+

+ An asynchronous computation that returns the received message or + None if the timeout is exceeded. +

+
+
+
+
+
+ +

+ + + this.TryScan + + +

+
+
+
+ Full Usage: + this.TryScan +
+
+ Parameters: +
    + + + scanner + + : + 'Msg -> Async<'T> option + - + 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. + +
    + + + ?timeout + + : + int + - + An optional timeout in milliseconds. Defaults to -1 which corresponds + to Timeout.Infinite. + +
    +
+
+ + Returns: + Async<'T option> + + An asynchronous computation that scanner built off the read message. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + scanner + + : + 'Msg -> Async<'T> option +
+
+

+ 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. +

+
+
+ + ?timeout + + : + int +
+
+

+ An optional timeout in milliseconds. Defaults to -1 which corresponds + to Timeout.Infinite. +

+
+
+
+
+ + Returns: + + Async<'T option> +
+
+

+ An asynchronous computation that scanner built off the read message. +

+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + MailboxProcessor.Start(body, isThrowExceptionAfterDisposed, ?cancellationToken) + + +

+
+
+
+ Full Usage: + MailboxProcessor.Start(body, isThrowExceptionAfterDisposed, ?cancellationToken) +
+
+ Parameters: +
    + + + body + + : + MailboxProcessor<'Msg> -> Async<unit> + - + The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. + +
    + + + isThrowExceptionAfterDisposed + + : + bool + - + A flag denoting that an exception will be thrown + when MailboxProcessor.Post is called + after Control.MailboxProcessor has been disposed. + +
    + + + ?cancellationToken + + : + CancellationToken + - + An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. + +
    +
+
+ + Returns: + MailboxProcessor<'Msg> + + The created MailboxProcessor. +
+
+
+
+
+
+ +
+
+

+ Creates and starts an agent. The body function is used to generate the asynchronous + computation executed by the agent. +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + MailboxProcessor<'Msg> -> Async<unit> +
+
+

+ The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. +

+
+
+ + isThrowExceptionAfterDisposed + + : + bool +
+
+

+ A flag denoting that an exception will be thrown + when MailboxProcessor.Post is called + after Control.MailboxProcessor has been disposed. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. +

+
+
+
+
+ + Returns: + + MailboxProcessor<'Msg> +
+
+

+ The created MailboxProcessor. +

+
+
+
+
+
+ +

+ + + MailboxProcessor.Start(body, ?cancellationToken) + + +

+
+
+
+ Full Usage: + MailboxProcessor.Start(body, ?cancellationToken) +
+
+ Parameters: +
    + + + body + + : + MailboxProcessor<'Msg> -> Async<unit> + - + The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. + +
    + + + ?cancellationToken + + : + CancellationToken + - + An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. + +
    +
+
+ + Returns: + MailboxProcessor<'Msg> + + The created MailboxProcessor. +
+
+
+
+
+
+ +
+
+

+ Creates and starts an agent. The body function is used to generate the asynchronous + computation executed by the agent. +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + MailboxProcessor<'Msg> -> Async<unit> +
+
+

+ The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when Start is called. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. +

+
+
+
+
+ + Returns: + + MailboxProcessor<'Msg> +
+
+

+ The created MailboxProcessor. +

+
+
+
+
+
+ +

+ + + MailboxProcessor.StartImmediate(body, isThrowExceptionAfterDisposed, ?cancellationToken) + + +

+
+
+
+ Full Usage: + MailboxProcessor.StartImmediate(body, isThrowExceptionAfterDisposed, ?cancellationToken) +
+
+ Parameters: +
    + + + body + + : + MailboxProcessor<'Msg> -> Async<unit> + - + The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when StartImmediately is called. + +
    + + + isThrowExceptionAfterDisposed + + : + bool + - + A flag denotes will be thrown exception + when MailboxProcessor.Post is called + after Control.MailboxProcessor disposed. + +
    + + + ?cancellationToken + + : + CancellationToken + - + An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. + +
    +
+
+ + Returns: + MailboxProcessor<'Msg> + + The created MailboxProcessor. +
+
+
+
+
+
+ +
+
+

+ Creates and starts an agent immediately on the current operating system thread. The body + function is used to generate the asynchronous computation executed by the agent. +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + MailboxProcessor<'Msg> -> Async<unit> +
+
+

+ The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when StartImmediately is called. +

+
+
+ + isThrowExceptionAfterDisposed + + : + bool +
+
+

+ A flag denotes will be thrown exception + when MailboxProcessor.Post is called + after Control.MailboxProcessor disposed. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. +

+
+
+
+
+ + Returns: + + MailboxProcessor<'Msg> +
+
+

+ The created MailboxProcessor. +

+
+
+
+
+
+ +

+ + + MailboxProcessor.StartImmediate(body, ?cancellationToken) + + +

+
+
+
+ Full Usage: + MailboxProcessor.StartImmediate(body, ?cancellationToken) +
+
+ Parameters: +
    + + + body + + : + MailboxProcessor<'Msg> -> Async<unit> + - + The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when StartImmediately is called. + +
    + + + ?cancellationToken + + : + CancellationToken + - + An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. + +
    +
+
+ + Returns: + MailboxProcessor<'Msg> + + The created MailboxProcessor. +
+
+
+
+
+
+ +
+
+

+ Creates and starts an agent immediately on the current operating system thread. The body + function is used to generate the asynchronous computation executed by the agent. +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + MailboxProcessor<'Msg> -> Async<unit> +
+
+

+ The function to produce an asynchronous computation that will be executed + as the read loop for the MailboxProcessor when StartImmediately is called. +

+
+
+ + ?cancellationToken + + : + CancellationToken +
+
+

+ An optional cancellation token for the body. + Defaults to Async.DefaultCancellationToken. +

+
+
+
+
+ + Returns: + + MailboxProcessor<'Msg> +
+
+

+ The created MailboxProcessor. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-idelegateevent-1.html b/reference/fsharp-control-idelegateevent-1.html new file mode 100644 index 000000000..8e81947ff --- /dev/null +++ b/reference/fsharp-control-idelegateevent-1.html @@ -0,0 +1,469 @@ + + + + + + + + + + + + + + + + + + IDelegateEvent<'Delegate> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ IDelegateEvent<'Delegate> Type +

+ +
+
+
+

+ 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 appropriate + CLI metadata to make the member appear to other CLI languages as a CLI event. +

+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.AddHandler + + +

+
+
+
+ Full Usage: + this.AddHandler +
+
+ Parameters: +
    + + + handler + + : + 'Delegate + - + A delegate to be invoked when the event is fired. + +
    +
+
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + handler + + : + 'Delegate +
+
+

+ A delegate to be invoked when the event is fired. +

+
+
+
+
+
+ +

+ + + this.RemoveHandler + + +

+
+
+
+ Full Usage: + this.RemoveHandler +
+
+ Parameters: +
    + + + handler + + : + 'Delegate + - + The delegate to be removed from the event listener store. + +
    +
+
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Remove a listener delegate from an event listener store. +

+
+
+ + + + + +
+
+
+
+
+ + handler + + : + 'Delegate +
+
+

+ The delegate to be removed from the event listener store. +

+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-ievent-1.html b/reference/fsharp-control-ievent-1.html new file mode 100644 index 000000000..0947fae2a --- /dev/null +++ b/reference/fsharp-control-ievent-1.html @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + IEvent<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ IEvent<'T> Type +

+ +
+
+
+

+ First-class listening points (i.e. objects that permit you to register a callback + activated when the event is triggered). +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-ievent-2.html b/reference/fsharp-control-ievent-2.html new file mode 100644 index 000000000..1e35a0e08 --- /dev/null +++ b/reference/fsharp-control-ievent-2.html @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + IEvent<'Delegate, 'Args> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ IEvent<'Delegate, 'Args> Type +

+ +
+
+
+

+ First class event values for CLI events conforming to CLI Framework standards. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-lazyextensions.html b/reference/fsharp-control-lazyextensions.html new file mode 100644 index 000000000..e6a68a319 --- /dev/null +++ b/reference/fsharp-control-lazyextensions.html @@ -0,0 +1,587 @@ + + + + + + + + + + + + + + + + + + LazyExtensions (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ LazyExtensions Module +

+ +
+
+
+

+ Extensions related to Lazy values. +

+
+
+
+
+
+

+ Type extensions +

+ + + + + + + + + + + + + + + + + + + + + +
+ Type extension + + Description + +
+
+ +

+ + + Lazy.Create(creator) + + +

+
+
+
+ Full Usage: + Lazy.Create(creator) +
+
+ Parameters: +
    + + + creator + + : + unit -> 'T + - + The function to provide the value when needed. + +
    +
+
+ + Returns: + Lazy<'T> + + The created Lazy object. +
+
+
+
+
+
+ +
+
+

+ Creates a lazy computation that evaluates to the result of the given function when forced. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + Lazy +

+
+
+ + creator + + : + unit -> 'T +
+
+

+ The function to provide the value when needed. +

+
+
+
+
+ + Returns: + + Lazy<'T> +
+
+

+ The created Lazy object. +

+
+
+
+
+
+ +

+ + + Lazy.CreateFromValue(value) + + +

+
+
+
+ Full Usage: + Lazy.CreateFromValue(value) +
+
+ Parameters: +
    + + + value + + : + 'T + - + The input value. + +
    +
+
+ + Returns: + Lazy<'T> + + The created Lazy object. +
+
+
+
+
+
+ +
+
+

+ Creates a lazy computation that evaluates to the given value when forced. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + Lazy +

+
+
+ + value + + : + 'T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Lazy<'T> +
+
+

+ The created Lazy object. +

+
+
+
+
+
+ +

+ + + this.Force + + +

+
+
+
+ Full Usage: + this.Force +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + 'T + + The value of the Lazy object. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + Lazy +

+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value of the Lazy object. +

+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-observablemodule.html b/reference/fsharp-control-observablemodule.html new file mode 100644 index 000000000..c2547a557 --- /dev/null +++ b/reference/fsharp-control-observablemodule.html @@ -0,0 +1,1894 @@ + + + + + + + + + + + + + + + + + + Observable (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Observable Module +

+ +
+
+
+

+ Contains operations for working with first class event and other observable objects. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Observable.add callback source + + +

+
+
+
+ Full Usage: + Observable.add callback source +
+
+ Parameters: +
    + + + callback + + : + 'T -> unit + - + The function to be called on each observation. + +
    + + + source + + : + IObservable<'T> + - + The input Observable. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Creates an observer which permanently subscribes to the given observable and which calls + the given function for each observation. +

+
+
+ + + + + +
+
+
+
+
+ + callback + + : + 'T -> unit +
+
+

+ The function to be called on each observation. +

+
+
+ + source + + : + IObservable<'T> +
+
+

+ The input Observable. +

+
+
+
+ Example +
+

+

 open System.Reactive.Linq
+ let numbers = seq { 1..5 }
+ let observableNumbers = Observable.ToObservable numbers
+ let multiplyByTwo = fun number -> printf $"{number * 2} "
+ Observable.add multiplyByTwo observableNumbers
+
+
namespace System
+
val numbers: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val observableNumbers: System.IObservable<int>
+
module Observable + +from Microsoft.FSharp.Control
+
val multiplyByTwo: number: int -> unit
+
val number: int
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+
val add: callback: ('T -> unit) -> source: System.IObservable<'T> -> unit
+ + + The sample evaluates to: 2 4 6 8 10 +

+
+
+
+ +

+ + + Observable.choose chooser source + + +

+
+
+
+ Full Usage: + Observable.choose chooser source +
+
+ Parameters: +
    + + + chooser + + : + 'T -> 'U option + - + The function that returns Some for observations to be propagated + and None for observations to ignore. + +
    + + + source + + : + IObservable<'T> + - + The input Observable. + +
    +
+
+ + Returns: + IObservable<'U> + + An Observable that only propagates some of the observations from the source. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + chooser + + : + 'T -> 'U option +
+
+

+ The function that returns Some for observations to be propagated + and None for observations to ignore. +

+
+
+ + source + + : + IObservable<'T> +
+
+

+ The input Observable. +

+
+
+
+
+ + Returns: + + IObservable<'U> +
+
+

+ An Observable that only propagates some of the observations from the source. +

+
+
+
+ Example +
+

+

 open System.Reactive.Linq
+ let numbers = seq { 1..5 }
+ let observableNumbers = Observable.ToObservable numbers
+
+ let getOddNumbers number =
+     match number with
+     | _ when number % 2 = 0 -> None
+     | _ -> Some number
+
+ let map = Observable.choose getOddNumbers observableNumbers
+
+ map.Subscribe(fun x -> printf $"{x} ") |> ignore
+
+
namespace System
+
val numbers: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val observableNumbers: System.IObservable<int>
+
module Observable + +from Microsoft.FSharp.Control
+
val getOddNumbers: number: int -> int option
+
val number: int
+
union case Option.None: Option<'T>
+
union case Option.Some: Value: 'T -> Option<'T>
+
val map: System.IObservable<int>
+
val choose: chooser: ('T -> 'U option) -> source: System.IObservable<'T> -> System.IObservable<'U>
+
member System.IObservable.Subscribe: callback: ('T -> unit) -> System.IDisposable
System.IObservable.Subscribe(observer: System.IObserver<int>) : System.IDisposable
+
val x: int
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+ + + The sample will output: 1 3 5 +

+
+
+
+ +

+ + + Observable.filter predicate source + + +

+
+
+
+ Full Usage: + Observable.filter predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to apply to observations to determine if it should + be kept. + +
    + + + source + + : + IObservable<'T> + - + The input Observable. + +
    +
+
+ + Returns: + IObservable<'T> + + An Observable that filters observations based on filter. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to apply to observations to determine if it should + be kept. +

+
+
+ + source + + : + IObservable<'T> +
+
+

+ The input Observable. +

+
+
+
+
+ + Returns: + + IObservable<'T> +
+
+

+ An Observable that filters observations based on filter. +

+
+
+
+ Example +
+

+

 open System.Reactive.Linq
+ let numbers = seq { 1..5 }
+ let observableNumbers = Observable.ToObservable numbers
+
+ let getEvenNumbers = fun number -> number % 2 = 0
+ let map = Observable.filter multiplyByTwo observableNumbers
+
+ map.Subscribe(fun x -> printf $"{x} ") |> ignore
+
+
namespace System
+
val numbers: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val observableNumbers: System.IObservable<obj>
+
module Observable + +from Microsoft.FSharp.Control
+
val getEvenNumbers: number: int -> bool
+
val number: int
+
val map: System.IObservable<obj>
+
val filter: predicate: ('T -> bool) -> source: System.IObservable<'T> -> System.IObservable<'T>
+
member System.IObservable.Subscribe: callback: ('T -> unit) -> System.IDisposable
System.IObservable.Subscribe(observer: System.IObserver<obj>) : System.IDisposable
+
val x: obj
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+ + + The sample will output: 2 4 +

+
+
+
+ +

+ + + Observable.map mapping source + + +

+
+
+
+ Full Usage: + Observable.map mapping source +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + The function applied to observations from the source. + +
    + + + source + + : + IObservable<'T> + - + The input Observable. + +
    +
+
+ + Returns: + IObservable<'U> + + An Observable of the type specified by mapping. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ The function applied to observations from the source. +

+
+
+ + source + + : + IObservable<'T> +
+
+

+ The input Observable. +

+
+
+
+
+ + Returns: + + IObservable<'U> +
+
+

+ An Observable of the type specified by mapping. +

+
+
+
+ Example +
+

+

 open System.Reactive.Linq
+ let numbers = seq { 1..5 }
+ let observableNumbers = Observable.ToObservable numbers
+
+ let multiplyByTwo = fun number -> number * 2
+ let map = Observable.map multiplyByTwo observableNumbers
+
+ map.Subscribe(fun x -> printf $"{x} ") |> ignore
+
+
namespace System
+
val numbers: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val observableNumbers: System.IObservable<int>
+
module Observable + +from Microsoft.FSharp.Control
+
val multiplyByTwo: number: int -> int
+
val number: int
+
val map: System.IObservable<int>
+
val map: mapping: ('T -> 'U) -> source: System.IObservable<'T> -> System.IObservable<'U>
+
member System.IObservable.Subscribe: callback: ('T -> unit) -> System.IDisposable
System.IObservable.Subscribe(observer: System.IObserver<int>) : System.IDisposable
+
val x: int
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+ + + The sample will output: 2 4 6 8 10 +

+
+
+
+ +

+ + + Observable.merge source1 source2 + + +

+
+
+
+ Full Usage: + Observable.merge source1 source2 +
+
+ Parameters: +
    + + + source1 + + : + IObservable<'T> + - + The first Observable. + +
    + + + source2 + + : + IObservable<'T> + - + The second Observable. + +
    +
+
+ + Returns: + IObservable<'T> + + An Observable that propagates information from both sources. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + source1 + + : + IObservable<'T> +
+
+

+ The first Observable. +

+
+
+ + source2 + + : + IObservable<'T> +
+
+

+ The second Observable. +

+
+
+
+
+ + Returns: + + IObservable<'T> +
+
+

+ An Observable that propagates information from both sources. +

+
+
+
+ Example +
+

+

 open System.Reactive.Linq
+ open System
+
+ let createTimer interval =
+     let timer = new Timers.Timer(interval)
+     timer.AutoReset <- true
+     timer.Enabled <- true
+     Observable.Create(fun observer -> timer.Elapsed.Subscribe(observer))
+
+ let observableFirstTimer = createTimer 1000
+ let observableSecondTimer = createTimer 3000
+
+ let result = Observable.merge observableFirstTimer observableSecondTimer
+
+ result.Subscribe(fun output -> printfn $"Output - {output.SignalTime} ")
+ |> ignore
+
+ Console.ReadLine() |> ignore
+
+
namespace System
+
val createTimer: interval: 'a -> 'b
+
val interval: 'a
+
val timer: Timers.Timer
+
namespace System.Timers
+
Multiple items
type Timer = + inherit Component + interface ISupportInitialize + new: unit -> unit + 2 overloads + member BeginInit: unit -> unit + member Close: unit -> unit + member EndInit: unit -> unit + member Start: unit -> unit + member Stop: unit -> unit + member AutoReset: bool + member Enabled: bool + ...
<summary>Generates an event after a set interval, with an option to generate recurring events.</summary>

--------------------
Timers.Timer() : Timers.Timer
Timers.Timer(interval: float) : Timers.Timer
Timers.Timer(interval: TimeSpan) : Timers.Timer
+
property Timers.Timer.AutoReset: bool with get, set
<summary>Gets or sets a Boolean indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once (<see langword="false" />) or repeatedly (<see langword="true" />).</summary>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event each time the interval elapses; <see langword="false" /> if it should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event only once, after the first time the interval elapses. The default is <see langword="true" />.</returns>
+
property Timers.Timer.Enabled: bool with get, set
<summary>Gets or sets a value indicating whether the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event.</summary>
<exception cref="T:System.ObjectDisposedException">This property cannot be set because the timer has been disposed.</exception>
<exception cref="T:System.ArgumentException">The <see cref="P:System.Timers.Timer.Interval" /> property was set to a value greater than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> before the timer was enabled.</exception>
<returns><see langword="true" /> if the <see cref="T:System.Timers.Timer" /> should raise the <see cref="E:System.Timers.Timer.Elapsed" /> event; otherwise, <see langword="false" />. The default is <see langword="false" />.</returns>
+
module Observable + +from Microsoft.FSharp.Control
+
event Timers.Timer.Elapsed: IEvent<Timers.ElapsedEventHandler,Timers.ElapsedEventArgs>
+
member IObservable.Subscribe: callback: ('T -> unit) -> IDisposable
IObservable.Subscribe(observer: IObserver<Timers.ElapsedEventArgs>) : IDisposable
+
val observableFirstTimer: IObservable<obj>
+
val observableSecondTimer: IObservable<obj>
+
val result: IObservable<obj>
+
val merge: source1: IObservable<'T> -> source2: IObservable<'T> -> IObservable<'T>
+
member IObservable.Subscribe: callback: ('T -> unit) -> IDisposable
IObservable.Subscribe(observer: IObserver<obj>) : IDisposable
+
val output: obj
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.ReadLine() : string
+ + + The sample will merge all events at a given interval and output it to the stream: + Output - 2/5/2022 3:49:37 AM + Output - 2/5/2022 3:49:38 AM + Output - 2/5/2022 3:49:39 AM + Output - 2/5/2022 3:49:39 AM + Output - 2/5/2022 3:49:40 AM + Output - 2/5/2022 3:49:41 AM + Output - 2/5/2022 3:49:42 AM + Output - 2/5/2022 3:49:42 AM +

+
+
+
+ +

+ + + Observable.pairwise source + + +

+
+
+
+ Full Usage: + Observable.pairwise source +
+
+ Parameters: +
    + + + source + + : + IObservable<'T> + - + The input Observable. + +
    +
+
+ + Returns: + IObservable<'T * 'T> + + An Observable that triggers on successive pairs of observations from the input Observable. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + source + + : + IObservable<'T> +
+
+

+ The input Observable. +

+
+
+
+
+ + Returns: + + IObservable<'T * 'T> +
+
+

+ An Observable that triggers on successive pairs of observations from the input Observable. +

+
+
+
+ Example +
+

+

 /// open System.Reactive.Linq
+ let numbers = seq { 1..5 }
+ let observableNumbers = Observable.ToObservable numbers
+
+ let pairWise = Observable.pairwise observableNumbers
+
+ pairWise.Subscribe(fun pair -> printf $"{pair} ")
+ |> ignore
+
+
val numbers: int seq
 open System.Reactive.Linq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val observableNumbers: System.IObservable<obj>
+
module Observable + +from Microsoft.FSharp.Control
+
val pairWise: System.IObservable<obj * obj>
+
val pairwise: source: System.IObservable<'T> -> System.IObservable<'T * 'T>
+
member System.IObservable.Subscribe: callback: ('T -> unit) -> System.IDisposable
System.IObservable.Subscribe(observer: System.IObserver<obj * obj>) : System.IDisposable
+
val pair: obj * obj
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+ + + The sample evaluates to: (1, 2), (2, 3), (3, 4), (4, 5) +

+
+
+
+ +

+ + + Observable.partition predicate source + + +

+
+
+
+ Full Usage: + Observable.partition predicate source +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + The function to determine which output Observable will trigger + a particular observation. + +
    + + + source + + : + IObservable<'T> + - + The input Observable. + +
    +
+
+ + Returns: + IObservable<'T> * IObservable<'T> + + A tuple of Observables. The first triggers when the predicate returns true, and + the second triggers when the predicate returns false. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ The function to determine which output Observable will trigger + a particular observation. +

+
+
+ + source + + : + IObservable<'T> +
+
+

+ The input Observable. +

+
+
+
+
+ + Returns: + + IObservable<'T> * IObservable<'T> +
+
+

+ A tuple of Observables. The first triggers when the predicate returns true, and + the second triggers when the predicate returns false. +

+
+
+
+ Example +
+

+

 open System.Reactive.Linq
+ let numbers = seq { 1..5 }
+ let observableNumbers = Observable.ToObservable numbers
+
+ let isEvenNumber = fun number -> number % 2 = 0
+
+ let leftPartition, rightPartition =
+     Observable.partition isEvenNumber observableNumbers
+
+ leftPartition.Subscribe(fun x -> printfn $"Left partition: {x}") |> ignore
+
+ rightPartition.Subscribe(fun x -> printfn $"Right partition: {x}") |> ignore
+
+
namespace System
+
val numbers: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val observableNumbers: System.IObservable<int>
+
module Observable + +from Microsoft.FSharp.Control
+
val isEvenNumber: number: int -> bool
+
val number: int
+
val leftPartition: System.IObservable<int>
+
val rightPartition: System.IObservable<int>
+
val partition: predicate: ('T -> bool) -> source: System.IObservable<'T> -> System.IObservable<'T> * System.IObservable<'T>
+
member System.IObservable.Subscribe: callback: ('T -> unit) -> System.IDisposable
System.IObservable.Subscribe(observer: System.IObserver<int>) : System.IDisposable
+
val x: int
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+ + + The sample evaluates to: Left partition: 2, 4, Right partition: 1, 3, 5 +

+
+
+
+ +

+ + + Observable.scan collector state source + + +

+
+
+
+ Full Usage: + Observable.scan collector state source +
+
+ Parameters: +
    + + + collector + + : + 'U -> 'T -> 'U + - + The function to update the state with each observation. + +
    + + + state + + : + 'U + - + The initial state. + +
    + + + source + + : + IObservable<'T> + - + The input Observable. + +
    +
+
+ + Returns: + IObservable<'U> + + An Observable that triggers on the updated state values. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + collector + + : + 'U -> 'T -> 'U +
+
+

+ The function to update the state with each observation. +

+
+
+ + state + + : + 'U +
+
+

+ The initial state. +

+
+
+ + source + + : + IObservable<'T> +
+
+

+ The input Observable. +

+
+
+
+
+ + Returns: + + IObservable<'U> +
+
+

+ An Observable that triggers on the updated state values. +

+
+
+
+ Example +
+

+

 open System.Reactive.Linq
+ let numbers = seq { 1..5 }
+ let observableNumbers = Observable.ToObservable numbers
+
+ let multiplyBy number = fun y -> number * y
+ let initialState = 2
+ let scan = Observable.scan multiplyBy initialState observableNumbers
+
+ scan.Subscribe(fun x -> printf "%A " x) |> ignore
+
+
namespace System
+
val numbers: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val observableNumbers: System.IObservable<int>
+
module Observable + +from Microsoft.FSharp.Control
+
val multiplyBy: number: int -> y: int -> int
+
val number: int
+
val y: int
+
val initialState: int
+
val scan: System.IObservable<int>
+
val scan: collector: ('U -> 'T -> 'U) -> state: 'U -> source: System.IObservable<'T> -> System.IObservable<'U>
+
member System.IObservable.Subscribe: callback: ('T -> unit) -> System.IDisposable
System.IObservable.Subscribe(observer: System.IObserver<int>) : System.IDisposable
+
val x: int
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+ + + The sample evaluates to: 2 4 12 48 240 +

+
+
+
+ +

+ + + Observable.split splitter source + + +

+
+
+
+ Full Usage: + Observable.split splitter source +
+
+ Parameters: +
    + + + splitter + + : + 'T -> Choice<'U1, 'U2> + - + The function that takes an observation an transforms + it into one of the two output Choice types. + +
    + + + source + + : + IObservable<'T> + - + The input Observable. + +
    +
+
+ + Returns: + IObservable<'U1> * IObservable<'U2> + + A tuple of Observables. The first triggers when splitter returns Choice1of2 + and the second triggers when splitter returns Choice2of2. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + splitter + + : + 'T -> Choice<'U1, 'U2> +
+
+

+ The function that takes an observation an transforms + it into one of the two output Choice types. +

+
+
+ + source + + : + IObservable<'T> +
+
+

+ The input Observable. +

+
+
+
+
+ + Returns: + + IObservable<'U1> * IObservable<'U2> +
+
+

+ A tuple of Observables. The first triggers when splitter returns Choice1of2 + and the second triggers when splitter returns Choice2of2. +

+
+
+
+ Example +
+

+

 open System.Reactive.Linq
+ let numbers = seq { 1..5 }
+ let observableNumbers = Observable.ToObservable numbers
+
+ let getEvenNumbers number =
+     match number % 2 = 0 with
+     | true -> Choice1Of2 number
+     | false -> Choice2Of2 $"{number} is not an even number"
+
+ let evenSplit, printOddNumbers = Observable.split getEvenNumbers observableNumbers
+
+ let printOutput observable functionName =
+     use subscription =
+         Observable.subscribe
+             (fun output -> printfn $"{functionName} - Split output: {output}. Type: {output.GetType()}")
+             observable
+
+     subscription
+
+ printOutput evenSplit (nameof evenSplit) |> ignore
+ printOutput printOddNumbers (nameof printOddNumbers) |> ignore
+
+
namespace System
+
val numbers: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val observableNumbers: System.IObservable<int>
+
module Observable + +from Microsoft.FSharp.Control
+
val getEvenNumbers: number: int -> Choice<int,string>
+
val number: int
+
union case Choice.Choice1Of2: 'T1 -> Choice<'T1,'T2>
+
union case Choice.Choice2Of2: 'T2 -> Choice<'T1,'T2>
+
val evenSplit: System.IObservable<int>
+
val printOddNumbers: System.IObservable<string>
+
val split: splitter: ('T -> Choice<'U1,'U2>) -> source: System.IObservable<'T> -> System.IObservable<'U1> * System.IObservable<'U2>
+
val printOutput: observable: System.IObservable<'a> -> functionName: 'b -> System.IDisposable
+
val observable: System.IObservable<'a>
+
val functionName: 'b
+
val subscription: System.IDisposable
+
val subscribe: callback: ('T -> unit) -> source: System.IObservable<'T> -> System.IDisposable
+
val output: 'a
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val nameof: 'T -> string
+
val ignore: value: 'T -> unit
+ + + The sample evaluates to: evenSplit - Split output: 2. Type: System.Int32 + evenSplit - Split output: 4. Type: System.Int32 + printOddNumbers - Split output: 1 is not an even number. Type: System.String + printOddNumbers - Split output: 3 is not an even number. Type: System.String + printOddNumbers - Split output: 5 is not an even number. Type: System.String +

+
+
+
+ +

+ + + Observable.subscribe callback source + + +

+
+
+
+ Full Usage: + Observable.subscribe callback source +
+
+ Parameters: +
    + + + callback + + : + 'T -> unit + - + The function to be called on each observation. + +
    + + + source + + : + IObservable<'T> + - + The input Observable. + +
    +
+
+ + Returns: + IDisposable + + An object that will remove the callback if disposed. +
+
+
+
+
+
+ +
+
+

+ Creates an observer which subscribes to the given observable and which calls + the given function for each observation. +

+
+
+ + + + + +
+
+
+
+
+ + callback + + : + 'T -> unit +
+
+

+ The function to be called on each observation. +

+
+
+ + source + + : + IObservable<'T> +
+
+

+ The input Observable. +

+
+
+
+
+ + Returns: + + IDisposable +
+
+

+ An object that will remove the callback if disposed. +

+
+
+
+ Example +
+

+

 open System.Reactive.Linq
+ let numbers = seq { 1..3 }
+ let observableNumbers = Observable.ToObservable numbers
+ let printOutput observable =
+     use subscription = Observable.subscribe (fun x -> printfn "%A" x) observable
+     subscription
+ printOutput observableNumbers |> ignore
+
+
namespace System
+
val numbers: int seq
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val observableNumbers: System.IObservable<obj>
+
module Observable + +from Microsoft.FSharp.Control
+
val printOutput: observable: System.IObservable<'a> -> System.IDisposable
+
val observable: System.IObservable<'a>
+
val subscription: System.IDisposable
+
val subscribe: callback: ('T -> unit) -> source: System.IObservable<'T> -> System.IDisposable
+
val x: 'a
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val ignore: value: 'T -> unit
+ + + The sample evaluates to: 1, 2, 3 +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskbuilder.html b/reference/fsharp-control-taskbuilder.html new file mode 100644 index 000000000..5f03652ab --- /dev/null +++ b/reference/fsharp-control-taskbuilder.html @@ -0,0 +1,492 @@ + + + + + + + + + + + + + + + + + + TaskBuilder (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TaskBuilder Type +

+ +
+
+
+

+ Contains methods to build tasks using the F# computation expression syntax +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Run + + +

+
+
+
+ Full Usage: + this.Run +
+
+ Parameters: +
    + + + code + + : + TaskCode<'T, 'T> + +
    +
+
+ + Returns: + Task<'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Hosts the task code in a state machine and starts the task. +

+
+
+ + + + + +
+
+
+
+
+ + code + + : + TaskCode<'T, 'T> +
+
+
+
+
+ + Returns: + + Task<'T> +
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + TaskBuilder.RunDynamic(code) + + +

+
+
+
+ Full Usage: + TaskBuilder.RunDynamic(code) +
+
+ Parameters: +
    + + + code + + : + TaskCode<'T, 'T> + +
    +
+
+ + Returns: + Task<'T> + +
+
+
+
+
+
+ +
+
+

+ The entry point for the dynamic implementation of the corresponding operation. Do not use directly, only used when executing quotations that involve tasks or other reflective execution of F# code. +

+
+
+ + + + + +
+
+
+
+
+ + code + + : + TaskCode<'T, 'T> +
+
+
+
+
+ + Returns: + + Task<'T> +
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskbuilderbase.html b/reference/fsharp-control-taskbuilderbase.html new file mode 100644 index 000000000..042438e8c --- /dev/null +++ b/reference/fsharp-control-taskbuilderbase.html @@ -0,0 +1,1168 @@ + + + + + + + + + + + + + + + + + + TaskBuilderBase (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TaskBuilderBase Type +

+ +
+
+
+

+ Contains methods to build tasks using the F# computation expression syntax +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Combine + + +

+
+
+
+ Full Usage: + this.Combine +
+
+ Parameters: +
    + + + task1 + + : + TaskCode<'TOverall, unit> + +
    + + + task2 + + : + TaskCode<'TOverall, 'T> + +
    +
+
+ + Returns: + TaskCode<'TOverall, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'TOverall, 'T +
+
+
+
+
+ +
+
+

+ Specifies the sequential composition of two units of task code. +

+
+
+ + + + + +
+
+
+
+
+ + task1 + + : + TaskCode<'TOverall, unit> +
+
+
+ + task2 + + : + TaskCode<'TOverall, 'T> +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, 'T> +
+
+
+
+
+
+ +

+ + + this.Delay + + +

+
+
+
+ Full Usage: + this.Delay +
+
+ Parameters: +
    + + + generator + + : + unit -> TaskCode<'TOverall, 'T> + +
    +
+
+ + Returns: + TaskCode<'TOverall, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'TOverall, 'T +
+
+
+
+
+ +
+
+

+ Specifies the delayed execution of a unit of task code. +

+
+
+ + + + + +
+
+
+
+
+ + generator + + : + unit -> TaskCode<'TOverall, 'T> +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, 'T> +
+
+
+
+
+
+ +

+ + + this.For + + +

+
+
+
+ Full Usage: + this.For +
+
+ Parameters: +
    + + + sequence + + : + 'T seq + +
    + + + body + + : + 'T -> TaskCode<'TOverall, unit> + +
    +
+
+ + Returns: + TaskCode<'TOverall, unit> + +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'TOverall +
+
+
+
+
+ +
+
+

+ Specifies the iterative execution of a unit of task code. +

+
+
+ + + + + +
+
+
+
+
+ + sequence + + : + 'T seq +
+
+
+ + body + + : + 'T -> TaskCode<'TOverall, unit> +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, unit> +
+
+
+
+
+
+ +

+ + + this.Return + + +

+
+
+
+ Full Usage: + this.Return +
+
+ Parameters: +
    + + + value + + : + 'T + +
    +
+
+ + Returns: + TaskCode<'T, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which returns a value +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+
+
+
+ + Returns: + + TaskCode<'T, 'T> +
+
+
+
+
+
+ +

+ + + this.TryFinally + + +

+
+
+
+ Full Usage: + this.TryFinally +
+
+ Parameters: +
    + + + body + + : + TaskCode<'TOverall, 'T> + +
    + + + compensation + + : + unit -> unit + +
    +
+
+ + Returns: + TaskCode<'TOverall, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'TOverall, 'T +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which executed using try/finally semantics +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + TaskCode<'TOverall, 'T> +
+
+
+ + compensation + + : + unit -> unit +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, 'T> +
+
+
+
+
+
+ +

+ + + this.TryWith + + +

+
+
+
+ Full Usage: + this.TryWith +
+
+ Parameters: +
    + + + body + + : + TaskCode<'TOverall, 'T> + +
    + + + catch + + : + exn -> TaskCode<'TOverall, 'T> + +
    +
+
+ + Returns: + TaskCode<'TOverall, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'TOverall, 'T +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which executed using try/with semantics +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + TaskCode<'TOverall, 'T> +
+
+
+ + catch + + : + exn -> TaskCode<'TOverall, 'T> +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, 'T> +
+
+
+
+
+
+ +

+ + + this.Using + + +

+
+
+
+ Full Usage: + this.Using +
+
+ Parameters: +
    + + + resource + + : + 'Resource + +
    + + + body + + : + 'Resource -> TaskCode<'TOverall, 'T> + +
    +
+
+ + Returns: + TaskCode<'TOverall, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'Resource, 'TOverall, 'T +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which binds to the resource implementing IAsyncDisposable and disposes it asynchronously +

+
+
+ + + + + +
+
+
+
+
+ + resource + + : + 'Resource +
+
+
+ + body + + : + 'Resource -> TaskCode<'TOverall, 'T> +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, 'T> +
+
+
+
+
+
+ +

+ + + this.While + + +

+
+
+
+ Full Usage: + this.While +
+
+ Parameters: + +
+ + Returns: + TaskCode<'TOverall, unit> + +
+ Modifiers: + inline +
+ Type parameters: + 'TOverall +
+
+
+
+
+ +
+
+

+ Specifies the iterative execution of a unit of task code. +

+
+
+ + + + + +
+
+
+
+
+ + condition + + : + unit -> bool +
+
+
+ + body + + : + TaskCode<'TOverall, unit> +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, unit> +
+
+
+
+
+
+ +

+ + + this.Zero + + +

+
+
+
+ Full Usage: + this.Zero +
+
+ + Returns: + TaskCode<'TOverall, unit> + +
+ Modifiers: + inline +
+ Type parameters: + 'TOverall +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which produces no result +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, unit> +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskbuilderextensions-highpriority.html b/reference/fsharp-control-taskbuilderextensions-highpriority.html new file mode 100644 index 000000000..a998997a8 --- /dev/null +++ b/reference/fsharp-control-taskbuilderextensions-highpriority.html @@ -0,0 +1,617 @@ + + + + + + + + + + + + + + + + + + HighPriority (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ HighPriority Module +

+ +
+
+
+

+ Contains high-priority overloads for the `task` computation expression builder. +

+
+
+
+
+
+

+ Type extensions +

+ + + + + + + + + + + + + + + + + + + + + +
+ Type extension + + Description + +
+
+ +

+ + + this.Bind + + +

+
+
+
+ Full Usage: + this.Bind +
+
+ Parameters: +
    + + + task + + : + Task<'TResult1> + +
    + + + continuation + + : + 'TResult1 -> TaskCode<'TOverall, 'TResult2> + +
    +
+
+ + Returns: + TaskCode<'TOverall, 'TResult2> + +
+ Modifiers: + inline +
+ Type parameters: + 'TResult1, 'TOverall, 'TResult2 +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which draws a result from a task then calls a continuation. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + TaskBuilderBase +

+
+
+ + task + + : + Task<'TResult1> +
+
+
+ + continuation + + : + 'TResult1 -> TaskCode<'TOverall, 'TResult2> +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, 'TResult2> +
+
+
+
+
+
+ +

+ + + TaskBuilderBase.BindDynamic(sm, task, continuation) + + +

+
+
+
+ Full Usage: + TaskBuilderBase.BindDynamic(sm, task, continuation) +
+
+ Parameters: +
    + + + sm + + : + byref<TaskStateMachine<'TOverall>> + +
    + + + task + + : + Task<'TResult1> + +
    + + + continuation + + : + 'TResult1 -> TaskCode<'TOverall, 'TResult2> + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The entry point for the dynamic implementation of the corresponding operation. Do not use directly, only used when executing quotations that involve tasks or other reflective execution of F# code. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + TaskBuilderBase +

+
+
+ + sm + + : + byref<TaskStateMachine<'TOverall>> +
+
+
+ + task + + : + Task<'TResult1> +
+
+
+ + continuation + + : + 'TResult1 -> TaskCode<'TOverall, 'TResult2> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.ReturnFrom + + +

+
+
+
+ Full Usage: + this.ReturnFrom +
+
+ Parameters: +
    + + + task + + : + Task<'T> + +
    +
+
+ + Returns: + TaskCode<'T, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which draws a result from a task. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + TaskBuilderBase +

+
+
+ + task + + : + Task<'T> +
+
+
+
+
+ + Returns: + + TaskCode<'T, 'T> +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskbuilderextensions-lowpriority.html b/reference/fsharp-control-taskbuilderextensions-lowpriority.html new file mode 100644 index 000000000..a98c14466 --- /dev/null +++ b/reference/fsharp-control-taskbuilderextensions-lowpriority.html @@ -0,0 +1,732 @@ + + + + + + + + + + + + + + + + + + LowPriority (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ LowPriority Module +

+ +
+
+
+

+ Contains low-priority overloads for the `task` computation expression builder. +

+
+
+
+
+
+

+ Type extensions +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type extension + + Description + +
+
+ +

+ + + this.Bind + + +

+
+
+
+ Full Usage: + this.Bind +
+
+ Parameters: +
    + + + task + + : + ^TaskLike + +
    + + + continuation + + : + 'TResult1 -> TaskCode<'TOverall, 'TResult2> + +
    +
+
+ + Returns: + TaskCode<'TOverall, 'TResult2> + +
+ Modifiers: + inline +
+ Type parameters: + ^TaskLike, 'TResult1, 'TResult2, ^Awaiter, 'TOverall +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which draws a result from a task-like value + satisfying the GetAwaiter pattern and calls a continuation. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + TaskBuilderBase +

+
+
+ + task + + : + ^TaskLike +
+
+
+ + continuation + + : + 'TResult1 -> TaskCode<'TOverall, 'TResult2> +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, 'TResult2> +
+
+
+
+
+
+ +

+ + + TaskBuilderBase.BindDynamic(sm, task, continuation) + + +

+
+
+
+ Full Usage: + TaskBuilderBase.BindDynamic(sm, task, continuation) +
+
+ Parameters: +
    + + + sm + + : + byref<TaskStateMachine<'TOverall>> + +
    + + + task + + : + ^TaskLike + +
    + + + continuation + + : + 'TResult1 -> TaskCode<'TOverall, 'TResult2> + +
    +
+
+ + Returns: + bool + +
+ Modifiers: + inline +
+ Type parameters: + ^TaskLike, 'TResult1, 'TResult2, ^Awaiter, 'TOverall +
+
+
+
+
+ +
+
+

+ The entry point for the dynamic implementation of the corresponding operation. Do not use directly, only used when executing quotations that involve tasks or other reflective execution of F# code. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + TaskBuilderBase +

+
+
+ + sm + + : + byref<TaskStateMachine<'TOverall>> +
+
+
+ + task + + : + ^TaskLike +
+
+
+ + continuation + + : + 'TResult1 -> TaskCode<'TOverall, 'TResult2> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.ReturnFrom + + +

+
+
+
+ Full Usage: + this.ReturnFrom +
+
+ Parameters: +
    + + + task + + : + ^TaskLike + +
    +
+
+ + Returns: + TaskCode<'T, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + ^TaskLike, ^Awaiter, 'T +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which draws its result from a task-like value + satisfying the GetAwaiter pattern. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + TaskBuilderBase +

+
+
+ + task + + : + ^TaskLike +
+
+
+
+
+ + Returns: + + TaskCode<'T, 'T> +
+
+
+
+
+
+ +

+ + + this.Using + + +

+
+
+
+ Full Usage: + this.Using +
+
+ Parameters: +
    + + + resource + + : + 'Resource + +
    + + + body + + : + 'Resource -> TaskCode<'TOverall, 'T> + +
    +
+
+ + Returns: + TaskCode<'TOverall, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'Resource, 'TOverall, 'T +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which binds to the resource implementing IDisposable and disposes it synchronously +

+
+
+ + + + + +
+
+
+

+ Extended Type: + TaskBuilderBase +

+
+
+ + resource + + : + 'Resource +
+
+
+ + body + + : + 'Resource -> TaskCode<'TOverall, 'T> +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, 'T> +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskbuilderextensions-mediumpriority.html b/reference/fsharp-control-taskbuilderextensions-mediumpriority.html new file mode 100644 index 000000000..a1fe2c4a5 --- /dev/null +++ b/reference/fsharp-control-taskbuilderextensions-mediumpriority.html @@ -0,0 +1,498 @@ + + + + + + + + + + + + + + + + + + MediumPriority (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ MediumPriority Module +

+ +
+
+
+

+ Contains medium-priority overloads for the `task` computation expression builder. +

+
+
+
+
+
+

+ Type extensions +

+ + + + + + + + + + + + + + + + + +
+ Type extension + + Description + +
+
+ +

+ + + this.Bind + + +

+
+
+
+ Full Usage: + this.Bind +
+
+ Parameters: +
    + + + computation + + : + Async<'TResult1> + +
    + + + continuation + + : + 'TResult1 -> TaskCode<'TOverall, 'TResult2> + +
    +
+
+ + Returns: + TaskCode<'TOverall, 'TResult2> + +
+ Modifiers: + inline +
+ Type parameters: + 'TResult1, 'TOverall, 'TResult2 +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which draws a result from an F# async value then calls a continuation. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + TaskBuilderBase +

+
+
+ + computation + + : + Async<'TResult1> +
+
+
+ + continuation + + : + 'TResult1 -> TaskCode<'TOverall, 'TResult2> +
+
+
+
+
+ + Returns: + + TaskCode<'TOverall, 'TResult2> +
+
+
+
+
+
+ +

+ + + this.ReturnFrom + + +

+
+
+
+ Full Usage: + this.ReturnFrom +
+
+ Parameters: +
    + + + computation + + : + Async<'T> + +
    +
+
+ + Returns: + TaskCode<'T, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Specifies a unit of task code which draws a result from an F# async value. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + TaskBuilderBase +

+
+
+ + computation + + : + Async<'T> +
+
+
+
+
+ + Returns: + + TaskCode<'T, 'T> +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskbuilderextensions.html b/reference/fsharp-control-taskbuilderextensions.html new file mode 100644 index 000000000..e082b2780 --- /dev/null +++ b/reference/fsharp-control-taskbuilderextensions.html @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + FSharp.Control.TaskBuilderExtensions | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Control.TaskBuilderExtensions Namespace +

+
+ + + + + + + + + + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + HighPriority + + +

+
+
+
+

+ Contains high-priority overloads for the `task` computation expression builder. +

+
+
+ + + + + +
+
+
+

+ + + LowPriority + + +

+
+
+
+

+ Contains low-priority overloads for the `task` computation expression builder. +

+
+
+ + + + + +
+
+
+

+ + + MediumPriority + + +

+
+
+
+

+ Contains medium-priority overloads for the `task` computation expression builder. +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskbuildermodule.html b/reference/fsharp-control-taskbuildermodule.html new file mode 100644 index 000000000..9f43fd072 --- /dev/null +++ b/reference/fsharp-control-taskbuildermodule.html @@ -0,0 +1,433 @@ + + + + + + + + + + + + + + + + + + TaskBuilder (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TaskBuilder Module +

+ +
+
+
+

+ Contains the `task` computation expression builder. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + backgroundTask + + +

+
+
+
+ Full Usage: + backgroundTask +
+
+ + Returns: + BackgroundTaskBuilder + +
+
+
+
+
+
+ +
+
+

+ + Builds a task using computation expression syntax which switches to execute on a background thread if not + already doing so. + +

+
+
+ + + + + +
+
+
+

+ + If the task is created on a foreground thread (where SynchronizationContext.Current is non-null) + its body is executed on a background thread using Task.Run. + If created on a background thread (where SynchronizationContext.Current is null) it is executed + immediately on that thread. + +

+
+
+ + Returns: + + BackgroundTaskBuilder +
+
+
+
+
+
+ +

+ + + task + + +

+
+
+
+ Full Usage: + task +
+
+ + Returns: + TaskBuilder + +
+
+
+
+
+
+ +
+
+

+ + Builds a task using computation expression syntax. + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + TaskBuilder +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskcode-2.html b/reference/fsharp-control-taskcode-2.html new file mode 100644 index 000000000..8d0fee6fb --- /dev/null +++ b/reference/fsharp-control-taskcode-2.html @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + TaskCode<'TOverall, 'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TaskCode<'TOverall, 'T> Type +

+ +
+
+
+

+ A special compiler-recognised delegate type for specifying blocks of task code + with access to the state machine. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskresumptionfunc-1.html b/reference/fsharp-control-taskresumptionfunc-1.html new file mode 100644 index 000000000..ea5132041 --- /dev/null +++ b/reference/fsharp-control-taskresumptionfunc-1.html @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + TaskResumptionFunc<'TOverall> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TaskResumptionFunc<'TOverall> Type +

+ +
+
+
+

+ Represents the runtime continuation of a task state machine created dynamically +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskstatemachine-1.html b/reference/fsharp-control-taskstatemachine-1.html new file mode 100644 index 000000000..32b0ca2e2 --- /dev/null +++ b/reference/fsharp-control-taskstatemachine-1.html @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + TaskStateMachine<'TOverall> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TaskStateMachine<'TOverall> Type +

+ +
+
+
+

+ This is used by the compiler as a template for creating state machine structs +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-taskstatemachinedata-1.html b/reference/fsharp-control-taskstatemachinedata-1.html new file mode 100644 index 000000000..3ff7115d8 --- /dev/null +++ b/reference/fsharp-control-taskstatemachinedata-1.html @@ -0,0 +1,421 @@ + + + + + + + + + + + + + + + + + + TaskStateMachineData<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TaskStateMachineData<'T> Type +

+ +
+
+
+

+ The extra data stored in ResumableStateMachine for tasks +

+
+
+
+
+
+
+
+
+

+ Record fields +

+ + + + + + + + + + + + + + + + + +
+ Record Field + + Description + +
+
+ +

+ + + MethodBuilder + + +

+
+
+
+ Full Usage: + MethodBuilder +
+
+ + Field type: + AsyncTaskMethodBuilder<'T> + +
+ Modifiers: + mutable +
+
+
+
+
+
+ +
+
+

+ Holds the MethodBuilder for the state machine +

+
+
+ + + +
+
+
+
+
+ + Field type: + + AsyncTaskMethodBuilder<'T> +
+
+
+
+
+
+ +

+ + + Result + + +

+
+
+
+ Full Usage: + Result +
+
+ + Field type: + 'T + +
+ Modifiers: + mutable +
+
+
+
+
+
+ +
+
+

+ Holds the final result of the state machine +

+
+
+ + + +
+
+
+
+
+ + Field type: + + 'T +
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control-webextensions.html b/reference/fsharp-control-webextensions.html new file mode 100644 index 000000000..d8138f3d8 --- /dev/null +++ b/reference/fsharp-control-webextensions.html @@ -0,0 +1,946 @@ + + + + + + + + + + + + + + + + + + WebExtensions (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ WebExtensions Module +

+ +
+
+
+

+ A module of extension members providing asynchronous operations for some basic Web operations. +

+
+
+
+
+
+

+ Type extensions +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type extension + + Description + +
+
+ +

+ + + this.AsyncDownloadData + + +

+
+
+
+ Full Usage: + this.AsyncDownloadData +
+
+ Parameters: +
    + + + address + + : + Uri + - + The URI to retrieve. + +
    +
+
+ + Returns: + Async<byte array> + + An asynchronous computation that will wait for the download of the URI. +
+
+
+
+
+
+ +
+
+

+ Returns an asynchronous computation that, when run, will wait for the download of the given URI. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + WebClient +

+
+
+ + address + + : + Uri +
+
+

+ The URI to retrieve. +

+
+
+
+
+ + Returns: + + Async<byte array> +
+
+

+ An asynchronous computation that will wait for the download of the URI. +

+
+
+
+ Example +
+

+

 open System.Net
+ open System.Text
+ open System
+ let client = new WebClient()
+ client.AsyncDownloadData(Uri("https://www.w3.org")) |> Async.RunSynchronously |> Encoding.ASCII.GetString
+
+
namespace System
+
namespace System.Net
+
namespace System.Text
+
val client: WebClient
+
type WebClient = + inherit Component + new: unit -> unit + member CancelAsync: unit -> unit + member DownloadData: address: string -> byte array + 1 overload + member DownloadDataAsync: address: Uri -> unit + 1 overload + member DownloadDataTaskAsync: address: string -> Task<byte array> + 1 overload + member DownloadFile: address: string * fileName: string -> unit + 1 overload + member DownloadFileAsync: address: Uri * fileName: string -> unit + 1 overload + member DownloadFileTaskAsync: address: string * fileName: string -> Task + 1 overload + member DownloadString: address: string -> string + 1 overload + ...
<summary>Provides common methods for sending data to and receiving data from a resource identified by a URI.</summary>
+
member WebClient.AsyncDownloadData: address: Uri -> Async<byte array>
+
Multiple items
type Uri = + interface IFormattable + interface ISpanFormattable + interface IEquatable<Uri> + interface ISerializable + new: uriString: string -> unit + 6 overloads + member Equals: comparand: obj -> bool + 1 overload + member GetComponents: components: UriComponents * format: UriFormat -> string + member GetHashCode: unit -> int + member GetLeftPart: part: UriPartial -> string + member IsBaseOf: uri: Uri -> bool + ...
<summary>Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.</summary>

--------------------
Uri(uriString: string) : Uri
Uri(uriString: string, creationOptions: inref<UriCreationOptions>) : Uri
Uri(uriString: string, uriKind: UriKind) : Uri
Uri(baseUri: Uri, relativeUri: string) : Uri
Uri(baseUri: Uri, relativeUri: Uri) : Uri
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: Threading.CancellationToken -> 'T
+
type Encoding = + interface ICloneable + member Clone: unit -> obj + member Equals: value: obj -> bool + member GetByteCount: chars: nativeptr<char> * count: int -> int + 5 overloads + member GetBytes: chars: nativeptr<char> * charCount: int * bytes: nativeptr<byte> * byteCount: int -> int + 7 overloads + member GetCharCount: bytes: nativeptr<byte> * count: int -> int + 3 overloads + member GetChars: bytes: nativeptr<byte> * byteCount: int * chars: nativeptr<char> * charCount: int -> int + 4 overloads + member GetDecoder: unit -> Decoder + member GetEncoder: unit -> Encoder + member GetHashCode: unit -> int + ...
<summary>Represents a character encoding.</summary>
+
property Encoding.ASCII: Encoding with get
<summary>Gets an encoding for the ASCII (7-bit) character set.</summary>
<returns>An encoding for the ASCII (7-bit) character set.</returns>
+
(extension) Encoding.GetString(bytes: inref<Buffers.ReadOnlySequence<byte>>) : string
Encoding.GetString(bytes: ReadOnlySpan<byte>) : string
Encoding.GetString(bytes: byte array) : string
Encoding.GetString(bytes: nativeptr<byte>, byteCount: int) : string
Encoding.GetString(bytes: byte array, index: int, count: int) : string
+ + +

+
+
+
+ +

+ + + this.AsyncDownloadFile + + +

+
+
+
+ Full Usage: + this.AsyncDownloadFile +
+
+ Parameters: +
    + + + address + + : + Uri + - + The URI to retrieve. + +
    + + + fileName + + : + string + - + The file name to save download to. + +
    +
+
+ + Returns: + Async<unit> + + An asynchronous computation that will wait for the download of the URI to specified file. +
+
+
+
+
+
+ +
+
+

+ Returns an asynchronous computation that, when run, will wait for the download of the given URI to specified file. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + WebClient +

+
+
+ + address + + : + Uri +
+
+

+ The URI to retrieve. +

+
+
+ + fileName + + : + string +
+
+

+ The file name to save download to. +

+
+
+
+
+ + Returns: + + Async<unit> +
+
+

+ An asynchronous computation that will wait for the download of the URI to specified file. +

+
+
+
+ Example +
+

+

 open System.Net
+ open System
+ let client = new WebClient()
+ Uri("https://www.w3.com") |> fun x -> client.AsyncDownloadFile(x, "output.html") |> Async.RunSynchronously
+
+
namespace System
+
namespace System.Net
+
val client: WebClient
+
type WebClient = + inherit Component + new: unit -> unit + member CancelAsync: unit -> unit + member DownloadData: address: string -> byte array + 1 overload + member DownloadDataAsync: address: Uri -> unit + 1 overload + member DownloadDataTaskAsync: address: string -> Task<byte array> + 1 overload + member DownloadFile: address: string * fileName: string -> unit + 1 overload + member DownloadFileAsync: address: Uri * fileName: string -> unit + 1 overload + member DownloadFileTaskAsync: address: string * fileName: string -> Task + 1 overload + member DownloadString: address: string -> string + 1 overload + ...
<summary>Provides common methods for sending data to and receiving data from a resource identified by a URI.</summary>
+
Multiple items
type Uri = + interface IFormattable + interface ISpanFormattable + interface IEquatable<Uri> + interface ISerializable + new: uriString: string -> unit + 6 overloads + member Equals: comparand: obj -> bool + 1 overload + member GetComponents: components: UriComponents * format: UriFormat -> string + member GetHashCode: unit -> int + member GetLeftPart: part: UriPartial -> string + member IsBaseOf: uri: Uri -> bool + ...
<summary>Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.</summary>

--------------------
Uri(uriString: string) : Uri
Uri(uriString: string, creationOptions: inref<UriCreationOptions>) : Uri
Uri(uriString: string, uriKind: UriKind) : Uri
Uri(baseUri: Uri, relativeUri: string) : Uri
Uri(baseUri: Uri, relativeUri: Uri) : Uri
+
val x: Uri
+
member WebClient.AsyncDownloadFile: address: Uri * fileName: string -> Async<unit>
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: Threading.CancellationToken -> 'T
+ + + This will download the server response as a file and output it as output.html + +

+
+
+
+ +

+ + + this.AsyncDownloadString + + +

+
+
+
+ Full Usage: + this.AsyncDownloadString +
+
+ Parameters: +
    + + + address + + : + Uri + - + The URI to retrieve. + +
    +
+
+ + Returns: + Async<string> + + An asynchronous computation that will wait for the download of the URI. +
+
+
+
+
+
+ +
+
+

+ Returns an asynchronous computation that, when run, will wait for the download of the given URI. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + WebClient +

+
+
+ + address + + : + Uri +
+
+

+ The URI to retrieve. +

+
+
+
+
+ + Returns: + + Async<string> +
+
+

+ An asynchronous computation that will wait for the download of the URI. +

+
+
+
+ Example +
+

+

 open System
+ let client = new WebClient()
+ Uri("https://www.w3.org") |> client.AsyncDownloadString |> Async.RunSynchronously
+
+
namespace System
+
val client: obj
+
Multiple items
type Uri = + interface IFormattable + interface ISpanFormattable + interface IEquatable<Uri> + interface ISerializable + new: uriString: string -> unit + 6 overloads + member Equals: comparand: obj -> bool + 1 overload + member GetComponents: components: UriComponents * format: UriFormat -> string + member GetHashCode: unit -> int + member GetLeftPart: part: UriPartial -> string + member IsBaseOf: uri: Uri -> bool + ...
<summary>Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.</summary>

--------------------
Uri(uriString: string) : Uri
Uri(uriString: string, creationOptions: inref<UriCreationOptions>) : Uri
Uri(uriString: string, uriKind: UriKind) : Uri
Uri(baseUri: Uri, relativeUri: string) : Uri
Uri(baseUri: Uri, relativeUri: Uri) : Uri
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: Threading.CancellationToken -> 'T
+ + + This will download the server response from https://www.w3.org + +

+
+
+
+ +

+ + + this.AsyncGetResponse + + +

+
+
+
+ Full Usage: + this.AsyncGetResponse +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + Async<WebResponse> + + An asynchronous computation that waits for response to the WebRequest. +
+
+
+
+
+
+ +
+
+

+ Returns an asynchronous computation that, when run, will wait for a response to the given WebRequest. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + WebRequest +

+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + Async<WebResponse> +
+
+

+ An asynchronous computation that waits for response to the WebRequest. +

+
+
+
+ Example +
+

+

 open System.Net
+ open System.IO
+ let responseStreamToString = fun (responseStream : WebResponse) ->
+     let reader = new StreamReader(responseStream.GetResponseStream())
+     reader.ReadToEnd()
+ let webRequest = WebRequest.Create("https://www.w3.org")
+ let result = webRequest.AsyncGetResponse() |> Async.RunSynchronously |> responseStreamToString
+
+
namespace System
+
namespace System.Net
+
namespace System.IO
+
val responseStreamToString: responseStream: WebResponse -> string
+
val responseStream: WebResponse
+
type WebResponse = + inherit MarshalByRefObject + interface IDisposable + interface ISerializable + member Close: unit -> unit + member Dispose: unit -> unit + member GetResponseStream: unit -> Stream + member ContentLength: int64 + member ContentType: string + member Headers: WebHeaderCollection + member IsFromCache: bool + ...
<summary>Provides a response from a Uniform Resource Identifier (URI). This is an <see langword="abstract" /> class.</summary>
+
val reader: StreamReader
+
Multiple items
type StreamReader = + inherit TextReader + new: stream: Stream -> unit + 12 overloads + member Close: unit -> unit + member DiscardBufferedData: unit -> unit + member Peek: unit -> int + member Read: unit -> int + 2 overloads + member ReadAsync: buffer: char array * index: int * count: int -> Task<int> + 1 overload + member ReadBlock: buffer: char array * index: int * count: int -> int + 1 overload + member ReadBlockAsync: buffer: char array * index: int * count: int -> Task<int> + 1 overload + member ReadLine: unit -> string + ...
<summary>Implements a <see cref="T:System.IO.TextReader" /> that reads characters from a byte stream in a particular encoding.</summary>

--------------------
StreamReader(stream: Stream) : StreamReader
   (+0 other overloads)
StreamReader(path: string) : StreamReader
   (+0 other overloads)
StreamReader(stream: Stream, detectEncodingFromByteOrderMarks: bool) : StreamReader
   (+0 other overloads)
StreamReader(stream: Stream, encoding: System.Text.Encoding) : StreamReader
   (+0 other overloads)
StreamReader(path: string, detectEncodingFromByteOrderMarks: bool) : StreamReader
   (+0 other overloads)
StreamReader(path: string, options: FileStreamOptions) : StreamReader
   (+0 other overloads)
StreamReader(path: string, encoding: System.Text.Encoding) : StreamReader
   (+0 other overloads)
StreamReader(stream: Stream, encoding: System.Text.Encoding, detectEncodingFromByteOrderMarks: bool) : StreamReader
   (+0 other overloads)
StreamReader(path: string, encoding: System.Text.Encoding, detectEncodingFromByteOrderMarks: bool) : StreamReader
   (+0 other overloads)
StreamReader(stream: Stream, encoding: System.Text.Encoding, detectEncodingFromByteOrderMarks: bool, bufferSize: int) : StreamReader
   (+0 other overloads)
+
WebResponse.GetResponseStream() : Stream
+
StreamReader.ReadToEnd() : string
+
val webRequest: WebRequest
+
type WebRequest = + inherit MarshalByRefObject + interface ISerializable + member Abort: unit -> unit + member BeginGetRequestStream: callback: AsyncCallback * state: obj -> IAsyncResult + member BeginGetResponse: callback: AsyncCallback * state: obj -> IAsyncResult + member EndGetRequestStream: asyncResult: IAsyncResult -> Stream + member EndGetResponse: asyncResult: IAsyncResult -> WebResponse + member GetRequestStream: unit -> Stream + member GetRequestStreamAsync: unit -> Task<Stream> + member GetResponse: unit -> WebResponse + ...
<summary>Makes a request to a Uniform Resource Identifier (URI). This is an <see langword="abstract" /> class.</summary>
+
val result: string
+
member WebRequest.AsyncGetResponse: unit -> Async<WebResponse>
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: System.Threading.CancellationToken -> 'T
+ + +

+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-control.html b/reference/fsharp-control.html new file mode 100644 index 000000000..6c04579c8 --- /dev/null +++ b/reference/fsharp-control.html @@ -0,0 +1,1282 @@ + + + + + + + + + + + + + + + + + + FSharp.Control | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Control Namespace +

+
+

+ + Library functionality for asynchronous programming, events and agents. See also + Asynchronous Programming, + Events and + Lazy Expressions in the + F# Language Guide. + +

+
+

+ Contents +

+ +

+ + Async Programming + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + Async + + +

+
+
+
+

+ Holds static members for creating and manipulating asynchronous computations. +

+
+
+ + + + + +
+
+
+

+ + + Async<'T> + + +

+
+
+
+

+ + An asynchronous computation, which, when run, will eventually produce a value of type T, or else raises an exception. + +

+
+
+ + + + + +
+
+
+

+ + + AsyncBuilder + + +

+
+
+
+

+ The type of the async operator, used to build workflows for asynchronous computations. +

+
+
+ + + + + +
+
+
+

+ + + CommonExtensions + + +

+
+
+
+

+ A module of extension members providing asynchronous operations for some basic CLI types related to concurrency and I/O. +

+
+
+ + + + + +
+
+
+

+ + + WebExtensions + + +

+
+
+
+

+ A module of extension members providing asynchronous operations for some basic Web operations. +

+
+
+ + + + + +
+
+
+

+ + Events and Observables + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + DelegateEvent<'Delegate> + + +

+
+
+
+

+ Event implementations for an arbitrary type of delegate. +

+
+
+ + + + + +
+
+
+

+ + + Event + + +

+
+
+
+

+ Contains operations for working with values of type IEvent. +

+
+
+ + + + + +
+
+
+

+ + + Event<'T> + + +

+
+
+
+

+ Event implementations for the IEvent<_> type. +

+
+
+ + + + + +
+
+
+

+ + + Event<'Delegate, 'Args> + + +

+
+
+
+

+ Event implementations for a delegate types following the standard .NET Framework convention of a first 'sender' argument. +

+
+
+ + + + + +
+
+
+

+ + + Handler<'T> + + +

+
+
+
+

+ A delegate type associated with the F# event type IEvent<_> +

+
+
+ + + + + +
+
+
+

+ + + IDelegateEvent<'Delegate> + + +

+
+
+
+

+ First class event values for arbitrary delegate types. +

+
+
+ + + + + +
+
+
+

+ + + IEvent<'T> + + +

+
+
+
+

+ First-class listening points (i.e. objects that permit you to register a callback + activated when the event is triggered). +

+
+
+ + + + + +
+
+
+

+ + + IEvent<'Delegate, 'Args> + + +

+
+
+
+

+ First class event values for CLI events conforming to CLI Framework standards. +

+
+
+ + + + + +
+
+
+

+ + + Observable + + +

+
+
+
+

+ Contains operations for working with first class event and other observable objects. +

+
+
+ + + + + +
+
+
+

+ + Lazy Computation + +

+ + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + LazyExtensions + + +

+
+
+
+

+ Extensions related to Lazy values. +

+
+
+ + + + + +
+
+
+

+ + Agents + +

+ + + + + + + + + + + + + + + + + +
+ Type + + Description +
+

+ + + AsyncReplyChannel<'Reply> + + +

+
+
+
+

+ A handle to a capability to reply to a PostAndReply message. +

+
+
+ + + + + +
+
+
+

+ + + MailboxProcessor<'Msg> + + +

+
+
+
+

+ A message-processing agent which executes an asynchronous computation. +

+
+
+ + + + + +
+
+
+

+ + Async Internals + +

+ + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + AsyncActivation<'T> + + +

+
+
+
+

+ The F# compiler emits references to this type to implement F# async expressions. +

+
+
+ + + + + +
+
+
+

+ + + AsyncPrimitives + + +

+
+
+
+

+ Entry points for generated code +

+
+
+ + + + + +
+
+
+

+ + + AsyncReturn + + +

+
+
+
+

+ The F# compiler emits references to this type to implement F# async expressions. +

+
+
+ + + + + +
+
+
+

+ + Other namespace members + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + BackgroundTaskBuilder + + +

+
+
+
+

+ Contains methods to build tasks using the F# computation expression syntax +

+
+
+ + + + + +
+
+
+

+ + + TaskBuilder (Module) + + +

+
+
+
+

+ Contains the `task` computation expression builder. +

+
+
+ + + + + +
+
+
+

+ + + TaskBuilder (Type) + + +

+
+
+
+

+ Contains methods to build tasks using the F# computation expression syntax +

+
+
+ + + + + +
+
+
+

+ + + TaskBuilderBase + + +

+
+
+
+

+ Contains methods to build tasks using the F# computation expression syntax +

+
+
+ + + + + +
+
+
+

+ + + TaskCode<'TOverall, 'T> + + +

+
+
+
+

+ A special compiler-recognised delegate type for specifying blocks of task code + with access to the state machine. +

+
+
+ + + + + +
+
+
+

+ + + TaskResumptionFunc<'TOverall> + + +

+
+
+
+

+ Represents the runtime continuation of a task state machine created dynamically +

+
+
+ + + + + +
+
+
+

+ + + TaskStateMachine<'TOverall> + + +

+
+
+
+

+ This is used by the compiler as a template for creating state machine structs +

+
+
+ + + + + +
+
+
+

+ + + TaskStateMachineData<'T> + + +

+
+
+
+

+ The extra data stored in ResumableStateMachine for tasks +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-abstractclassattribute.html b/reference/fsharp-core-abstractclassattribute.html new file mode 100644 index 000000000..b01df08ab --- /dev/null +++ b/reference/fsharp-core-abstractclassattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + AbstractClassAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ AbstractClassAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + AbstractClassAttribute() + + +

+
+
+
+ Full Usage: + AbstractClassAttribute() +
+
+ + Returns: + AbstractClassAttribute + + AbstractClassAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + AbstractClassAttribute +
+
+

+ AbstractClassAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-allownullliteralattribute.html b/reference/fsharp-core-allownullliteralattribute.html new file mode 100644 index 000000000..2be845105 --- /dev/null +++ b/reference/fsharp-core-allownullliteralattribute.html @@ -0,0 +1,541 @@ + + + + + + + + + + + + + + + + + + AllowNullLiteralAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ AllowNullLiteralAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + AllowNullLiteralAttribute(value) + + +

+
+
+
+ Full Usage: + AllowNullLiteralAttribute(value) +
+
+ Parameters: +
    + + + value + + : + bool + +
    +
+
+ + Returns: + AllowNullLiteralAttribute + + AllowNullLiteralAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute with the specified value +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + bool +
+
+
+
+
+ + Returns: + + AllowNullLiteralAttribute +
+
+

+ AllowNullLiteralAttribute +

+
+
+
+
+
+ +

+ + + AllowNullLiteralAttribute() + + +

+
+
+
+ Full Usage: + AllowNullLiteralAttribute() +
+
+ + Returns: + AllowNullLiteralAttribute + + AllowNullLiteralAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + AllowNullLiteralAttribute +
+
+

+ AllowNullLiteralAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The value of the attribute, indicating whether the type allows the null literal or not +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-array-1.html b/reference/fsharp-core-array-1.html new file mode 100644 index 000000000..888128f03 --- /dev/null +++ b/reference/fsharp-core-array-1.html @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + 'T array (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ 'T array Type +

+ +
+
+
+

+ Single dimensional, zero-based arrays, written int array, string array etc. +

+
+
+

+ Use the values in the Array module to manipulate values + of this type, or the notation arr.[x] to get/set array + values. +

+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-autoopenattribute.html b/reference/fsharp-core-autoopenattribute.html new file mode 100644 index 000000000..160358154 --- /dev/null +++ b/reference/fsharp-core-autoopenattribute.html @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + AutoOpenAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ AutoOpenAttribute Type +

+ +
+
+
+

+ Indicates a construct is automatically opened when brought into scope through + an assembly reference or then opening of the containing namespace or module. +

+
+
+

+ When applied to an assembly, this attribute must be given a string + argument, and this indicates 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 type or module within an assembly, then the attribute must not be given any arguments, and + the type or module is implicitly opened when its enclosing namespace or module is opened. + +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + AutoOpenAttribute(path) + + +

+
+
+
+ Full Usage: + AutoOpenAttribute(path) +
+
+ Parameters: +
    + + + path + + : + string + - + The namespace or module to be automatically opened when an assembly is referenced + or an enclosing module opened. + +
    +
+
+ + Returns: + AutoOpenAttribute + + AutoOpenAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an attribute used to mark a namespace or module path to be 'automatically opened' when an assembly is referenced +

+
+
+ + + + + +
+
+
+
+
+ + path + + : + string +
+
+

+ The namespace or module to be automatically opened when an assembly is referenced + or an enclosing module opened. +

+
+
+
+
+ + Returns: + + AutoOpenAttribute +
+
+

+ AutoOpenAttribute +

+
+
+
+
+
+ +

+ + + AutoOpenAttribute() + + +

+
+
+
+ Full Usage: + AutoOpenAttribute() +
+
+ + Returns: + AutoOpenAttribute + + AutoOpenAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an attribute used to mark a module as 'automatically opened' when the enclosing namespace is opened +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + AutoOpenAttribute +
+
+

+ AutoOpenAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Path + + +

+
+
+
+ Full Usage: + this.Path +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
Indicates the namespace or module to be automatically opened when an assembly is referenced
+ or an enclosing module opened.
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-autoserializableattribute.html b/reference/fsharp-core-autoserializableattribute.html new file mode 100644 index 000000000..72478f22b --- /dev/null +++ b/reference/fsharp-core-autoserializableattribute.html @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + AutoSerializableAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ AutoSerializableAttribute Type +

+ +
+
+
+

+ Adding this attribute to a type with value 'false' disables the behaviour where F# makes the + type Serializable by default. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + AutoSerializableAttribute(value) + + +

+
+
+
+ Full Usage: + AutoSerializableAttribute(value) +
+
+ Parameters: +
    + + + value + + : + bool + - + Indicates whether the type should be serializable by default. + +
    +
+
+ + Returns: + AutoSerializableAttribute + + AutoSerializableAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + bool +
+
+

+ Indicates whether the type should be serializable by default. +

+
+
+
+
+ + Returns: + + AutoSerializableAttribute +
+
+

+ AutoSerializableAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The value of the attribute, indicating whether the type is automatically marked serializable or not +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-bool.html b/reference/fsharp-core-bool.html new file mode 100644 index 000000000..b5bf42e4b --- /dev/null +++ b/reference/fsharp-core-bool.html @@ -0,0 +1,292 @@ + + + + + + + + + + + + + + + + + + bool (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ bool Type +

+ +
+
+
+

+ An abbreviation for the CLI type Boolean. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-byref-1.html b/reference/fsharp-core-byref-1.html new file mode 100644 index 000000000..bacf6a814 --- /dev/null +++ b/reference/fsharp-core-byref-1.html @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + + + + byref<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ byref<'T> Type +

+ +
+
+
+

+ Represents a managed pointer in F# code. For F# 4.5+ this is considered equivalent to byref<'T, ByRefKinds.InOut> +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-byref-2.html b/reference/fsharp-core-byref-2.html new file mode 100644 index 000000000..464a5f77b --- /dev/null +++ b/reference/fsharp-core-byref-2.html @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + + + + byref<'T, 'Kind> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ byref<'T, 'Kind> Type +

+ +
+
+
+

+ Represents a managed pointer in F# code. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-byrefkinds-in.html b/reference/fsharp-core-byrefkinds-in.html new file mode 100644 index 000000000..cd16fe21e --- /dev/null +++ b/reference/fsharp-core-byrefkinds-in.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + In (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ In Type +

+ +
+
+
+

+ Represents a byref that can be read +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-byrefkinds-inout.html b/reference/fsharp-core-byrefkinds-inout.html new file mode 100644 index 000000000..41a42c004 --- /dev/null +++ b/reference/fsharp-core-byrefkinds-inout.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + InOut (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ InOut Type +

+ +
+
+
+

+ Represents a byref that can be both read and written +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-byrefkinds-out.html b/reference/fsharp-core-byrefkinds-out.html new file mode 100644 index 000000000..38f8321fc --- /dev/null +++ b/reference/fsharp-core-byrefkinds-out.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + Out (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Out Type +

+ +
+
+
+

+ Represents a byref that can be written +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-byrefkinds.html b/reference/fsharp-core-byrefkinds.html new file mode 100644 index 000000000..b84f137d4 --- /dev/null +++ b/reference/fsharp-core-byrefkinds.html @@ -0,0 +1,382 @@ + + + + + + + + + + + + + + + + + + ByRefKinds (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ByRefKinds Module +

+ +
+
+
+

+ Represents the types of byrefs in F# 4.5+ +

+
+
+
+
+

+ Types +

+ + + + + + + + + + + + + + + + + + + + + +
+ Type + + Description +
+

+ + + In + + +

+
+
+
+

+ Represents a byref that can be read +

+
+
+ + + + + +
+
+
+

+ + + InOut + + +

+
+
+
+

+ Represents a byref that can be both read and written +

+
+
+ + + + + +
+
+
+

+ + + Out + + +

+
+
+
+

+ Represents a byref that can be written +

+
+
+ + + + + +
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-byte-1.html b/reference/fsharp-core-byte-1.html new file mode 100644 index 000000000..60c590736 --- /dev/null +++ b/reference/fsharp-core-byte-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + byte<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ byte<'Measure> Type +

+ +
+
+
+

+ The type of 8-bit unsigned 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 + Byte. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-byte.html b/reference/fsharp-core-byte.html new file mode 100644 index 000000000..389612f27 --- /dev/null +++ b/reference/fsharp-core-byte.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + byte (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ byte Type +

+ +
+
+
+

+ An abbreviation for the CLI type Byte. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-char.html b/reference/fsharp-core-char.html new file mode 100644 index 000000000..59a40d551 --- /dev/null +++ b/reference/fsharp-core-char.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + char (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ char Type +

+ +
+
+
+

+ An abbreviation for the CLI type Char. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-classattribute.html b/reference/fsharp-core-classattribute.html new file mode 100644 index 000000000..85501d711 --- /dev/null +++ b/reference/fsharp-core-classattribute.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + ClassAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ClassAttribute Type +

+ +
+
+
+

+ Adding this attribute to a type causes it to be represented using a CLI class. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + ClassAttribute() + + +

+
+
+
+ Full Usage: + ClassAttribute() +
+
+ + Returns: + ClassAttribute + + ClassAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + ClassAttribute +
+
+

+ ClassAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-clieventattribute.html b/reference/fsharp-core-clieventattribute.html new file mode 100644 index 000000000..fd370b529 --- /dev/null +++ b/reference/fsharp-core-clieventattribute.html @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + CLIEventAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CLIEventAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CLIEventAttribute() + + +

+
+
+
+ Full Usage: + CLIEventAttribute() +
+
+ + Returns: + CLIEventAttribute + + CLIEventAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + CLIEventAttribute +
+
+

+ CLIEventAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-climutableattribute.html b/reference/fsharp-core-climutableattribute.html new file mode 100644 index 000000000..b2690f220 --- /dev/null +++ b/reference/fsharp-core-climutableattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + CLIMutableAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CLIMutableAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CLIMutableAttribute() + + +

+
+
+
+ Full Usage: + CLIMutableAttribute() +
+
+ + Returns: + CLIMutableAttribute + + CLIMutableAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + CLIMutableAttribute +
+
+

+ CLIMutableAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-comparisonconditionalonattribute.html b/reference/fsharp-core-comparisonconditionalonattribute.html new file mode 100644 index 000000000..0a4380749 --- /dev/null +++ b/reference/fsharp-core-comparisonconditionalonattribute.html @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + ComparisonConditionalOnAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ComparisonConditionalOnAttribute Type +

+ +
+
+
+

+ 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 only supports + comparison if the type X also supports comparison and all other conditions for C 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. + +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + ComparisonConditionalOnAttribute() + + +

+
+
+
+ Full Usage: + ComparisonConditionalOnAttribute() +
+
+ + Returns: + ComparisonConditionalOnAttribute + + ComparisonConditionalOnAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + ComparisonConditionalOnAttribute +
+
+

+ ComparisonConditionalOnAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilationargumentcountsattribute.html b/reference/fsharp-core-compilationargumentcountsattribute.html new file mode 100644 index 000000000..5dfc784c2 --- /dev/null +++ b/reference/fsharp-core-compilationargumentcountsattribute.html @@ -0,0 +1,481 @@ + + + + + + + + + + + + + + + + + + CompilationArgumentCountsAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CompilationArgumentCountsAttribute Type +

+ +
+
+
+

+ 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. + +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CompilationArgumentCountsAttribute(counts) + + +

+
+
+
+ Full Usage: + CompilationArgumentCountsAttribute(counts) +
+
+ Parameters: +
    + + + counts + + : + int array + - + Indicates the number of arguments in each argument group. + +
    +
+
+ + Returns: + CompilationArgumentCountsAttribute + + CompilationArgumentCountsAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + counts + + : + int array +
+
+

+ Indicates the number of arguments in each argument group. +

+
+
+
+
+ + Returns: + + CompilationArgumentCountsAttribute +
+
+

+ CompilationArgumentCountsAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Counts + + +

+
+
+
+ Full Usage: + this.Counts +
+
+ + Returns: + IEnumerable<int> + +
+
+
+
+
+
+ +
+
+

+ Indicates the number of arguments in each argument group +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEnumerable<int> +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilationmappingattribute.html b/reference/fsharp-core-compilationmappingattribute.html new file mode 100644 index 000000000..03fae099d --- /dev/null +++ b/reference/fsharp-core-compilationmappingattribute.html @@ -0,0 +1,1100 @@ + + + + + + + + + + + + + + + + + + CompilationMappingAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CompilationMappingAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+

+ This attribute is used by the functions in the + FSharp.Reflection namespace to reverse-map compiled constructs to + their original forms. It is not intended for use from user code. +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CompilationMappingAttribute(resourceName, typeDefinitions) + + +

+
+
+
+ Full Usage: + CompilationMappingAttribute(resourceName, typeDefinitions) +
+
+ Parameters: +
    + + + resourceName + + : + string + - + The name of the resource needed to resolve the source construct. + +
    + + + typeDefinitions + + : + Type array + - + Indicates the type definitions needed to resolve the source construct. + +
    +
+
+ + Returns: + CompilationMappingAttribute + + CompilationMappingAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + resourceName + + : + string +
+
+

+ The name of the resource needed to resolve the source construct. +

+
+
+ + typeDefinitions + + : + Type array +
+
+

+ Indicates the type definitions needed to resolve the source construct. +

+
+
+
+
+ + Returns: + + CompilationMappingAttribute +
+
+

+ CompilationMappingAttribute +

+
+
+
+
+
+ +

+ + + CompilationMappingAttribute(sourceConstructFlags, variantNumber, sequenceNumber) + + +

+
+
+
+ Full Usage: + CompilationMappingAttribute(sourceConstructFlags, variantNumber, sequenceNumber) +
+
+ Parameters: +
    + + + sourceConstructFlags + + : + SourceConstructFlags + - + Indicates the type of source construct. + +
    + + + variantNumber + + : + int + - + Indicates the index in the sequence of variants. + +
    + + + sequenceNumber + + : + int + - + Indicates the index in the sequence of constructs. + +
    +
+
+ + Returns: + CompilationMappingAttribute + + CompilationMappingAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + sourceConstructFlags + + : + SourceConstructFlags +
+
+

+ Indicates the type of source construct. +

+
+
+ + variantNumber + + : + int +
+
+

+ Indicates the index in the sequence of variants. +

+
+
+ + sequenceNumber + + : + int +
+
+

+ Indicates the index in the sequence of constructs. +

+
+
+
+
+ + Returns: + + CompilationMappingAttribute +
+
+

+ CompilationMappingAttribute +

+
+
+
+
+
+ +

+ + + CompilationMappingAttribute(sourceConstructFlags, sequenceNumber) + + +

+
+
+
+ Full Usage: + CompilationMappingAttribute(sourceConstructFlags, sequenceNumber) +
+
+ Parameters: +
    + + + sourceConstructFlags + + : + SourceConstructFlags + - + Indicates the type of source construct. + +
    + + + sequenceNumber + + : + int + - + Indicates the index in the sequence of constructs. + +
    +
+
+ + Returns: + CompilationMappingAttribute + + CompilationMappingAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + sourceConstructFlags + + : + SourceConstructFlags +
+
+

+ Indicates the type of source construct. +

+
+
+ + sequenceNumber + + : + int +
+
+

+ Indicates the index in the sequence of constructs. +

+
+
+
+
+ + Returns: + + CompilationMappingAttribute +
+
+

+ CompilationMappingAttribute +

+
+
+
+
+
+ +

+ + + CompilationMappingAttribute(sourceConstructFlags) + + +

+
+
+
+ Full Usage: + CompilationMappingAttribute(sourceConstructFlags) +
+
+ Parameters: +
    + + + sourceConstructFlags + + : + SourceConstructFlags + - + Indicates the type of source construct. + +
    +
+
+ + Returns: + CompilationMappingAttribute + + CompilationMappingAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + sourceConstructFlags + + : + SourceConstructFlags +
+
+

+ Indicates the type of source construct. +

+
+
+
+
+ + Returns: + + CompilationMappingAttribute +
+
+

+ CompilationMappingAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.ResourceName + + +

+
+
+
+ Full Usage: + this.ResourceName +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ Indicates the resource the source construct relates to +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+ +

+ + + this.SequenceNumber + + +

+
+
+
+ Full Usage: + this.SequenceNumber +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ Indicates the sequence number of the entity, if any, in a linear sequence of elements with F# source code +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + this.SourceConstructFlags + + +

+
+
+
+ Full Usage: + this.SourceConstructFlags +
+
+ + Returns: + SourceConstructFlags + +
+
+
+
+
+
+ +
+
+

+ Indicates the relationship between the compiled entity and F# source code +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + this.TypeDefinitions + + +

+
+
+
+ Full Usage: + this.TypeDefinitions +
+
+ + Returns: + Type array + +
+
+
+
+
+
+ +
+
+

+ Indicates the type definitions needed to resolve the source construct +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type array +
+
+
+
+
+
+ +

+ + + this.VariantNumber + + +

+
+
+
+ Full Usage: + this.VariantNumber +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ Indicates the variant number of the entity, if any, in a linear sequence of elements with F# source code +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilationrepresentationattribute.html b/reference/fsharp-core-compilationrepresentationattribute.html new file mode 100644 index 000000000..7dfa68588 --- /dev/null +++ b/reference/fsharp-core-compilationrepresentationattribute.html @@ -0,0 +1,482 @@ + + + + + + + + + + + + + + + + + + CompilationRepresentationAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CompilationRepresentationAttribute Type +

+ +
+
+
+

+ 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. + +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CompilationRepresentationAttribute(flags) + + +

+
+
+
+ Full Usage: + CompilationRepresentationAttribute(flags) +
+
+ Parameters: + +
+ + Returns: + CompilationRepresentationAttribute + + CompilationRepresentationAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + flags + + : + CompilationRepresentationFlags +
+
+

+ Indicates adjustments to the compiled representation of the type or member. +

+
+
+
+
+ + Returns: + + CompilationRepresentationAttribute +
+
+

+ CompilationRepresentationAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Flags + + +

+
+
+
+ Full Usage: + this.Flags +
+
+ + Returns: + CompilationRepresentationFlags + +
+
+
+
+
+
+ +
+
+

+ Indicates one or more adjustments to the compiled representation of an F# type or member +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + CompilationRepresentationFlags +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilationrepresentationflags.html b/reference/fsharp-core-compilationrepresentationflags.html new file mode 100644 index 000000000..ad70c65b5 --- /dev/null +++ b/reference/fsharp-core-compilationrepresentationflags.html @@ -0,0 +1,666 @@ + + + + + + + + + + + + + + + + + + CompilationRepresentationFlags (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CompilationRepresentationFlags Type +

+ +
+
+
+

+ Indicates one or more adjustments to the compiled representation of an F# type or member. +

+
+
+
+
+
+
+
+
+

+ Record fields +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Record Field + + Description + +
+
+ +

+ + + Event + + +

+
+
+
+ Full Usage: + Event +
+
+ + Field type: + CompilationRepresentationFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Compile a property as a CLI event. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + CompilationRepresentationFlags +
+
+
+
+
+
+ +

+ + + Instance + + +

+
+
+
+ Full Usage: + Instance +
+
+ + Field type: + CompilationRepresentationFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Compile a member as 'instance' even if null is used as a representation for this type. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + CompilationRepresentationFlags +
+
+
+
+
+
+ +

+ + + ModuleSuffix + + +

+
+
+
+ Full Usage: + ModuleSuffix +
+
+ + Field type: + CompilationRepresentationFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ append 'Module' to the end of a module whose name clashes with a type name in the same namespace. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + CompilationRepresentationFlags +
+
+
+
+
+
+ +

+ + + None + + +

+
+
+
+ Full Usage: + None +
+
+ + Field type: + CompilationRepresentationFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ No special compilation representation. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + CompilationRepresentationFlags +
+
+
+
+
+
+ +

+ + + Static + + +

+
+
+
+ Full Usage: + Static +
+
+ + Field type: + CompilationRepresentationFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Compile an instance member as 'static' . +

+
+
+ + + +
+
+
+
+
+ + Field type: + + CompilationRepresentationFlags +
+
+
+
+
+
+ +

+ + + UseNullAsTrueValue + + +

+
+
+
+ Full Usage: + UseNullAsTrueValue +
+
+ + Field type: + CompilationRepresentationFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Permit the use of null as a representation for nullary discriminators in a discriminated union. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + CompilationRepresentationFlags +
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilationsourcenameattribute.html b/reference/fsharp-core-compilationsourcenameattribute.html new file mode 100644 index 000000000..32f6448c3 --- /dev/null +++ b/reference/fsharp-core-compilationsourcenameattribute.html @@ -0,0 +1,486 @@ + + + + + + + + + + + + + + + + + + CompilationSourceNameAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CompilationSourceNameAttribute Type +

+ +
+
+
+

+ This attribute is inserted automatically by the F# compiler to tag + methods which are given the 'CompiledName' attribute. +

+
+
+

+ This attribute is used by the functions in the + FSharp.Reflection namespace to reverse-map compiled constructs to + their original forms. It is not intended for use from user code. + +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CompilationSourceNameAttribute(sourceName) + + +

+
+
+
+ Full Usage: + CompilationSourceNameAttribute(sourceName) +
+
+ Parameters: +
    + + + sourceName + + : + string + - + The name of the method in source. + +
    +
+
+ + Returns: + CompilationSourceNameAttribute + + CompilationSourceNameAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + sourceName + + : + string +
+
+

+ The name of the method in source. +

+
+
+
+
+ + Returns: + + CompilationSourceNameAttribute +
+
+

+ CompilationSourceNameAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.SourceName + + +

+
+
+
+ Full Usage: + this.SourceName +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ Indicates the name of the entity in F# source code +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilednameattribute.html b/reference/fsharp-core-compilednameattribute.html new file mode 100644 index 000000000..cb69cd353 --- /dev/null +++ b/reference/fsharp-core-compilednameattribute.html @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + CompiledNameAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CompiledNameAttribute Type +

+ +
+
+
+

+ Adding this attribute to a value or function definition in an F# module changes the name used + for the value in compiled CLI code. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CompiledNameAttribute(compiledName) + + +

+
+
+
+ Full Usage: + CompiledNameAttribute(compiledName) +
+
+ Parameters: +
    + + + compiledName + + : + string + - + The name to use in compiled code. + +
    +
+
+ + Returns: + CompiledNameAttribute + + CompiledNameAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + compiledName + + : + string +
+
+

+ The name to use in compiled code. +

+
+
+
+
+ + Returns: + + CompiledNameAttribute +
+
+

+ CompiledNameAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CompiledName + + +

+
+
+
+ Full Usage: + this.CompiledName +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The name of the value as it appears in compiled code +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilermessageattribute.html b/reference/fsharp-core-compilermessageattribute.html new file mode 100644 index 000000000..f5b5c15a6 --- /dev/null +++ b/reference/fsharp-core-compilermessageattribute.html @@ -0,0 +1,628 @@ + + + + + + + + + + + + + + + + + + CompilerMessageAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CompilerMessageAttribute Type +

+ +
+
+
+

+ Indicates that a message should be emitted when F# source code uses this construct. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CompilerMessageAttribute(message, messageNumber) + + +

+
+
+
+ Full Usage: + CompilerMessageAttribute(message, messageNumber) +
+
+ Parameters: +
    + + + message + + : + string + +
    + + + messageNumber + + : + int + +
    +
+
+ + Returns: + CompilerMessageAttribute + +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute. +

+
+
+ + + + + +
+
+
+
+
+ + message + + : + string +
+
+
+ + messageNumber + + : + int +
+
+
+
+
+ + Returns: + + CompilerMessageAttribute +
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsError + + +

+
+
+
+ Full Usage: + this.IsError +
+
+
+
+
+
+
+
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.
+
+ + + + + +
+
+
+
+ +

+ + + this.IsHidden + + +

+
+
+
+ Full Usage: + this.IsHidden +
+
+
+
+
+
+
+
+

+ Indicates if the construct should always be hidden in an editing environment. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.Message + + +

+
+
+
+ Full Usage: + this.Message +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ Indicates the warning message to be emitted when F# source code uses this construct +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+ +

+ + + this.MessageNumber + + +

+
+
+
+ Full Usage: + this.MessageNumber +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ Indicates the number associated with the message. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-aftercode-2.html b/reference/fsharp-core-compilerservices-aftercode-2.html new file mode 100644 index 000000000..f400ee6b2 --- /dev/null +++ b/reference/fsharp-core-compilerservices-aftercode-2.html @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + AfterCode<'Data, 'Result> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ AfterCode<'Data, 'Result> Type +

+ +
+
+
+

+ Defines the implementation of the code run after the creation of a struct state machine. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: + +
+ + Returns: + 'Result + +
+ Modifiers: + abstract +
+
+
+
+
+
+
+ + + +
+
+
+ + arg0 + + : + byref<ResumableStateMachine<'Data>> +
+
+
+
+
+ + Returns: + + 'Result +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-arraycollector-1.html b/reference/fsharp-core-compilerservices-arraycollector-1.html new file mode 100644 index 000000000..69b1c116d --- /dev/null +++ b/reference/fsharp-core-compilerservices-arraycollector-1.html @@ -0,0 +1,802 @@ + + + + + + + + + + + + + + + + + + ArrayCollector<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ArrayCollector<'T> Type +

+ +
+
+
+

+ Collects elements and builds an array +

+
+
+
+
+
+
+
+
+

+ Record fields +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Record Field + + Description + +
+
+ +

+ + + Count + + +

+
+
+
+ Full Usage: + Count +
+
+ + Field type: + int + +
+ Modifiers: + mutable +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + int +
+
+
+
+
+
+ +

+ + + First + + +

+
+
+
+ Full Usage: + First +
+
+ + Field type: + 'T + +
+ Modifiers: + mutable +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + 'T +
+
+
+
+
+
+ +

+ + + ResizeArray + + +

+
+
+
+ Full Usage: + ResizeArray +
+
+ + Field type: + ResizeArray<'T> + +
+ Modifiers: + mutable +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + ResizeArray<'T> +
+
+
+
+
+
+ +

+ + + Second + + +

+
+
+
+ Full Usage: + Second +
+
+ + Field type: + 'T + +
+ Modifiers: + mutable +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + 'T +
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Add + + +

+
+
+
+ Full Usage: + this.Add +
+
+ Parameters: +
    + + + value + + : + 'T + +
    +
+
+
+
+
+
+
+ +
+
+

+ Add an element to the collector +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+
+
+
+
+ +

+ + + this.AddMany + + +

+
+
+
+ Full Usage: + this.AddMany +
+
+ Parameters: +
    + + + values + + : + 'T seq + +
    +
+
+
+
+
+
+
+ +
+
+

+ Add multiple elements to the collector +

+
+
+ + + + + +
+
+
+
+
+ + values + + : + 'T seq +
+
+
+
+
+
+ +

+ + + this.AddManyAndClose + + +

+
+
+
+ Full Usage: + this.AddManyAndClose +
+
+ Parameters: +
    + + + values + + : + 'T seq + +
    +
+
+ + Returns: + 'T array + +
+
+
+
+
+
+ +
+
+

+ Add multiple elements to the collector and return the resulting array +

+
+
+ + + + + +
+
+
+
+
+ + values + + : + 'T seq +
+
+
+
+
+ + Returns: + + 'T array +
+
+
+
+
+
+ +

+ + + this.Close + + +

+
+
+
+ Full Usage: + this.Close +
+
+ + Returns: + 'T array + +
+
+
+
+
+
+ +
+
+

+ Return the resulting list +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T array +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-generatedsequencebase-1.html b/reference/fsharp-core-compilerservices-generatedsequencebase-1.html new file mode 100644 index 000000000..0b7cc3e8a --- /dev/null +++ b/reference/fsharp-core-compilerservices-generatedsequencebase-1.html @@ -0,0 +1,739 @@ + + + + + + + + + + + + + + + + + + GeneratedSequenceBase<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ GeneratedSequenceBase<'T> Type +

+ +
+
+
+

+ The F# compiler emits implementations of this type for compiled sequence expressions. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + GeneratedSequenceBase() + + +

+
+
+
+ Full Usage: + GeneratedSequenceBase() +
+
+ + Returns: + GeneratedSequenceBase<'T> + + A new sequence generator for the expression. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits implementations of this type for compiled sequence expressions. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + GeneratedSequenceBase<'T> +
+
+

+ A new sequence generator for the expression. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CheckClose + + +

+
+
+
+ Full Usage: + this.CheckClose +
+
+ + Returns: + bool + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits implementations of this type for compiled sequence expressions. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.Close + + +

+
+
+
+ Full Usage: + this.Close +
+
+ Modifiers: + abstract +
+
+
+
+
+
+
+

+ The F# compiler emits implementations of this type for compiled sequence expressions. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.GenerateNext + + +

+
+
+
+ Full Usage: + this.GenerateNext +
+
+ Parameters: +
    + + + result + + : + byref<IEnumerable<'T>> + - + A reference to the sequence. + +
    +
+
+ + Returns: + int + + A 0, 1, and 2 respectively indicate Stop, Yield, and Goto conditions for the sequence generator. +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits implementations of this type for compiled sequence expressions. +

+
+
+ + + + + +
+
+
+
+
+ + result + + : + byref<IEnumerable<'T>> +
+
+

+ A reference to the sequence. +

+
+
+
+
+ + Returns: + + int +
+
+

+ A 0, 1, and 2 respectively indicate Stop, Yield, and Goto conditions for the sequence generator. +

+
+
+
+
+
+ +

+ + + this.GetFreshEnumerator + + +

+
+
+
+ Full Usage: + this.GetFreshEnumerator +
+
+ + Returns: + IEnumerator<'T> + + A new enumerator for the sequence. +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits implementations of this type for compiled sequence expressions. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEnumerator<'T> +
+
+

+ A new enumerator for the sequence. +

+
+
+
+
+
+ +

+ + + this.LastGenerated + + +

+
+
+
+ Full Usage: + this.LastGenerated +
+
+ + Returns: + 'T + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits implementations of this type for compiled sequence expressions. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-iprovidednamespace.html b/reference/fsharp-core-compilerservices-iprovidednamespace.html new file mode 100644 index 000000000..c2f35e016 --- /dev/null +++ b/reference/fsharp-core-compilerservices-iprovidednamespace.html @@ -0,0 +1,602 @@ + + + + + + + + + + + + + + + + + + IProvidedNamespace (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ IProvidedNamespace Type +

+ +
+
+
+

+ Represents a namespace provided by a type provider component. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.GetNestedNamespaces + + +

+
+
+
+ Full Usage: + this.GetNestedNamespaces +
+
+ + Returns: + IProvidedNamespace array + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ The sub-namespaces in this namespace. An optional member to prevent generation of namespaces until an outer namespace is explored. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IProvidedNamespace array +
+
+
+
+
+
+ +

+ + + this.GetTypes + + +

+
+
+
+ Full Usage: + this.GetTypes +
+
+ + Returns: + Type array + + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ + The top-level types + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type array +
+
+

+ +

+
+
+
+
+
+ +

+ + + this.NamespaceName + + +

+
+
+
+ Full Usage: + this.NamespaceName +
+
+ + Returns: + string + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Namespace name the provider injects types into. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+ +

+ + + this.ResolveTypeName + + +

+
+
+
+ Full Usage: + this.ResolveTypeName +
+
+ Parameters: +
    + + + typeName + + : + string + +
    +
+
+ + Returns: + Type + + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ + 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. + +

+
+
+ + typeName + + : + string +
+
+
+
+
+ + Returns: + + Type +
+
+

+ +

+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-iresumablestatemachine-1.html b/reference/fsharp-core-compilerservices-iresumablestatemachine-1.html new file mode 100644 index 000000000..83e128f60 --- /dev/null +++ b/reference/fsharp-core-compilerservices-iresumablestatemachine-1.html @@ -0,0 +1,416 @@ + + + + + + + + + + + + + + + + + + IResumableStateMachine<'Data> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ IResumableStateMachine<'Data> Type +

+ +
+
+
+

+ +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Data + + +

+
+
+
+ Full Usage: + this.Data +
+
+ Modifiers: + abstract +
+
+
+
+
+
+
+

+ Copy-out or copy-in the data of the state machine +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.ResumptionPoint + + +

+
+
+
+ Full Usage: + this.ResumptionPoint +
+
+ + Returns: + int + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Get the resumption point of the state machine +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-itypeprovider.html b/reference/fsharp-core-compilerservices-itypeprovider.html new file mode 100644 index 000000000..80fa69876 --- /dev/null +++ b/reference/fsharp-core-compilerservices-itypeprovider.html @@ -0,0 +1,888 @@ + + + + + + + + + + + + + + + + + + ITypeProvider (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ITypeProvider Type +

+ +
+
+
+

+ Represents an instantiation of a type provider component. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.ApplyStaticArguments + + +

+
+
+
+ Full Usage: + this.ApplyStaticArguments +
+
+ Parameters: +
    + + + typeWithoutArguments + + : + Type + - + the provided type definition which has static parameters + +
    + + + typePathWithArguments + + : + string array + - + the full path of the type, including encoded representations of static parameters + +
    + + + staticArguments + + : + objnull array + - + the static parameters, indexed by name + +
    +
+
+ + Returns: + Type + + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ + Apply static arguments to a provided type that accepts static arguments. + +

+
+
+ + + + + +
+
+
+

+ The provider must return a type with the given mangled name. +

+
+
+ + typeWithoutArguments + + : + Type +
+
+

+ the provided type definition which has static parameters +

+
+
+ + typePathWithArguments + + : + string array +
+
+

+ the full path of the type, including encoded representations of static parameters +

+
+
+ + staticArguments + + : + objnull array +
+
+

+ the static parameters, indexed by name +

+
+
+
+
+ + Returns: + + Type +
+
+

+ +

+
+
+
+
+
+ +

+ + + this.GetGeneratedAssemblyContents + + +

+
+
+
+ Full Usage: + this.GetGeneratedAssemblyContents +
+
+ Parameters: + +
+ + Returns: + byte array + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Get the physical contents of the given logical provided assembly. +

+
+
+ + + + + +
+
+
+
+
+ + assembly + + : + Assembly +
+
+
+
+
+ + Returns: + + byte array +
+
+
+
+
+
+ +

+ + + this.GetInvokerExpression + + +

+
+
+
+ Full Usage: + this.GetInvokerExpression +
+
+ Parameters: +
    + + + syntheticMethodBase + + : + MethodBase + - + MethodBase that was given to the compiler by a type returned by a GetType(s) call. + +
    + + + parameters + + : + Expr array + - + Expressions that represent the parameters to this call. + +
    +
+
+ + Returns: + Expr + + An expression that the compiler will use in place of the given method base. +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ + Called by the compiler to ask for an Expression tree to replace the given MethodBase with. + +

+
+
+ + + + + +
+
+
+
+
+ + syntheticMethodBase + + : + MethodBase +
+
+

+ MethodBase that was given to the compiler by a type returned by a GetType(s) call. +

+
+
+ + parameters + + : + Expr array +
+
+

+ Expressions that represent the parameters to this call. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ An expression that the compiler will use in place of the given method base. +

+
+
+
+
+
+ +

+ + + this.GetNamespaces + + +

+
+
+
+ Full Usage: + this.GetNamespaces +
+
+ + Returns: + IProvidedNamespace array + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Gets the namespaces provided by the type provider. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IProvidedNamespace array +
+
+
+
+
+
+ +

+ + + this.GetStaticParameters + + +

+
+
+
+ Full Usage: + this.GetStaticParameters +
+
+ Parameters: +
    + + + typeWithoutArguments + + : + Type + - + A type returned by GetTypes or ResolveTypeName + +
    +
+
+ + Returns: + ParameterInfo array + + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ + Get the static parameters for a provided type. + +

+
+
+ + + + + +
+
+
+
+
+ + typeWithoutArguments + + : + Type +
+
+

+ A type returned by GetTypes or ResolveTypeName +

+
+
+
+
+ + Returns: + + ParameterInfo array +
+
+

+ +

+
+
+
+
+
+ +

+ + + this.Invalidate + + +

+
+
+
+ Full Usage: + this.Invalidate +
+
+ + Returns: + IEvent<EventHandler, EventArgs> + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Triggered when an assumption changes that invalidates the resolutions so far reported by the provider +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEvent<EventHandler, EventArgs> +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-itypeprovider2.html b/reference/fsharp-core-compilerservices-itypeprovider2.html new file mode 100644 index 000000000..a6f0709db --- /dev/null +++ b/reference/fsharp-core-compilerservices-itypeprovider2.html @@ -0,0 +1,551 @@ + + + + + + + + + + + + + + + + + + ITypeProvider2 (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ITypeProvider2 Type +

+ +
+
+
+

+ Represents additional, optional information for a type provider component +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.ApplyStaticArgumentsForMethod + + +

+
+
+
+ Full Usage: + this.ApplyStaticArgumentsForMethod +
+
+ Parameters: +
    + + + methodWithoutArguments + + : + MethodBase + - + the provided method definition which has static parameters + +
    + + + methodNameWithArguments + + : + string + - + the full name of the method that must be returned, including encoded representations of static parameters + +
    + + + staticArguments + + : + objnull array + - + the values of the static parameters, indexed by name + +
    +
+
+ + Returns: + MethodBase + + The provided method definition corresponding to the given static parameter values +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ + Apply static arguments to a provided method that accepts static arguments. + +

+
+
+ + + + + +
+
+
+

+ The provider must return a provided method with the given mangled name. +

+
+
+ + methodWithoutArguments + + : + MethodBase +
+
+

+ the provided method definition which has static parameters +

+
+
+ + methodNameWithArguments + + : + string +
+
+

+ the full name of the method that must be returned, including encoded representations of static parameters +

+
+
+ + staticArguments + + : + objnull array +
+
+

+ the values of the static parameters, indexed by name +

+
+
+
+
+ + Returns: + + MethodBase +
+
+

+ The provided method definition corresponding to the given static parameter values +

+
+
+
+
+
+ +

+ + + this.GetStaticParametersForMethod + + +

+
+
+
+ Full Usage: + this.GetStaticParametersForMethod +
+
+ Parameters: +
    + + + methodWithoutArguments + + : + MethodBase + - + A method returned by GetMethod on a provided type + +
    +
+
+ + Returns: + ParameterInfo array + + The static parameters of the provided method, if any +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ + Get the static parameters for a provided method. + +

+
+
+ + + + + +
+
+
+
+
+ + methodWithoutArguments + + : + MethodBase +
+
+

+ A method returned by GetMethod on a provided type +

+
+
+
+
+ + Returns: + + ParameterInfo array +
+
+

+ The static parameters of the provided method, if any +

+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-listcollector-1.html b/reference/fsharp-core-compilerservices-listcollector-1.html new file mode 100644 index 000000000..2cdaf94fd --- /dev/null +++ b/reference/fsharp-core-compilerservices-listcollector-1.html @@ -0,0 +1,704 @@ + + + + + + + + + + + + + + + + + + ListCollector<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ListCollector<'T> Type +

+ +
+
+
+

+ Collects elements and builds a list +

+
+
+
+
+
+
+
+
+

+ Record fields +

+ + + + + + + + + + + + + + + + + +
+ Record Field + + Description + +
+
+ +

+ + + LastCons + + +

+
+
+
+ Full Usage: + LastCons +
+
+ + Field type: + 'T list + +
+ Modifiers: + mutable +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + 'T list +
+
+
+
+
+
+ +

+ + + Result + + +

+
+
+
+ Full Usage: + Result +
+
+ + Field type: + 'T list + +
+ Modifiers: + mutable +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + 'T list +
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Add + + +

+
+
+
+ Full Usage: + this.Add +
+
+ Parameters: +
    + + + value + + : + 'T + +
    +
+
+
+
+
+
+
+ +
+
+

+ Add an element to the collector +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+
+
+
+
+ +

+ + + this.AddMany + + +

+
+
+
+ Full Usage: + this.AddMany +
+
+ Parameters: +
    + + + values + + : + 'T seq + +
    +
+
+
+
+
+
+
+ +
+
+

+ Add multiple elements to the collector +

+
+
+ + + + + +
+
+
+
+
+ + values + + : + 'T seq +
+
+
+
+
+
+ +

+ + + this.AddManyAndClose + + +

+
+
+
+ Full Usage: + this.AddManyAndClose +
+
+ Parameters: +
    + + + values + + : + 'T seq + +
    +
+
+ + Returns: + 'T list + +
+
+
+
+
+
+ +
+
+

+ Add multiple elements to the collector and return the resulting list +

+
+
+ + + + + +
+
+
+
+
+ + values + + : + 'T seq +
+
+
+
+
+ + Returns: + + 'T list +
+
+
+
+
+
+ +

+ + + this.Close + + +

+
+
+
+ Full Usage: + this.Close +
+
+ + Returns: + 'T list + +
+
+
+
+
+
+ +
+
+

+ Return the resulting list +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T list +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-measureinverse-1.html b/reference/fsharp-core-compilerservices-measureinverse-1.html new file mode 100644 index 000000000..bb6ba28ae --- /dev/null +++ b/reference/fsharp-core-compilerservices-measureinverse-1.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + MeasureInverse<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ MeasureInverse<'Measure> Type +

+ +
+
+
+

+ Represents the inverse of a measure expressions when returned as a generic argument of a provided type. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-measureone.html b/reference/fsharp-core-compilerservices-measureone.html new file mode 100644 index 000000000..235b3e1f6 --- /dev/null +++ b/reference/fsharp-core-compilerservices-measureone.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + MeasureOne (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ MeasureOne Type +

+ +
+
+
+

+ Represents the '1' measure expression when returned as a generic argument of a provided type. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-measureproduct-2.html b/reference/fsharp-core-compilerservices-measureproduct-2.html new file mode 100644 index 000000000..006233d16 --- /dev/null +++ b/reference/fsharp-core-compilerservices-measureproduct-2.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + MeasureProduct<'Measure1, 'Measure2> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ MeasureProduct<'Measure1, 'Measure2> Type +

+ +
+
+
+

+ Represents the product of two measure expressions when returned as a generic argument of a provided type. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-movenextmethodimpl-1.html b/reference/fsharp-core-compilerservices-movenextmethodimpl-1.html new file mode 100644 index 000000000..af1d01e9a --- /dev/null +++ b/reference/fsharp-core-compilerservices-movenextmethodimpl-1.html @@ -0,0 +1,369 @@ + + + + + + + + + + + + + + + + + + MoveNextMethodImpl<'Data> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ MoveNextMethodImpl<'Data> Type +

+ +
+
+
+

+ Defines the implementation of the MoveNext method for a struct state machine. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: + +
+ Modifiers: + abstract +
+
+
+
+
+
+
+ + + +
+
+
+ + arg0 + + : + byref<ResumableStateMachine<'Data>> +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-noeagerconstraintapplicationattribute.html b/reference/fsharp-core-compilerservices-noeagerconstraintapplicationattribute.html new file mode 100644 index 000000000..977238912 --- /dev/null +++ b/reference/fsharp-core-compilerservices-noeagerconstraintapplicationattribute.html @@ -0,0 +1,417 @@ + + + + + + + + + + + + + + + + + + NoEagerConstraintApplicationAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ NoEagerConstraintApplicationAttribute Type +

+ +
+
+
+

+ Adding this attribute to the method adjusts the processing of some generic methods + during overload resolution. +

+
+
+

+ During overload resolution, caller arguments are matched with called arguments + to extract type information. By default, when the caller argument type is unconstrained (for example + a simple value x without known type information), and a method qualifies for + lambda constraint propagation, then member trait constraints from a method overload + are eagerly applied to the caller argument type. This causes that overload to be preferred, + regardless of other method overload resolution rules. Using this attribute suppresses this behaviour. + +

+
+ Example +
+

+ + Consider the following overloads: +

 type OverloadsWithSrtp() =
+     [<NoEagerConstraintApplicationAttribute>]
+     static member inline SomeMethod< ^T when ^T : (member Number: int) > (x: ^T, f: ^T -> int) = 1
+     static member SomeMethod(x: 'T list, f: 'T list -> int) = 2
+ 
+ let inline f x = 
+     OverloadsWithSrtp.SomeMethod (x, (fun a -> 1))
+
+
Multiple items
type OverloadsWithSrtp = + new: unit -> OverloadsWithSrtp + static member SomeMethod: x: 'T list * f: ('T list -> int) -> int + 1 overload

--------------------
new: unit -> OverloadsWithSrtp
+
'T
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val x: 'T (requires member Number)
+
val f: ('T -> int) (requires member Number)
+
val x: 'T list
+
type 'T list = List<'T>
+
val f: ('T list -> int)
+
val f: x: 'a -> int (requires member Number)
+
val x: 'a (requires member Number)
+
static member OverloadsWithSrtp.SomeMethod: x: 'T * f: ('T -> int) -> int (requires member Number)
static member OverloadsWithSrtp.SomeMethod: x: 'T list * f: ('T list -> int) -> int
+
val a: 'a (requires member Number)
+ + + With the attribute, the overload resolution fails, because both members are applicable. + Without the attribute, the overload resolution succeeds, because the member constraint is + eagerly applied, making the second member non-applicable. + +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + NoEagerConstraintApplicationAttribute() + + +

+
+
+
+ Full Usage: + NoEagerConstraintApplicationAttribute() +
+
+ + Returns: + NoEagerConstraintApplicationAttribute + + NoEagerConstraintApplicationAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + NoEagerConstraintApplicationAttribute +
+
+

+ NoEagerConstraintApplicationAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-resumablecode-2.html b/reference/fsharp-core-compilerservices-resumablecode-2.html new file mode 100644 index 000000000..5cecdd17a --- /dev/null +++ b/reference/fsharp-core-compilerservices-resumablecode-2.html @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + + + + + ResumableCode<'Data, 'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ResumableCode<'Data, 'T> Type +

+ +
+
+
+

+ A special compiler-recognised delegate type for specifying blocks of resumable code + with access to the state machine. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: + +
+ + Returns: + bool + +
+ Modifiers: + abstract +
+
+
+
+
+
+
+ + + +
+
+
+ + arg0 + + : + byref<ResumableStateMachine<'Data>> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-resumablecode.html b/reference/fsharp-core-compilerservices-resumablecode.html new file mode 100644 index 000000000..95e731959 --- /dev/null +++ b/reference/fsharp-core-compilerservices-resumablecode.html @@ -0,0 +1,1833 @@ + + + + + + + + + + + + + + + + + + ResumableCode (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ResumableCode Module +

+ +
+
+
+

+ Contains functions for composing resumable code blocks +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + ResumableCode.Combine (code1, code2) + + +

+
+
+
+ Full Usage: + ResumableCode.Combine (code1, code2) +
+
+ Parameters: + +
+ + Returns: + ResumableCode<'Data, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'Data, 'T +
+
+
+
+
+ +
+
+

+ Sequences one section of resumable code after another +

+
+
+ + + + + +
+
+
+
+
+ + code1 + + : + ResumableCode<'Data, unit> +
+
+
+ + code2 + + : + ResumableCode<'Data, 'T> +
+
+
+
+
+ + Returns: + + ResumableCode<'Data, 'T> +
+
+
+
+
+
+ +

+ + + ResumableCode.CombineDynamic (sm, code1, code2) + + +

+
+
+
+ Full Usage: + ResumableCode.CombineDynamic (sm, code1, code2) +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The dynamic implementation of the corresponding operation. This operation should not be used directly. +

+
+
+ + + + + +
+
+
+
+
+ + sm + + : + byref<ResumableStateMachine<'Data>> +
+
+
+ + code1 + + : + ResumableCode<'Data, unit> +
+
+
+ + code2 + + : + ResumableCode<'Data, 'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + ResumableCode.Delay f + + +

+
+
+
+ Full Usage: + ResumableCode.Delay f +
+
+ Parameters: + +
+ + Returns: + ResumableCode<'Data, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'Data, 'T +
+
+
+
+
+ +
+
+

+ Creates resumable code whose definition is a delayed function +

+
+
+ + + + + +
+
+
+
+
+ + f + + : + unit -> ResumableCode<'Data, 'T> +
+
+
+
+
+ + Returns: + + ResumableCode<'Data, 'T> +
+
+
+
+
+
+ +

+ + + ResumableCode.For (sequence, body) + + +

+
+
+
+ Full Usage: + ResumableCode.For (sequence, body) +
+
+ Parameters: + +
+ + Returns: + ResumableCode<'Data, unit> + +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Data +
+
+
+
+
+ +
+
+

+ Specifies resumable code which iterates an input sequence +

+
+
+ + + + + +
+
+
+
+
+ + sequence + + : + 'T seq +
+
+
+ + body + + : + 'T -> ResumableCode<'Data, unit> +
+
+
+
+
+ + Returns: + + ResumableCode<'Data, unit> +
+
+
+
+
+
+ +

+ + + ResumableCode.TryFinally (body, compensation) + + +

+
+
+
+ Full Usage: + ResumableCode.TryFinally (body, compensation) +
+
+ Parameters: + +
+ + Returns: + ResumableCode<'Data, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'Data, 'T +
+
+
+
+
+ +
+
+

+ Specifies resumable code which executes with try/finally semantics +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + ResumableCode<'Data, 'T> +
+
+
+ + compensation + + : + ResumableCode<'Data, unit> +
+
+
+
+
+ + Returns: + + ResumableCode<'Data, 'T> +
+
+
+
+
+
+ +

+ + + ResumableCode.TryFinallyAsync (body, compensation) + + +

+
+
+
+ Full Usage: + ResumableCode.TryFinallyAsync (body, compensation) +
+
+ Parameters: + +
+ + Returns: + ResumableCode<'Data, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'Data, 'T +
+
+
+
+
+ +
+
+

+ Specifies resumable code which executes with try/finally semantics +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + ResumableCode<'Data, 'T> +
+
+
+ + compensation + + : + ResumableCode<'Data, unit> +
+
+
+
+
+ + Returns: + + ResumableCode<'Data, 'T> +
+
+
+
+
+
+ +

+ + + ResumableCode.TryFinallyAsyncDynamic (sm, body, compensation) + + +

+
+
+
+ Full Usage: + ResumableCode.TryFinallyAsyncDynamic (sm, body, compensation) +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The dynamic implementation of the corresponding operation. This operation should not be used directly. +

+
+
+ + + + + +
+
+
+
+
+ + sm + + : + byref<ResumableStateMachine<'Data>> +
+
+
+ + body + + : + ResumableCode<'Data, 'T> +
+
+
+ + compensation + + : + ResumableCode<'Data, unit> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + ResumableCode.TryWith (body, catch) + + +

+
+
+
+ Full Usage: + ResumableCode.TryWith (body, catch) +
+
+ Parameters: + +
+ + Returns: + ResumableCode<'Data, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'Data, 'T +
+
+
+
+
+ +
+
+

+ Specifies resumable code which executes with try/with semantics +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + ResumableCode<'Data, 'T> +
+
+
+ + catch + + : + exn -> ResumableCode<'Data, 'T> +
+
+
+
+
+ + Returns: + + ResumableCode<'Data, 'T> +
+
+
+
+
+
+ +

+ + + ResumableCode.TryWithDynamic (sm, body, handler) + + +

+
+
+
+ Full Usage: + ResumableCode.TryWithDynamic (sm, body, handler) +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The dynamic implementation of the corresponding operation. This operation should not be used directly. +

+
+
+ + + + + +
+
+
+
+
+ + sm + + : + byref<ResumableStateMachine<'Data>> +
+
+
+ + body + + : + ResumableCode<'Data, 'T> +
+
+
+ + handler + + : + exn -> ResumableCode<'Data, 'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + ResumableCode.Using (resource, body) + + +

+
+
+
+ Full Usage: + ResumableCode.Using (resource, body) +
+
+ Parameters: +
    + + + resource + + : + 'Resource + +
    + + + body + + : + 'Resource -> ResumableCode<'Data, 'T> + +
    +
+
+ + Returns: + ResumableCode<'Data, 'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'Resource, 'Data, 'T +
+
+
+
+
+ +
+
+

+ Specifies resumable code which executes with 'use' semantics +

+
+
+ + + + + +
+
+
+
+
+ + resource + + : + 'Resource +
+
+
+ + body + + : + 'Resource -> ResumableCode<'Data, 'T> +
+
+
+
+
+ + Returns: + + ResumableCode<'Data, 'T> +
+
+
+
+
+
+ +

+ + + ResumableCode.While (condition, body) + + +

+
+
+
+ Full Usage: + ResumableCode.While (condition, body) +
+
+ Parameters: + +
+ + Returns: + ResumableCode<'Data, unit> + +
+ Modifiers: + inline +
+ Type parameters: + 'Data +
+
+
+
+
+ +
+
+

+ Specifies resumable code which executes a loop +

+
+
+ + + + + +
+
+
+
+
+ + condition + + : + unit -> bool +
+
+
+ + body + + : + ResumableCode<'Data, unit> +
+
+
+
+
+ + Returns: + + ResumableCode<'Data, unit> +
+
+
+
+
+
+ +

+ + + ResumableCode.WhileDynamic (sm, condition, body) + + +

+
+
+
+ Full Usage: + ResumableCode.WhileDynamic (sm, condition, body) +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The dynamic implementation of the corresponding operation. This operation should not be used directly. +

+
+
+ + + + + +
+
+
+
+
+ + sm + + : + byref<ResumableStateMachine<'Data>> +
+
+
+ + condition + + : + unit -> bool +
+
+
+ + body + + : + ResumableCode<'Data, unit> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + ResumableCode.Yield () + + +

+
+
+
+ Full Usage: + ResumableCode.Yield () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + ResumableCode<'Data, unit> + +
+ Modifiers: + inline +
+ Type parameters: + 'Data +
+
+
+
+
+ +
+
+

+ Specifies resumable code which iterates yields +

+
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + ResumableCode<'Data, unit> +
+
+
+
+
+
+ +

+ + + ResumableCode.YieldDynamic sm + + +

+
+
+
+ Full Usage: + ResumableCode.YieldDynamic sm +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The dynamic implementation of the corresponding operation. This operation should not be used directly. +

+
+
+ + + + + +
+
+
+
+
+ + sm + + : + byref<ResumableStateMachine<'Data>> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + ResumableCode.Zero () + + +

+
+
+
+ Full Usage: + ResumableCode.Zero () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + ResumableCode<'Data, unit> + +
+ Modifiers: + inline +
+ Type parameters: + 'Data +
+
+
+
+
+ +
+
+

+ Specifies resumable code which does nothing +

+
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + ResumableCode<'Data, unit> +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-resumablestatemachine-1.html b/reference/fsharp-core-compilerservices-resumablestatemachine-1.html new file mode 100644 index 000000000..9ca1e6d4e --- /dev/null +++ b/reference/fsharp-core-compilerservices-resumablestatemachine-1.html @@ -0,0 +1,489 @@ + + + + + + + + + + + + + + + + + + ResumableStateMachine<'Data> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ResumableStateMachine<'Data> Type +

+ +
+
+
+

+ Acts as a template for struct state machines introduced by __stateMachine, and also as a reflective implementation +

+
+
+
+
+
+
+
+
+

+ Record fields +

+ + + + + + + + + + + + + + + + + + + + + +
+ Record Field + + Description + +
+
+ +

+ + + Data + + +

+
+
+
+ Full Usage: + Data +
+
+ + Field type: + 'Data + +
+ Modifiers: + mutable +
+
+
+
+
+
+ +
+
+

+ When statically compiled, holds the data for the state machine +

+
+
+ + + +
+
+
+
+
+ + Field type: + + 'Data +
+
+
+
+
+
+ +

+ + + ResumptionDynamicInfo + + +

+
+
+
+ Full Usage: + ResumptionDynamicInfo +
+
+ + Field type: + ResumptionDynamicInfo<'Data> + +
+ Modifiers: + mutable +
+
+
+
+
+
+ +
+
+

+ Represents the delegated runtime continuation for a resumable state machine created dynamically +

+
+
+ + + +
+
+
+

+ This field is removed from state machines generated using '__stateMachine'. Resumable code + used in state machines which accesses this field will raise a runtime exception. +

+
+
+ + Field type: + + ResumptionDynamicInfo<'Data> +
+
+
+
+
+
+ +

+ + + ResumptionPoint + + +

+
+
+
+ Full Usage: + ResumptionPoint +
+
+ + Field type: + int + +
+ Modifiers: + mutable +
+
+
+
+
+
+ +
+
+

+ When statically compiled, holds the continuation goto-label further execution of the state machine +

+
+
+ + + +
+
+
+
+
+ + Field type: + + int +
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-resumptiondynamicinfo-1.html b/reference/fsharp-core-compilerservices-resumptiondynamicinfo-1.html new file mode 100644 index 000000000..a92382b81 --- /dev/null +++ b/reference/fsharp-core-compilerservices-resumptiondynamicinfo-1.html @@ -0,0 +1,650 @@ + + + + + + + + + + + + + + + + + + ResumptionDynamicInfo<'Data> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ResumptionDynamicInfo<'Data> Type +

+ +
+
+
+

+ Represents the delegated runtime continuation of a resumable state machine created dynamically +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + ResumptionDynamicInfo(initial) + + +

+
+
+
+ Full Usage: + ResumptionDynamicInfo(initial) +
+
+ Parameters: + +
+ + Returns: + ResumptionDynamicInfo<'Data> + +
+
+
+
+
+
+ +
+
+

+ Create dynamic information for a state machine +

+
+
+ + + + + +
+
+
+
+
+ + initial + + : + ResumptionFunc<'Data> +
+
+
+
+
+ + Returns: + + ResumptionDynamicInfo<'Data> +
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.MoveNext + + +

+
+
+
+ Full Usage: + this.MoveNext +
+
+ Parameters: + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Executes the MoveNext implementation of the state machine +

+
+
+ + + + + +
+
+
+
+
+ + machine + + : + byref<ResumableStateMachine<'Data>> +
+
+
+
+
+
+ +

+ + + this.ResumptionData + + +

+
+
+
+ Full Usage: + this.ResumptionData +
+
+
+
+
+
+
+
+

+ Additional data associated with the state machine +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.ResumptionFunc + + +

+
+
+
+ Full Usage: + this.ResumptionFunc +
+
+
+
+
+
+
+
+

+ The continuation of the state machine +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.SetStateMachine + + +

+
+
+
+ Full Usage: + this.SetStateMachine +
+
+ Parameters: + +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Executes the SetStateMachine implementation of the state machine +

+
+
+ + + + + +
+
+
+
+
+ + machine + + : + byref<ResumableStateMachine<'Data>> +
+
+
+ + machineState + + : + IAsyncStateMachine +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-resumptionfunc-1.html b/reference/fsharp-core-compilerservices-resumptionfunc-1.html new file mode 100644 index 000000000..c01abae21 --- /dev/null +++ b/reference/fsharp-core-compilerservices-resumptionfunc-1.html @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + ResumptionFunc<'Data> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ResumptionFunc<'Data> Type +

+ +
+
+
+

+ Represents the runtime continuation of a resumable state machine created dynamically +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: + +
+ + Returns: + bool + +
+ Modifiers: + abstract +
+
+
+
+
+
+
+ + + +
+
+
+ + arg0 + + : + byref<ResumableStateMachine<'Data>> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-runtimehelpers.html b/reference/fsharp-core-compilerservices-runtimehelpers.html new file mode 100644 index 000000000..2ff475f70 --- /dev/null +++ b/reference/fsharp-core-compilerservices-runtimehelpers.html @@ -0,0 +1,1065 @@ + + + + + + + + + + + + + + + + + + RuntimeHelpers (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ RuntimeHelpers Module +

+ +
+
+
+

+ A group of functions used as part of the compiled representation of F# sequence expressions. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + RuntimeHelpers.CreateEvent addHandler removeHandler createHandler + + +

+
+
+
+ Full Usage: + RuntimeHelpers.CreateEvent addHandler removeHandler createHandler +
+
+ Parameters: +
    + + + addHandler + + : + 'Delegate -> unit + - + A function to handle adding a delegate for the event to trigger. + +
    + + + removeHandler + + : + 'Delegate -> unit + - + A function to handle removing a delegate that the event triggers. + +
    + + + createHandler + + : + (objnull -> 'Args -> unit) -> 'Delegate + - + A function to produce the delegate type the event can trigger. + +
    +
+
+ + Returns: + IEvent<'Delegate, 'Args> + + The initialized event. +
+
+
+
+
+
+ +
+
+

+ Creates an anonymous event with the given handlers. +

+
+
+ + + + + +
+
+
+
+
+ + addHandler + + : + 'Delegate -> unit +
+
+

+ A function to handle adding a delegate for the event to trigger. +

+
+
+ + removeHandler + + : + 'Delegate -> unit +
+
+

+ A function to handle removing a delegate that the event triggers. +

+
+
+ + createHandler + + : + (objnull -> 'Args -> unit) -> 'Delegate +
+
+

+ A function to produce the delegate type the event can trigger. +

+
+
+
+
+ + Returns: + + IEvent<'Delegate, 'Args> +
+
+

+ The initialized event. +

+
+
+
+
+
+ +

+ + + RuntimeHelpers.EnumerateFromFunctions create moveNext current + + +

+
+
+
+ Full Usage: + RuntimeHelpers.EnumerateFromFunctions create moveNext current +
+
+ Parameters: +
    + + + create + + : + unit -> 'T + - + An initializer function. + +
    + + + moveNext + + : + 'T -> bool + - + A function to iterate and test if end of sequence is reached. + +
    + + + current + + : + 'T -> 'U + - + A function to retrieve the current element. + +
    +
+
+ + Returns: + 'U seq + + The resulting typed sequence. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement the compiler-intrinsic + conversions from untyped IEnumerable sequences to typed sequences. +

+
+
+ + + + + +
+
+
+
+
+ + create + + : + unit -> 'T +
+
+

+ An initializer function. +

+
+
+ + moveNext + + : + 'T -> bool +
+
+

+ A function to iterate and test if end of sequence is reached. +

+
+
+ + current + + : + 'T -> 'U +
+
+

+ A function to retrieve the current element. +

+
+
+
+
+ + Returns: + + 'U seq +
+
+

+ The resulting typed sequence. +

+
+
+
+
+
+ +

+ + + RuntimeHelpers.EnumerateThenFinally source compensation + + +

+
+
+
+ Full Usage: + RuntimeHelpers.EnumerateThenFinally source compensation +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    + + + compensation + + : + unit -> unit + - + A computation to be included in an enumerator's Dispose method. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to + implement the try/finally operator for F# sequence expressions. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+ + compensation + + : + unit -> unit +
+
+

+ A computation to be included in an enumerator's Dispose method. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+
+
+
+ +

+ + + RuntimeHelpers.EnumerateTryWith source exceptionFilter exceptionHandler + + +

+
+
+
+ Full Usage: + RuntimeHelpers.EnumerateTryWith source exceptionFilter exceptionHandler +
+
+ Parameters: +
    + + + source + + : + 'T seq + - + The input sequence. + +
    + + + exceptionFilter + + : + exn -> int + - + Pattern matches after 'when' converted to return 1 + +
    + + + exceptionHandler + + : + exn -> 'T seq + - + Pattern matches after 'when' with their actual execution code + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to + implement the try/with operator for F# sequence expressions. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+ + exceptionFilter + + : + exn -> int +
+
+

+ Pattern matches after 'when' converted to return 1 +

+
+
+ + exceptionHandler + + : + exn -> 'T seq +
+
+

+ Pattern matches after 'when' with their actual execution code +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+
+
+
+ +

+ + + RuntimeHelpers.EnumerateUsing resource source + + +

+
+
+
+ Full Usage: + RuntimeHelpers.EnumerateUsing resource source +
+
+ Parameters: +
    + + + resource + + : + 'T + - + The resource to be used and disposed. + +
    + + + source + + : + 'T -> 'Collection + - + The input sequence. + +
    +
+
+ + Returns: + 'U seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to implement the use operator for F# sequence + expressions. +

+
+
+ + + + + +
+
+
+
+
+ + resource + + : + 'T +
+
+

+ The resource to be used and disposed. +

+
+
+ + source + + : + 'T -> 'Collection +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'U seq +
+
+

+ The result sequence. +

+
+
+
+
+
+ +

+ + + RuntimeHelpers.EnumerateWhile guard source + + +

+
+
+
+ Full Usage: + RuntimeHelpers.EnumerateWhile guard source +
+
+ Parameters: +
    + + + guard + + : + unit -> bool + - + A function that indicates whether iteration should continue. + +
    + + + source + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ The F# compiler emits calls to this function to + implement the while operator for F# sequence expressions. +

+
+
+ + + + + +
+
+
+
+
+ + guard + + : + unit -> bool +
+
+

+ A function that indicates whether iteration should continue. +

+
+
+ + source + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-setstatemachinemethodimpl-1.html b/reference/fsharp-core-compilerservices-setstatemachinemethodimpl-1.html new file mode 100644 index 000000000..ef68f23b1 --- /dev/null +++ b/reference/fsharp-core-compilerservices-setstatemachinemethodimpl-1.html @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + + + SetStateMachineMethodImpl<'Data> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ SetStateMachineMethodImpl<'Data> Type +

+ +
+
+
+

+ Defines the implementation of the SetStateMachine method for a struct state machine. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: + +
+ Modifiers: + abstract +
+
+
+
+
+
+
+ + + +
+
+
+ + arg0 + + : + byref<ResumableStateMachine<'Data>> +
+
+
+ + arg1 + + : + IAsyncStateMachine +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-statemachinehelpers.html b/reference/fsharp-core-compilerservices-statemachinehelpers.html new file mode 100644 index 000000000..22c476488 --- /dev/null +++ b/reference/fsharp-core-compilerservices-statemachinehelpers.html @@ -0,0 +1,772 @@ + + + + + + + + + + + + + + + + + + StateMachineHelpers (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ StateMachineHelpers Module +

+ +
+
+
+

+ Contains compiler intrinsics related to the definition of state machines. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + __debugPoint arg1 + + +

+
+
+
+ Full Usage: + __debugPoint arg1 +
+
+ Parameters: +
    + + + arg0 + + : + string + +
    +
+
+
+
+
+
+
+ +
+
+

+ + Indicates a named debug point arising from the context of inlined code. + +

+
+
+ + + + + +
+
+
+

+ + Only a limited range of debug point names are supported. + + If the debug point name is the empty string then the range used for the debug point will be + the range of the outermost expression prior to inlining. + + If the debug point name is ForLoop.InOrToKeyword and the code was ultimately + from a for .. in .. do or for .. = .. to .. do construct in a computation expression, + de-sugared to an inlined builder.For call, then the name "ForLoop.InOrToKeyword" can be used. + The range of the debug point will be precisely the range of the in or to keyword. + + If the name doesn't correspond to a known debug point arising from the original source context, then + an opt-in warning 3514 is emitted, and the range used for the debug point will be + the range of the root expression prior to inlining. + +

+
+
+ + arg0 + + : + string +
+
+
+
+
+
+ +

+ + + __resumableEntry () + + +

+
+
+
+ Full Usage: + __resumableEntry () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + int option + +
+
+
+
+
+
+ +
+
+

+ Indicates a resumption point within resumable code +

+
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + int option +
+
+
+
+
+
+ +

+ + + __resumeAt programLabel + + +

+
+
+
+ Full Usage: + __resumeAt programLabel +
+
+ Parameters: +
    + + + programLabel + + : + int + - + + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ + Indicates to jump to a resumption point within resumable code. + This may be the first statement in a MoveNextMethodImpl. + The integer must be a valid resumption point within this resumable code. + +

+
+
+ + + + + +
+
+
+
+
+ + programLabel + + : + int +
+
+

+ +

+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + __stateMachine moveNextMethod setStateMachineMethod afterCode + + +

+
+
+
+ Full Usage: + __stateMachine moveNextMethod setStateMachineMethod afterCode +
+
+ Parameters: +
    + + + moveNextMethod + + : + MoveNextMethodImpl<'Data> + - + Gives the implementation of the MoveNext method on IAsyncStateMachine. + +
    + + + setStateMachineMethod + + : + SetStateMachineMethodImpl<'Data> + - + Gives the implementation of the SetStateMachine method on IAsyncStateMachine. + +
    + + + afterCode + + : + AfterCode<'Data, 'Result> + - + Gives code to execute after the generation of the state machine and to produce the final result. + +
    +
+
+ + Returns: + 'Result + +
+
+
+
+
+
+ +
+
+

+ + Statically generates a closure struct type based on ResumableStateMachine, + At runtime an instance of the new struct type is populated and 'afterMethod' is called + to consume it. + +

+
+
+ + + + + +
+
+
+

+ + At compile-time, the ResumableStateMachine type guides the generation of a new struct type by the F# compiler + with closure-capture fields in a way similar to an object expression. + Any mention of the ResumableStateMachine type in any the 'methods' is rewritten to this + fresh struct type. The 'methods' are used to implement the interfaces on ResumableStateMachine and are also rewritten. + The 'after' method is then executed and must eliminate the ResumableStateMachine. For example, + its return type must not include ResumableStateMachine. + +

+
+
+ + moveNextMethod + + : + MoveNextMethodImpl<'Data> +
+
+

+ Gives the implementation of the MoveNext method on IAsyncStateMachine. +

+
+
+ + setStateMachineMethod + + : + SetStateMachineMethodImpl<'Data> +
+
+

+ Gives the implementation of the SetStateMachine method on IAsyncStateMachine. +

+
+
+ + afterCode + + : + AfterCode<'Data, 'Result> +
+
+

+ Gives code to execute after the generation of the state machine and to produce the final result. +

+
+
+
+
+ + Returns: + + 'Result +
+
+
+
+
+
+ +

+ + + __useResumableCode + + +

+
+
+
+ Full Usage: + __useResumableCode +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ When used in a conditional, statically determines whether the 'then' branch + represents valid resumable code and provides an alternative implementation + if not. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-typeproviderassemblyattribute.html b/reference/fsharp-core-compilerservices-typeproviderassemblyattribute.html new file mode 100644 index 000000000..3385e0f60 --- /dev/null +++ b/reference/fsharp-core-compilerservices-typeproviderassemblyattribute.html @@ -0,0 +1,542 @@ + + + + + + + + + + + + + + + + + + TypeProviderAssemblyAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TypeProviderAssemblyAttribute Type +

+ +
+
+
Place this attribute on a runtime assembly to indicate that there is a corresponding design-time 
+ assembly that contains a type provider. Runtime and design-time assembly may be the same.
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + TypeProviderAssemblyAttribute(assemblyName) + + +

+
+
+
+ Full Usage: + TypeProviderAssemblyAttribute(assemblyName) +
+
+ Parameters: +
    + + + assemblyName + + : + string + - + The name of the design-time assembly for this type provider. + +
    +
+
+ + Returns: + TypeProviderAssemblyAttribute + + TypeProviderAssemblyAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + assemblyName + + : + string +
+
+

+ The name of the design-time assembly for this type provider. +

+
+
+
+
+ + Returns: + + TypeProviderAssemblyAttribute +
+
+

+ TypeProviderAssemblyAttribute +

+
+
+
+
+
+ +

+ + + TypeProviderAssemblyAttribute() + + +

+
+
+
+ Full Usage: + TypeProviderAssemblyAttribute() +
+
+ + Returns: + TypeProviderAssemblyAttribute + + TypeProviderAssemblyAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + TypeProviderAssemblyAttribute +
+
+

+ TypeProviderAssemblyAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.AssemblyName + + +

+
+
+
+ Full Usage: + this.AssemblyName +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ Gets the assembly name. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-typeproviderattribute.html b/reference/fsharp-core-compilerservices-typeproviderattribute.html new file mode 100644 index 000000000..3a30bfecb --- /dev/null +++ b/reference/fsharp-core-compilerservices-typeproviderattribute.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + TypeProviderAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TypeProviderAttribute Type +

+ +
+
+
+

+ Place on a class that implements ITypeProvider to extend the compiler +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + TypeProviderAttribute() + + +

+
+
+
+ Full Usage: + TypeProviderAttribute() +
+
+ + Returns: + TypeProviderAttribute + + TypeProviderAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + TypeProviderAttribute +
+
+

+ TypeProviderAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-typeproviderconfig.html b/reference/fsharp-core-compilerservices-typeproviderconfig.html new file mode 100644 index 000000000..71e51eaaa --- /dev/null +++ b/reference/fsharp-core-compilerservices-typeproviderconfig.html @@ -0,0 +1,888 @@ + + + + + + + + + + + + + + + + + + TypeProviderConfig (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TypeProviderConfig Type +

+ +
+
+
+

+ If the class that implements ITypeProvider has a constructor that accepts TypeProviderConfig + then it will be constructed with an instance of TypeProviderConfig. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + TypeProviderConfig(systemRuntimeContainsType, getReferencedAssemblies) + + +

+
+
+
+ Full Usage: + TypeProviderConfig(systemRuntimeContainsType, getReferencedAssemblies) +
+
+ Parameters: +
    + + + systemRuntimeContainsType + + : + string -> bool + +
    + + + getReferencedAssemblies + + : + unit -> string array + +
    +
+
+ + Returns: + TypeProviderConfig + +
+
+
+
+
+
+ +
+
+

+ Create a configuration which calls the given functions for the corresponding operation. +

+
+
+ + + + + +
+
+
+
+
+ + systemRuntimeContainsType + + : + string -> bool +
+
+
+ + getReferencedAssemblies + + : + unit -> string array +
+
+
+
+
+ + Returns: + + TypeProviderConfig +
+
+
+
+
+
+ +

+ + + TypeProviderConfig(systemRuntimeContainsType) + + +

+
+
+
+ Full Usage: + TypeProviderConfig(systemRuntimeContainsType) +
+
+ Parameters: +
    + + + systemRuntimeContainsType + + : + string -> bool + +
    +
+
+ + Returns: + TypeProviderConfig + +
+
+
+
+
+
+ +
+
+

+ Create a configuration which calls the given function for the corresponding operation. +

+
+
+ + + + + +
+
+
+
+
+ + systemRuntimeContainsType + + : + string -> bool +
+
+
+
+
+ + Returns: + + TypeProviderConfig +
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsHostedExecution + + +

+
+
+
+ Full Usage: + this.IsHostedExecution +
+
+
+
+
+
+
+
+

+ Indicates if the type provider instance is used in an environment which executes provided code such as F# Interactive. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.IsInvalidationSupported + + +

+
+
+
+ Full Usage: + this.IsInvalidationSupported +
+
+
+
+
+
+
+
+

+ Indicates if the type provider host responds to invalidation events for type provider instances. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.ReferencedAssemblies + + +

+
+
+
+ Full Usage: + this.ReferencedAssemblies +
+
+
+
+
+
+
+
+

+ Get the referenced assemblies for the type provider instance. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.ResolutionFolder + + +

+
+
+
+ Full Usage: + this.ResolutionFolder +
+
+
+
+
+
+
+
+

+ Get the full path to use to resolve relative paths in any file name arguments given to the type provider instance. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.RuntimeAssembly + + +

+
+
+
+ Full Usage: + this.RuntimeAssembly +
+
+
+
+
+
+
+
+

+ Get the full path to referenced assembly that caused this type provider instance to be created. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.SystemRuntimeAssemblyVersion + + +

+
+
+
+ Full Usage: + this.SystemRuntimeAssemblyVersion +
+
+
+
+
+
+
+
+

+ version of referenced system runtime assembly +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.SystemRuntimeContainsType + + +

+
+
+
+ Full Usage: + this.SystemRuntimeContainsType +
+
+ Parameters: +
    + + + arg0 + + : + string + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Checks if given type exists in target system runtime library +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + string +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.TemporaryFolder + + +

+
+
+
+ Full Usage: + this.TemporaryFolder +
+
+
+
+
+
+
+
+

+ Get the full path to use for temporary files for the type provider instance. +

+
+
+ + + + + +
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-typeproviderdefinitionlocationattribute.html b/reference/fsharp-core-compilerservices-typeproviderdefinitionlocationattribute.html new file mode 100644 index 000000000..a5545cd97 --- /dev/null +++ b/reference/fsharp-core-compilerservices-typeproviderdefinitionlocationattribute.html @@ -0,0 +1,499 @@ + + + + + + + + + + + + + + + + + + TypeProviderDefinitionLocationAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TypeProviderDefinitionLocationAttribute Type +

+ +
+
+
+

+ A type provider may provide an instance of this attribute to indicate the definition location for a provided type or member. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + TypeProviderDefinitionLocationAttribute() + + +

+
+
+
+ Full Usage: + TypeProviderDefinitionLocationAttribute() +
+
+ + Returns: + TypeProviderDefinitionLocationAttribute + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + TypeProviderDefinitionLocationAttribute +
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Column + + +

+
+
+
+ Full Usage: + this.Column +
+
+
+
+
+
+
+
+

+ Gets or sets the column for the location. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.FilePath + + +

+
+
+
+ Full Usage: + this.FilePath +
+
+
+
+
+
+
+
+

+ Gets or sets the file path for the definition location. +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.Line + + +

+
+
+
+ Full Usage: + this.Line +
+
+
+
+
+
+
+
+

+ Gets or sets the line for the location. +

+
+
+ + + + + +
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-typeprovidereditorhidemethodsattribute.html b/reference/fsharp-core-compilerservices-typeprovidereditorhidemethodsattribute.html new file mode 100644 index 000000000..365bfc86f --- /dev/null +++ b/reference/fsharp-core-compilerservices-typeprovidereditorhidemethodsattribute.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + TypeProviderEditorHideMethodsAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TypeProviderEditorHideMethodsAttribute Type +

+ +
+
+
+

+ Indicates that a code editor should hide all System.Object methods from the intellisense menus for instances of a provided type +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + TypeProviderEditorHideMethodsAttribute() + + +

+
+
+
+ Full Usage: + TypeProviderEditorHideMethodsAttribute() +
+
+ + Returns: + TypeProviderEditorHideMethodsAttribute + + TypeProviderEditorHideMethodsAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + TypeProviderEditorHideMethodsAttribute +
+
+

+ TypeProviderEditorHideMethodsAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-typeprovidertypeattributes.html b/reference/fsharp-core-compilerservices-typeprovidertypeattributes.html new file mode 100644 index 000000000..f2f8d932e --- /dev/null +++ b/reference/fsharp-core-compilerservices-typeprovidertypeattributes.html @@ -0,0 +1,416 @@ + + + + + + + + + + + + + + + + + + TypeProviderTypeAttributes (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TypeProviderTypeAttributes Type +

+ +
+
+
+

+ Additional type attribute flags related to provided types +

+
+
+
+
+
+
+
+
+

+ Record fields +

+ + + + + + + + + + + + + + + + + +
+ Record Field + + Description + +
+
+ +

+ + + IsErased + + +

+
+
+
+ Full Usage: + IsErased +
+
+ + Field type: + TypeProviderTypeAttributes + +
+ Modifiers: + static +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + TypeProviderTypeAttributes +
+
+
+
+
+
+ +

+ + + SuppressRelocate + + +

+
+
+
+ Full Usage: + SuppressRelocate +
+
+ + Field type: + TypeProviderTypeAttributes + +
+ Modifiers: + static +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + TypeProviderTypeAttributes +
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices-typeproviderxmldocattribute.html b/reference/fsharp-core-compilerservices-typeproviderxmldocattribute.html new file mode 100644 index 000000000..23118f1a4 --- /dev/null +++ b/reference/fsharp-core-compilerservices-typeproviderxmldocattribute.html @@ -0,0 +1,470 @@ + + + + + + + + + + + + + + + + + + TypeProviderXmlDocAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TypeProviderXmlDocAttribute Type +

+ +
+
+
A type provider may provide an instance of this attribute to indicate the documentation to show for 
+ a provided type or member.
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + TypeProviderXmlDocAttribute(commentText) + + +

+
+
+
+ Full Usage: + TypeProviderXmlDocAttribute(commentText) +
+
+ Parameters: +
    + + + commentText + + : + string + +
    +
+
+ + Returns: + TypeProviderXmlDocAttribute + + TypeProviderXmlDocAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + commentText + + : + string +
+
+
+
+
+ + Returns: + + TypeProviderXmlDocAttribute +
+
+

+ TypeProviderXmlDocAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CommentText + + +

+
+
+
+ Full Usage: + this.CommentText +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ Gets the comment text. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-compilerservices.html b/reference/fsharp-core-compilerservices.html new file mode 100644 index 000000000..671eedad2 --- /dev/null +++ b/reference/fsharp-core-compilerservices.html @@ -0,0 +1,1176 @@ + + + + + + + + + + + + + + + + + + FSharp.Core.CompilerServices | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Core.CompilerServices Namespace +

+
+

+ + Library functionality for supporting type providers and code generated by the F# compiler. See + also F# Type Providers in the F# Language Guide. + +

+
+

+ Contents +

+ +

+ + Other namespace members + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + AfterCode<'Data, 'Result> + + +

+
+
+
+

+ Defines the implementation of the code run after the creation of a struct state machine. +

+
+
+ + + + + +
+
+
+

+ + + ArrayCollector<'T> + + +

+
+
+
+

+ Collects elements and builds an array +

+
+
+ + + + + +
+
+
+

+ + + GeneratedSequenceBase<'T> + + +

+
+
+
+

+ The F# compiler emits implementations of this type for compiled sequence expressions. +

+
+
+ + + + + +
+
+
+

+ + + IProvidedNamespace + + +

+
+
+
+

+ Represents a namespace provided by a type provider component. +

+
+
+ + + + + +
+
+
+

+ + + IResumableStateMachine<'Data> + + +

+
+
+
+

+ +

+
+
+ + + + + +
+
+
+

+ + + ITypeProvider + + +

+
+
+
+

+ Represents an instantiation of a type provider component. +

+
+
+ + + + + +
+
+
+

+ + + ITypeProvider2 + + +

+
+
+
+

+ Represents additional, optional information for a type provider component +

+
+
+ + + + + +
+
+
+

+ + + ListCollector<'T> + + +

+
+
+
+

+ Collects elements and builds a list +

+
+
+ + + + + +
+
+
+

+ + + MeasureInverse<'Measure> + + +

+
+
+
+

+ Represents the inverse of a measure expressions when returned as a generic argument of a provided type. +

+
+
+ + + + + +
+
+
+

+ + + MeasureOne + + +

+
+
+
+

+ Represents the '1' measure expression when returned as a generic argument of a provided type. +

+
+
+ + + + + +
+
+
+

+ + + MeasureProduct<'Measure1, 'Measure2> + + +

+
+
+
+

+ Represents the product of two measure expressions when returned as a generic argument of a provided type. +

+
+
+ + + + + +
+
+
+

+ + + MoveNextMethodImpl<'Data> + + +

+
+
+
+

+ Defines the implementation of the MoveNext method for a struct state machine. +

+
+
+ + + + + +
+
+
+

+ + + ResumableCode + + +

+
+
+
+

+ Contains functions for composing resumable code blocks +

+
+
+ + + + + +
+
+
+

+ + + ResumableCode<'Data, 'T> + + +

+
+
+
+

+ A special compiler-recognised delegate type for specifying blocks of resumable code + with access to the state machine. +

+
+
+ + + + + +
+
+
+

+ + + ResumableStateMachine<'Data> + + +

+
+
+
+

+ Acts as a template for struct state machines introduced by __stateMachine, and also as a reflective implementation +

+
+
+ + + + + +
+
+
+

+ + + ResumptionDynamicInfo<'Data> + + +

+
+
+
+

+ Represents the delegated runtime continuation of a resumable state machine created dynamically +

+
+
+ + + + + +
+
+
+

+ + + ResumptionFunc<'Data> + + +

+
+
+
+

+ Represents the runtime continuation of a resumable state machine created dynamically +

+
+
+ + + + + +
+
+
+

+ + + RuntimeHelpers + + +

+
+
+
+

+ A group of functions used as part of the compiled representation of F# sequence expressions. +

+
+
+ + + + + +
+
+
+

+ + + SetStateMachineMethodImpl<'Data> + + +

+
+
+
+

+ Defines the implementation of the SetStateMachine method for a struct state machine. +

+
+
+ + + + + +
+
+
+

+ + + StateMachineHelpers + + +

+
+
+
+

+ Contains compiler intrinsics related to the definition of state machines. +

+
+
+ + + + + +
+
+
+

+ + + TypeProviderAssemblyAttribute + + +

+
+
+
Place this attribute on a runtime assembly to indicate that there is a corresponding design-time 
+ assembly that contains a type provider. Runtime and design-time assembly may be the same.
+
+ + + + + +
+
+
+

+ + + TypeProviderAttribute + + +

+
+
+
+

+ Place on a class that implements ITypeProvider to extend the compiler +

+
+
+ + + + + +
+
+
+

+ + + TypeProviderConfig + + +

+
+
+
+

+ If the class that implements ITypeProvider has a constructor that accepts TypeProviderConfig + then it will be constructed with an instance of TypeProviderConfig. +

+
+
+ + + + + +
+
+
+

+ + + TypeProviderDefinitionLocationAttribute + + +

+
+
+
+

+ A type provider may provide an instance of this attribute to indicate the definition location for a provided type or member. +

+
+
+ + + + + +
+
+
+

+ + + TypeProviderEditorHideMethodsAttribute + + +

+
+
+
+

+ Indicates that a code editor should hide all System.Object methods from the intellisense menus for instances of a provided type +

+
+
+ + + + + +
+
+
+

+ + + TypeProviderTypeAttributes + + +

+
+
+
+

+ Additional type attribute flags related to provided types +

+
+
+ + + + + +
+
+
+

+ + + TypeProviderXmlDocAttribute + + +

+
+
+
A type provider may provide an instance of this attribute to indicate the documentation to show for 
+ a provided type or member.
+
+ + + + + +
+
+
+

+ + Attributes + +

+ + + + + + + + + + + + + +
+ Type + + Description +
+

+ + + NoEagerConstraintApplicationAttribute + + +

+
+
+
+

+ Adding this attribute to the method adjusts the processing of some generic methods + during overload resolution. +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-customcomparisonattribute.html b/reference/fsharp-core-customcomparisonattribute.html new file mode 100644 index 000000000..d60b93595 --- /dev/null +++ b/reference/fsharp-core-customcomparisonattribute.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + CustomComparisonAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CustomComparisonAttribute Type +

+ +
+
+
+

+ Adding this attribute to a type indicates it is a type with a user-defined implementation of comparison. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CustomComparisonAttribute() + + +

+
+
+
+ Full Usage: + CustomComparisonAttribute() +
+
+ + Returns: + CustomComparisonAttribute + + CustomComparisonAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + CustomComparisonAttribute +
+
+

+ CustomComparisonAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-customequalityattribute.html b/reference/fsharp-core-customequalityattribute.html new file mode 100644 index 000000000..f75658843 --- /dev/null +++ b/reference/fsharp-core-customequalityattribute.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + CustomEqualityAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CustomEqualityAttribute Type +

+ +
+
+
+

+ Adding this attribute to a type indicates it is a type with a user-defined implementation of equality. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CustomEqualityAttribute() + + +

+
+
+
+ Full Usage: + CustomEqualityAttribute() +
+
+ + Returns: + CustomEqualityAttribute + + CustomEqualityAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + CustomEqualityAttribute +
+
+

+ CustomEqualityAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-customoperationattribute.html b/reference/fsharp-core-customoperationattribute.html new file mode 100644 index 000000000..56ba7b434 --- /dev/null +++ b/reference/fsharp-core-customoperationattribute.html @@ -0,0 +1,841 @@ + + + + + + + + + + + + + + + + + + CustomOperationAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ CustomOperationAttribute Type +

+ +
+
+
+

+ Indicates that a member on a computation builder type is a custom query operator, + and indicates the name of that operator. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + CustomOperationAttribute() + + +

+
+
+
+ Full Usage: + CustomOperationAttribute() +
+
+ + Returns: + CustomOperationAttribute + + CustomOperationAttribute +
+
+
+
+
+
+ +
+
+

+ Create an instance of attribute with empty name +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + CustomOperationAttribute +
+
+

+ CustomOperationAttribute +

+
+
+
+
+
+ +

+ + + CustomOperationAttribute(name) + + +

+
+
+
+ Full Usage: + CustomOperationAttribute(name) +
+
+ Parameters: +
    + + + name + + : + string + +
    +
+
+ + Returns: + CustomOperationAttribute + + CustomOperationAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + name + + : + string +
+
+
+
+
+ + Returns: + + CustomOperationAttribute +
+
+

+ CustomOperationAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.AllowIntoPattern + + +

+
+
+
+ Full Usage: + this.AllowIntoPattern +
+
+
+
+
+
+
+
+

+ 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 +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.IsLikeGroupJoin + + +

+
+
+
+ Full Usage: + this.IsLikeGroupJoin +
+
+
+
+
+
+
+
+

+ 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 +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.IsLikeJoin + + +

+
+
+
+ Full Usage: + this.IsLikeJoin +
+
+
+
+
+
+
+
+

+ Indicates if the custom operation is an operation similar to a join in a sequence computation, supporting two inputs and a correlation constraint +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.IsLikeZip + + +

+
+
+
+ Full Usage: + this.IsLikeZip +
+
+
+
+
+
+
+
+

+ Indicates if the custom operation is an operation similar to a zip in a sequence computation, supporting two inputs +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.JoinConditionWord + + +

+
+
+
+ Full Usage: + this.JoinConditionWord +
+
+
+
+
+
+
+
+

+ Indicates the name used for the 'on' part of the custom query operator for join-like operators +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.MaintainsVariableSpace + + +

+
+
+
+ Full Usage: + this.MaintainsVariableSpace +
+
+
+
+
+
+
+
+

+ Indicates if the custom operation maintains the variable space of the query of computation expression +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.MaintainsVariableSpaceUsingBind + + +

+
+
+
+ Full Usage: + this.MaintainsVariableSpaceUsingBind +
+
+
+
+
+
+
+
+

+ Indicates if the custom operation maintains the variable space of the query of computation expression through the use of a bind operation +

+
+
+ + + + + +
+
+
+
+ +

+ + + this.Name + + +

+
+
+
+ Full Usage: + this.Name +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ Get the name of the custom operation when used in a query or other computation expression +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-decimal-1.html b/reference/fsharp-core-decimal-1.html new file mode 100644 index 000000000..1dffd4138 --- /dev/null +++ b/reference/fsharp-core-decimal-1.html @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + decimal<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ decimal<'Measure> Type +

+ +
+
+
+

+ 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 + Decimal. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-defaultaugmentationattribute.html b/reference/fsharp-core-defaultaugmentationattribute.html new file mode 100644 index 000000000..b4eb1eedb --- /dev/null +++ b/reference/fsharp-core-defaultaugmentationattribute.html @@ -0,0 +1,483 @@ + + + + + + + + + + + + + + + + + + DefaultAugmentationAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ DefaultAugmentationAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + DefaultAugmentationAttribute(value) + + +

+
+
+
+ Full Usage: + DefaultAugmentationAttribute(value) +
+
+ Parameters: +
    + + + value + + : + bool + - + Indicates whether to generate helper members on the CLI class representing a discriminated + union. + +
    +
+
+ + Returns: + DefaultAugmentationAttribute + + DefaultAugmentationAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + bool +
+
+

+ Indicates whether to generate helper members on the CLI class representing a discriminated + union. +

+
+
+
+
+ + Returns: + + DefaultAugmentationAttribute +
+
+

+ DefaultAugmentationAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The value of the attribute, indicating whether the type has a default augmentation or not +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-defaultvalueattribute.html b/reference/fsharp-core-defaultvalueattribute.html new file mode 100644 index 000000000..16fc0d99e --- /dev/null +++ b/reference/fsharp-core-defaultvalueattribute.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + DefaultValueAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ DefaultValueAttribute Type +

+ +
+
+
+

+ 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. + +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + DefaultValueAttribute(check) + + +

+
+
+
+ Full Usage: + DefaultValueAttribute(check) +
+
+ Parameters: +
    + + + check + + : + bool + - + Indicates whether to assert that the field type supports null. + +
    +
+
+ + Returns: + DefaultValueAttribute + + DefaultValueAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + check + + : + bool +
+
+

+ Indicates whether to assert that the field type supports null. +

+
+
+
+
+ + Returns: + + DefaultValueAttribute +
+
+

+ DefaultValueAttribute +

+
+
+
+
+
+ +

+ + + DefaultValueAttribute() + + +

+
+
+
+ Full Usage: + DefaultValueAttribute() +
+
+ + Returns: + DefaultValueAttribute + + DefaultValueAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + DefaultValueAttribute +
+
+

+ DefaultValueAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Check + + +

+
+
+
+ Full Usage: + this.Check +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Indicates if a constraint is asserted that the field type supports 'null' +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-double-1.html b/reference/fsharp-core-double-1.html new file mode 100644 index 000000000..918ed1656 --- /dev/null +++ b/reference/fsharp-core-double-1.html @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + double<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ double<'Measure> Type +

+ +
+
+
+

+ The type of double-precision 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 + Double. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-double.html b/reference/fsharp-core-double.html new file mode 100644 index 000000000..e1dd0c38b --- /dev/null +++ b/reference/fsharp-core-double.html @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + double (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ double Type +

+ +
+
+
+

+ An abbreviation for the CLI type Double. Identical to float. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-entrypointattribute.html b/reference/fsharp-core-entrypointattribute.html new file mode 100644 index 000000000..9f84ab24a --- /dev/null +++ b/reference/fsharp-core-entrypointattribute.html @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + EntryPointAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ EntryPointAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + EntryPointAttribute() + + +

+
+
+
+ Full Usage: + EntryPointAttribute() +
+
+ + Returns: + EntryPointAttribute + + EntryPointAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + EntryPointAttribute +
+
+

+ EntryPointAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-equalityconditionalonattribute.html b/reference/fsharp-core-equalityconditionalonattribute.html new file mode 100644 index 000000000..d2fcf1a41 --- /dev/null +++ b/reference/fsharp-core-equalityconditionalonattribute.html @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + EqualityConditionalOnAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ EqualityConditionalOnAttribute Type +

+ +
+
+
+

+ 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 only supports + equality if the type X also supports equality and all other conditions for C 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. + +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + EqualityConditionalOnAttribute() + + +

+
+
+
+ Full Usage: + EqualityConditionalOnAttribute() +
+
+ + Returns: + EqualityConditionalOnAttribute + + EqualityConditionalOnAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + EqualityConditionalOnAttribute +
+
+

+ EqualityConditionalOnAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-experimentalattribute.html b/reference/fsharp-core-experimentalattribute.html new file mode 100644 index 000000000..5c23d032f --- /dev/null +++ b/reference/fsharp-core-experimentalattribute.html @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + ExperimentalAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ExperimentalAttribute Type +

+ +
+
+
+

+ This attribute is used to tag values that are part of an experimental library + feature. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + ExperimentalAttribute(message) + + +

+
+
+
+ Full Usage: + ExperimentalAttribute(message) +
+
+ Parameters: +
    + + + message + + : + string + - + The warning message to be emitted when code uses this construct. + +
    +
+
+ + Returns: + ExperimentalAttribute + + ExperimentalAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + message + + : + string +
+
+

+ The warning message to be emitted when code uses this construct. +

+
+
+
+
+ + Returns: + + ExperimentalAttribute +
+
+

+ ExperimentalAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Message + + +

+
+
+
+ Full Usage: + this.Message +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ Indicates the warning message to be emitted when F# source code uses this construct +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-extratopleveloperators-checked.html b/reference/fsharp-core-extratopleveloperators-checked.html new file mode 100644 index 000000000..7e9a105fb --- /dev/null +++ b/reference/fsharp-core-extratopleveloperators-checked.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + Checked (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Checked Module +

+ +
+
+
+

+ +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + int8 value + + +

+
+
+
+ Full Usage: + int8 value +
+
+ Parameters: +
    + + + value + + : + ^T + +
    +
+
+ + Returns: + sbyte + +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to signed byte. +

+
+
+ + + + + +
+
+
+

+ This is a direct, checked 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. +

+
+
+ + value + + : + ^T +
+
+
+
+
+ + Returns: + + sbyte +
+
+
+
+ Example +
+

+

 Checked.int8 -12
+
+
Multiple items
module Checked + +from Microsoft.FSharp.Core.Operators

--------------------
module Checked + +from Microsoft.FSharp.Core.ExtraTopLevelOperators
+
val int8: value: 'T -> sbyte (requires member op_Explicit)
+ + + Evaluates to -12y. + +

+
+ Example +
+

+

 Checked.int8 "129"
+
+
Multiple items
module Checked + +from Microsoft.FSharp.Core.Operators

--------------------
module Checked + +from Microsoft.FSharp.Core.ExtraTopLevelOperators
+
val int8: value: 'T -> sbyte (requires member op_Explicit)
+ + + Throws System.OverflowException. + +

+
+
+
+ +

+ + + uint8 value + + +

+
+
+
+ Full Usage: + uint8 value +
+
+ Parameters: +
    + + + value + + : + ^T + +
    +
+
+ + Returns: + byte + +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to byte. +

+
+
+ + + + + +
+
+
+

+ This is a direct, checked 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. +

+
+
+ + value + + : + ^T +
+
+
+
+
+ + Returns: + + byte +
+
+
+
+ Example +
+

+

 Checked.uint8 12
+
+
Multiple items
module Checked + +from Microsoft.FSharp.Core.Operators

--------------------
module Checked + +from Microsoft.FSharp.Core.ExtraTopLevelOperators
+
val uint8: value: 'T -> byte (requires member op_Explicit)
+ + + Evaluates to -12y. + +

+
+ Example +
+

+

 Checked.uint8 -12
+
+
Multiple items
module Checked + +from Microsoft.FSharp.Core.Operators

--------------------
module Checked + +from Microsoft.FSharp.Core.ExtraTopLevelOperators
+
val uint8: value: 'T -> byte (requires member op_Explicit)
+ + + Throws System.OverflowException. + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-extratopleveloperators.html b/reference/fsharp-core-extratopleveloperators.html new file mode 100644 index 000000000..1e598d0e6 --- /dev/null +++ b/reference/fsharp-core-extratopleveloperators.html @@ -0,0 +1,2587 @@ + + + + + + + + + + + + + + + + + + ExtraTopLevelOperators (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ExtraTopLevelOperators Module +

+ +
+
+
+

+ A set of extra operators and functions. This module is automatically opened in all F# code. +

+
+
+
+
+

+ Nested modules +

+ + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + Checked + + +

+
+
+
+

+ +

+
+
+ + + + + +
+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + (~%%) expression + + +

+
+
+
+ Full Usage: + (~%%) expression +
+
+ Parameters: +
    + + + expression + + : + Expr + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Special prefix operator for splicing untyped expressions into quotation holes. +

+
+
+ + + + + +
+
+
+
+
+ + expression + + : + Expr +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+ Example +
+

+

 let f v = <@@ (%%v: int) + (%%v: int) @@>
+
+ f <@@ 5 + 5 @@>;;
+
+
val f: v: Quotations.Expr -> Quotations.Expr
+
val v: Quotations.Expr
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to an untyped quotation equivalent to <@@ (5 + 5) + (5 + 5) @@> +

+
+
+
+ +

+ + + (~%) expression + + +

+
+
+
+ Full Usage: + (~%) expression +
+
+ Parameters: +
    + + + expression + + : + Expr<'T> + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Special prefix operator for splicing typed expressions into quotation holes. +

+
+
+ + + + + +
+
+
+
+
+ + expression + + : + Expr<'T> +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+ Example +
+

+

 let f v = <@ %v + %v @>
+
+ f <@ 5 + 5 @>;;
+
+
val f: v: Quotations.Expr<int> -> Quotations.Expr<int>
+
val v: Quotations.Expr<int>
+ + + Evaluates to a quotation equivalent to <@ (5 + 5) + (5 + 5) @> +

+
+
+
+ +

+ + + array2D rows + + +

+
+
+
+ Full Usage: + array2D rows +
+
+ Parameters: +
    + + + rows + + : + 'a seq + +
    +
+
+ + Returns: + 'T[,] + +
+
+
+
+
+
+ +
+
+

+ Builds a 2D array from a sequence of sequences of elements. +

+
+
+ + + + + +
+
+
+
+
+ + rows + + : + 'a seq +
+
+
+
+
+ + Returns: + + 'T[,] +
+
+
+
+ Example +
+

+

 array2D [ [ 1.0; 2.0 ]; [ 3.0; 4.0 ] ]
+
+
val array2D: rows: #('T seq) seq -> 'T array2d
+ + + Evaluates to a 2x2 zero-based array with contents [[1.0; 2.0]; [3.0; 4.0]] +

+
+
+
+ +

+ + + async + + +

+
+
+
+ Full Usage: + async +
+
+ + Returns: + AsyncBuilder + +
+
+
+
+
+
+ +
+
+

+ Builds an asynchronous workflow using computation expression syntax. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + AsyncBuilder +
+
+
+
+ Example +
+

+

 let sleepExample() =
+     async {
+         printfn "sleeping"
+         do! Async.Sleep 10
+         printfn "waking up"
+         return 6
+      }
+
+ sleepExample() |> Async.RunSynchronously
+
+
val sleepExample: unit -> Async<int>
+
val async: AsyncBuilder
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
Multiple items
type Async = + static member AsBeginEnd: computation: ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit) + static member AwaitEvent: event: IEvent<'Del,'T> * ?cancelAction: (unit -> unit) -> Async<'T> (requires delegate and 'Del :> Delegate) + static member AwaitIAsyncResult: iar: IAsyncResult * ?millisecondsTimeout: int -> Async<bool> + static member AwaitTask: task: Task<'T> -> Async<'T> + 1 overload + static member AwaitWaitHandle: waitHandle: WaitHandle * ?millisecondsTimeout: int -> Async<bool> + static member CancelDefaultToken: unit -> unit + static member Catch: computation: Async<'T> -> Async<Choice<'T,exn>> + static member Choice: computations: Async<'T option> seq -> Async<'T option> + static member FromBeginEnd: beginAction: (AsyncCallback * obj -> IAsyncResult) * endAction: (IAsyncResult -> 'T) * ?cancelAction: (unit -> unit) -> Async<'T> + 3 overloads + static member FromContinuations: callback: (('T -> unit) * (exn -> unit) * (OperationCanceledException -> unit) -> unit) -> Async<'T> + ...

--------------------
type Async<'T>
+
static member Async.Sleep: dueTime: System.TimeSpan -> Async<unit>
static member Async.Sleep: millisecondsDueTime: int -> Async<unit>
+
static member Async.RunSynchronously: computation: Async<'T> * ?timeout: int * ?cancellationToken: System.Threading.CancellationToken -> 'T
+ + +

+
+
+
+ +

+ + + dict keyValuePairs + + +

+
+
+
+ Full Usage: + dict keyValuePairs +
+
+ Parameters: +
    + + + keyValuePairs + + : + ('Key * 'Value) seq + +
    +
+
+ + Returns: + IDictionary<'Key, 'Value> + +
+
+
+
+
+
+ +
+
+

+ Builds a read-only lookup table from a sequence of key/value pairs. The key objects are indexed using generic hashing and equality. +

+
+
+ + + + + +
+
+
+
+
+ + keyValuePairs + + : + ('Key * 'Value) seq +
+
+
+
+
+ + Returns: + + IDictionary<'Key, 'Value> +
+
+
+
+ Example +
+

+

 let table = dict [ (1, 100); (2, 200) ]
+
+ table[1]
+
+
val table: System.Collections.Generic.IDictionary<int,int>
+
val dict: keyValuePairs: ('Key * 'Value) seq -> System.Collections.Generic.IDictionary<'Key,'Value> (requires equality)
+ + + Evaluates to 100. + +

+
+ Example +
+

+

 let table = dict [ (1, 100); (2, 200) ]
+
+ table[3]
+
+
val table: System.Collections.Generic.IDictionary<int,int>
+
val dict: keyValuePairs: ('Key * 'Value) seq -> System.Collections.Generic.IDictionary<'Key,'Value> (requires equality)
+ + + Throws System.Collections.Generic.KeyNotFoundException. + +

+
+
+
+ +

+ + + double value + + +

+
+
+
+ Full Usage: + double value +
+
+ Parameters: +
    + + + value + + : + ^T + +
    +
+
+ + Returns: + double + +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + value + + : + ^T +
+
+
+
+
+ + Returns: + + double +
+
+
+
+ Example +
+

+

 double 45
+
+
Multiple items
val double: value: 'T -> double (requires member op_Explicit)

--------------------
type double = System.Double

--------------------
type double<'Measure> = float<'Measure>
+ + + Evaluates to 45.0. + +

+
+ Example +
+

+

 double 12.3f
+
+
Multiple items
val double: value: 'T -> double (requires member op_Explicit)

--------------------
type double = System.Double

--------------------
type double<'Measure> = float<'Measure>
+ + + Evaluates to 12.30000019. + +

+
+
+
+ +

+ + + eprintf format + + +

+
+
+
+ Full Usage: + eprintf format +
+
+ Parameters: + +
+ + Returns: + 'T + + The formatted result. +
+
+
+
+
+
+ +
+
+

+ Print to stderr using the given format. +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The formatted result. +

+
+
+
+ Example +
+

+ See Printf.eprintf (link: Printf.PrintFormatToError) for examples. +

+
+
+
+ +

+ + + eprintfn format + + +

+
+
+
+ Full Usage: + eprintfn format +
+
+ Parameters: + +
+ + Returns: + 'T + + The formatted result. +
+
+
+
+
+
+ +
+
+

+ Print to stderr using the given format, and add a newline. +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The formatted result. +

+
+
+
+ Example +
+

+ See Printf.eprintfn (link: Printf.PrintFormatLineToError) for examples. +

+
+
+
+ +

+ + + failwithf format + + +

+
+
+
+ Full Usage: + failwithf format +
+
+ Parameters: +
    + + + format + + : + StringFormat<'T, 'Result> + - + The formatter. + +
    +
+
+ + Returns: + 'T + + The formatted result. +
+
+
+
+
+
+ +
+
+

+ Print to a string buffer and raise an exception with the given + result. Helper printers must return strings. +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + StringFormat<'T, 'Result> +
+
+

+ The formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The formatted result. +

+
+
+
+ Example +
+

+ See Printf.failwithf (link: Printf.PrintFormatToStringThenFail) for examples. +

+
+
+
+ +

+ + + fprintf textWriter format + + +

+
+
+
+ Full Usage: + fprintf textWriter format +
+
+ Parameters: +
    + + + textWriter + + : + TextWriter + - + The file TextWriter. + +
    + + + format + + : + TextWriterFormat<'T> + - + The formatter. + +
    +
+
+ + Returns: + 'T + + The formatted result. +
+
+
+
+
+
+ +
+
+

+ Print to a file using the given format. +

+
+
+ + + + + +
+
+
+
+
+ + textWriter + + : + TextWriter +
+
+

+ The file TextWriter. +

+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The formatted result. +

+
+
+
+ Example +
+

+ See Printf.fprintf (link: Printf.PrintFormatToTextWriter) for examples. +

+
+
+
+ +

+ + + fprintfn textWriter format + + +

+
+
+
+ Full Usage: + fprintfn textWriter format +
+
+ Parameters: +
    + + + textWriter + + : + TextWriter + - + The file TextWriter. + +
    + + + format + + : + TextWriterFormat<'T> + - + The formatter. + +
    +
+
+ + Returns: + 'T + + The formatted result. +
+
+
+
+
+
+ +
+
+

+ Print to a file using the given format, and add a newline. +

+
+
+ + + + + +
+
+
+
+
+ + textWriter + + : + TextWriter +
+
+

+ The file TextWriter. +

+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The formatted result. +

+
+
+
+ Example +
+

+ See Printf.fprintfn (link: Printf.PrintFormatLineToTextWriter) for examples. +

+
+
+
+ +

+ + + int8 value + + +

+
+
+
+ Full Usage: + int8 value +
+
+ Parameters: +
    + + + value + + : + ^T + +
    +
+
+ + Returns: + int8 + +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + value + + : + ^T +
+
+
+
+
+ + Returns: + + int8 +
+
+
+
+ Example +
+

+

 int8 -12
+
+
Multiple items
val int8: value: 'T -> int8 (requires member op_Explicit)

--------------------
type int8 = System.SByte

--------------------
type int8<'Measure> = sbyte<'Measure>
+ + + Evaluates to -12y. + +

+
+ Example +
+

+

 int8 "3"
+
+
Multiple items
val int8: value: 'T -> int8 (requires member op_Explicit)

--------------------
type int8 = System.SByte

--------------------
type int8<'Measure> = sbyte<'Measure>
+ + + Evaluates to 3y. + +

+
+
+
+ +

+ + + printf format + + +

+
+
+
+ Full Usage: + printf format +
+
+ Parameters: + +
+ + Returns: + 'T + + The formatted result. +
+
+
+
+
+
+ +
+
+

+ Print to stdout using the given format. +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The formatted result. +

+
+
+
+ Example +
+

+ See Printf.printf (link: Printf.PrintFormat) for examples. +

+
+
+
+ +

+ + + printfn format + + +

+
+
+
+ Full Usage: + printfn format +
+
+ Parameters: + +
+ + Returns: + 'T + + The formatted result. +
+
+
+
+
+
+ +
+
+

+ Print to stdout using the given format, and add a newline. +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The formatted result. +

+
+
+
+ Example +
+

+ See Printf.printfn (link: Printf.PrintFormatLine) for examples. +

+
+
+
+ +

+ + + query + + +

+
+
+
+ Full Usage: + query +
+
+ + Returns: + QueryBuilder + +
+
+
+
+
+
+ +
+
+

+ Builds a query using query syntax and operators. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + QueryBuilder +
+
+
+
+ Example +
+

+

 let findEvensAndSortAndDouble(xs: System.Linq.IQueryable<int>) =
+     query {
+         for x in xs do
+         where (x % 2 = 0)
+         sortBy x
+         select (x+x)
+      }
+
+ let data = [1; 2; 6; 7; 3; 6; 2; 1]
+
+ findEvensAndSortAndDouble (data.AsQueryable()) |> Seq.toList
+
+
val findEvensAndSortAndDouble: xs: System.Linq.IQueryable<int> -> System.Linq.IQueryable<int>
+
val xs: System.Linq.IQueryable<int>
+
namespace System
+
namespace System.Linq
+
Multiple items
type IQueryable = + inherit IEnumerable + member ElementType: Type + member Expression: Expression + member Provider: IQueryProvider
<summary>Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified.</summary>

--------------------
type IQueryable<'T> = + inherit IEnumerable<'T> + inherit IEnumerable + inherit IQueryable
<summary>Provides functionality to evaluate queries against a specific data source wherein the type of the data is known.</summary>
<typeparam name="T">The type of the data in the data source.</typeparam>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val query: Linq.QueryBuilder
+
val x: int
+
custom operation: where (bool) + +Calls Linq.QueryBuilder.Where
+
custom operation: sortBy ('Key) + +Calls Linq.QueryBuilder.SortBy
+
custom operation: select ('Result) + +Calls Linq.QueryBuilder.Select
+
val data: int list
+
module Seq + +from Microsoft.FSharp.Collections
+
val toList: source: 'T seq -> 'T list
+ + + Evaluates to [4; 4; 12; 12]. + +

+
+
+
+ +

+ + + readOnlyDict keyValuePairs + + +

+
+
+
+ Full Usage: + readOnlyDict keyValuePairs +
+
+ Parameters: +
    + + + keyValuePairs + + : + ('Key * 'Value) seq + +
    +
+
+ + Returns: + IReadOnlyDictionary<'Key, 'Value> + +
+
+
+
+
+
+ +
+
+

+ Builds a read-only lookup table from a sequence of key/value pairs. The key objects are indexed using generic hashing and equality. +

+
+
+ + + + + +
+
+
+
+
+ + keyValuePairs + + : + ('Key * 'Value) seq +
+
+
+
+
+ + Returns: + + IReadOnlyDictionary<'Key, 'Value> +
+
+
+
+ Example +
+

+

 let table = readOnlyDict [ (1, 100); (2, 200) ]
+
+ table[1]
+
+
val table: System.Collections.Generic.IReadOnlyDictionary<int,int>
+
val readOnlyDict: keyValuePairs: ('Key * 'Value) seq -> System.Collections.Generic.IReadOnlyDictionary<'Key,'Value> (requires equality)
+ + + Evaluates to 100. + +

+
+ Example +
+

+

 let table = readOnlyDict [ (1, 100); (2, 200) ]
+
+ table[3]
+
+
val table: System.Collections.Generic.IReadOnlyDictionary<int,int>
+
val readOnlyDict: keyValuePairs: ('Key * 'Value) seq -> System.Collections.Generic.IReadOnlyDictionary<'Key,'Value> (requires equality)
+ + + Throws System.Collections.Generic.KeyNotFoundException. + +

+
+
+
+ +

+ + + set elements + + +

+
+
+
+ Full Usage: + set elements +
+
+ Parameters: +
    + + + elements + + : + 'T seq + - + The input sequence of elements. + +
    +
+
+ + Returns: + Set<'T> + + The created set. +
+
+
+
+
+
+ +
+
+

+ Builds a set from a sequence of objects. The objects are indexed using generic comparison. +

+
+
+ + + + + +
+
+
+
+
+ + elements + + : + 'T seq +
+
+

+ The input sequence of elements. +

+
+
+
+
+ + Returns: + + Set<'T> +
+
+

+ The created set. +

+
+
+
+ Example +
+

+

 let values = set [ 1; 2; 3; 5; 7; 11 ]
+
+
val values: Set<int>
+
val set: elements: 'T seq -> Set<'T> (requires comparison)
+ + + Evaluates to a set containing the given numbers. + +

+
+
+
+ +

+ + + single value + + +

+
+
+
+ Full Usage: + single value +
+
+ Parameters: +
    + + + value + + : + ^T + +
    +
+
+ + Returns: + single + +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + value + + : + ^T +
+
+
+
+
+ + Returns: + + single +
+
+
+
+ Example +
+

+

 single 45
+
+
Multiple items
val single: value: 'T -> single (requires member op_Explicit)

--------------------
type single = System.Single

--------------------
type single<'Measure> = float32<'Measure>
+ + + Evaluates to 45.0f. + +

+
+
+
+ +

+ + + sprintf format + + +

+
+
+
+ Full Usage: + sprintf format +
+
+ Parameters: +
    + + + format + + : + StringFormat<'T> + - + The formatter. + +
    +
+
+ + Returns: + 'T + + The formatted result. +
+
+
+
+
+
+ +
+
+

+ Print to a string using the given format. +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + StringFormat<'T> +
+
+

+ The formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The formatted result. +

+
+
+
+ Example +
+

+ See Printf.sprintf (link: Printf.PrintFormatToStringThen) for examples. +

+
+
+
+ +

+ + + uint8 value + + +

+
+
+
+ Full Usage: + uint8 value +
+
+ Parameters: +
    + + + value + + : + ^T + +
    +
+
+ + Returns: + uint8 + +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + value + + : + ^T +
+
+
+
+
+ + Returns: + + uint8 +
+
+
+
+ Example +
+

+

 uint8 12
+
+
Multiple items
val uint8: value: 'T -> uint8 (requires member op_Explicit)

--------------------
type uint8 = System.Byte

--------------------
type uint8<'Measure> = byte<'Measure>
+ + + Evaluates to 12uy. + +

+
+
+
+
+
+

+ Active patterns +

+ + + + + + + + + + + + + +
+ Active pattern + + Description + +
+
+ +

+ + + (|Lazy|) input + + +

+
+
+
+ Full Usage: + (|Lazy|) input +
+
+ Parameters: +
    + + + input + + : + Lazy<'T> + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ An active pattern to force the execution of values of type Lazy<_>. +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Lazy<'T> +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+ Example +
+

+

 let f (Lazy v) = v + v
+
+ let v = lazy (printf "eval!"; 5+5)
+
+ f v
+ f v
+
+
val f: Lazy<int> -> int
+
Multiple items
active recognizer Lazy: Lazy<'T> -> 'T

--------------------
type Lazy<'T> = System.Lazy<'T>
+
val v: int
+
val v: Lazy<int>
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+ + + Evaluates to 10. The text eval! is printed once on the first invocation of f. + +

+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-float-1.html b/reference/fsharp-core-float-1.html new file mode 100644 index 000000000..f526e3e29 --- /dev/null +++ b/reference/fsharp-core-float-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + float<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ float<'Measure> Type +

+ +
+
+
+

+ The type of double-precision 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 + Double. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-float.html b/reference/fsharp-core-float.html new file mode 100644 index 000000000..2f8e5e94e --- /dev/null +++ b/reference/fsharp-core-float.html @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + float (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ float Type +

+ +
+
+
+

+ An abbreviation for the CLI type Double. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-float32-1.html b/reference/fsharp-core-float32-1.html new file mode 100644 index 000000000..6f8a06216 --- /dev/null +++ b/reference/fsharp-core-float32-1.html @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + float32<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ float32<'Measure> Type +

+ +
+
+
+

+ The type of single-precision 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 + Single. + +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-float32.html b/reference/fsharp-core-float32.html new file mode 100644 index 000000000..34e884416 --- /dev/null +++ b/reference/fsharp-core-float32.html @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + float32 (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ float32 Type +

+ +
+
+
+

+ An abbreviation for the CLI type Single. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-format-4.html b/reference/fsharp-core-format-4.html new file mode 100644 index 000000000..be3550cb7 --- /dev/null +++ b/reference/fsharp-core-format-4.html @@ -0,0 +1,489 @@ + + + + + + + + + + + + + + + + + + Format<'Printer, 'State, 'Residue, 'Result> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Format<'Printer, 'State, 'Residue, 'Result> Type +

+ +
+
+
+

+ Type of a formatting expression. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CaptureTypes + + +

+
+
+
+ Full Usage: + this.CaptureTypes +
+
+ + Returns: + Type array + +
+
+
+
+
+
+ +
+
+

+ The capture types associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type array +
+
+
+
+
+
+ +

+ + + this.Captures + + +

+
+
+
+ Full Usage: + this.Captures +
+
+ + Returns: + objnull array + +
+
+
+
+
+
+ +
+
+

+ The captures associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + objnull array +
+
+
+
+
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The raw text of the format string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-format-5.html b/reference/fsharp-core-format-5.html new file mode 100644 index 000000000..5e5220c8a --- /dev/null +++ b/reference/fsharp-core-format-5.html @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + Format<'Printer, 'State, 'Residue, 'Result, 'Tuple> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Format<'Printer, 'State, 'Residue, 'Result, 'Tuple> Type +

+ +
+
+
+

+ Type of a formatting expression. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-fsharpchoice-2.html b/reference/fsharp-core-fsharpchoice-2.html new file mode 100644 index 000000000..7cb518eb3 --- /dev/null +++ b/reference/fsharp-core-fsharpchoice-2.html @@ -0,0 +1,549 @@ + + + + + + + + + + + + + + + + + + Choice<'T1, 'T2> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Choice<'T1, 'T2> Type +

+ +
+
+
+

+ Helper types for active patterns with 2 choices. +

+
+
+
+
+
+
+
+

+ Union cases +

+ + + + + + + + + + + + + + + + + +
+ Union case + + Description + +
+
+ +

+ + + Choice1Of2 'T1 + + +

+
+
+
+ Full Usage: + Choice1Of2 'T1 +
+
+ Parameters: +
    + + + Item + + : + 'T1 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 1 of 2 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T1 +
+
+
+
+
+
+ +

+ + + Choice2Of2 'T2 + + +

+
+
+
+ Full Usage: + Choice2Of2 'T2 +
+
+ Parameters: +
    + + + Item + + : + 'T2 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 2 of 2 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T2 +
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsChoice1Of2 + + +

+
+
+
+ Full Usage: + this.IsChoice1Of2 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice2Of2 + + +

+
+
+
+ Full Usage: + this.IsChoice2Of2 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-fsharpchoice-3.html b/reference/fsharp-core-fsharpchoice-3.html new file mode 100644 index 000000000..407cd66ff --- /dev/null +++ b/reference/fsharp-core-fsharpchoice-3.html @@ -0,0 +1,658 @@ + + + + + + + + + + + + + + + + + + Choice<'T1, 'T2, 'T3> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Choice<'T1, 'T2, 'T3> Type +

+ +
+
+
+

+ Helper types for active patterns with 3 choices. +

+
+
+
+
+
+
+
+

+ Union cases +

+ + + + + + + + + + + + + + + + + + + + + +
+ Union case + + Description + +
+
+ +

+ + + Choice1Of3 'T1 + + +

+
+
+
+ Full Usage: + Choice1Of3 'T1 +
+
+ Parameters: +
    + + + Item + + : + 'T1 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 1 of 3 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T1 +
+
+
+
+
+
+ +

+ + + Choice2Of3 'T2 + + +

+
+
+
+ Full Usage: + Choice2Of3 'T2 +
+
+ Parameters: +
    + + + Item + + : + 'T2 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 2 of 3 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T2 +
+
+
+
+
+
+ +

+ + + Choice3Of3 'T3 + + +

+
+
+
+ Full Usage: + Choice3Of3 'T3 +
+
+ Parameters: +
    + + + Item + + : + 'T3 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 3 of 3 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T3 +
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsChoice1Of3 + + +

+
+
+
+ Full Usage: + this.IsChoice1Of3 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice2Of3 + + +

+
+
+
+ Full Usage: + this.IsChoice2Of3 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice3Of3 + + +

+
+
+
+ Full Usage: + this.IsChoice3Of3 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-fsharpchoice-4.html b/reference/fsharp-core-fsharpchoice-4.html new file mode 100644 index 000000000..3a23b3b8f --- /dev/null +++ b/reference/fsharp-core-fsharpchoice-4.html @@ -0,0 +1,767 @@ + + + + + + + + + + + + + + + + + + Choice<'T1, 'T2, 'T3, 'T4> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Choice<'T1, 'T2, 'T3, 'T4> Type +

+ +
+
+
+

+ Helper types for active patterns with 4 choices. +

+
+
+
+
+
+
+
+

+ Union cases +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Union case + + Description + +
+
+ +

+ + + Choice1Of4 'T1 + + +

+
+
+
+ Full Usage: + Choice1Of4 'T1 +
+
+ Parameters: +
    + + + Item + + : + 'T1 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 1 of 4 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T1 +
+
+
+
+
+
+ +

+ + + Choice2Of4 'T2 + + +

+
+
+
+ Full Usage: + Choice2Of4 'T2 +
+
+ Parameters: +
    + + + Item + + : + 'T2 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 2 of 4 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T2 +
+
+
+
+
+
+ +

+ + + Choice3Of4 'T3 + + +

+
+
+
+ Full Usage: + Choice3Of4 'T3 +
+
+ Parameters: +
    + + + Item + + : + 'T3 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 3 of 4 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T3 +
+
+
+
+
+
+ +

+ + + Choice4Of4 'T4 + + +

+
+
+
+ Full Usage: + Choice4Of4 'T4 +
+
+ Parameters: +
    + + + Item + + : + 'T4 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 4 of 4 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T4 +
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsChoice1Of4 + + +

+
+
+
+ Full Usage: + this.IsChoice1Of4 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice2Of4 + + +

+
+
+
+ Full Usage: + this.IsChoice2Of4 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice3Of4 + + +

+
+
+
+ Full Usage: + this.IsChoice3Of4 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice4Of4 + + +

+
+
+
+ Full Usage: + this.IsChoice4Of4 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-fsharpchoice-5.html b/reference/fsharp-core-fsharpchoice-5.html new file mode 100644 index 000000000..aee0e0742 --- /dev/null +++ b/reference/fsharp-core-fsharpchoice-5.html @@ -0,0 +1,876 @@ + + + + + + + + + + + + + + + + + + Choice<'T1, 'T2, 'T3, 'T4, 'T5> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Choice<'T1, 'T2, 'T3, 'T4, 'T5> Type +

+ +
+
+
+

+ Helper types for active patterns with 5 choices. +

+
+
+
+
+
+
+
+

+ Union cases +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Union case + + Description + +
+
+ +

+ + + Choice1Of5 'T1 + + +

+
+
+
+ Full Usage: + Choice1Of5 'T1 +
+
+ Parameters: +
    + + + Item + + : + 'T1 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 1 of 5 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T1 +
+
+
+
+
+
+ +

+ + + Choice2Of5 'T2 + + +

+
+
+
+ Full Usage: + Choice2Of5 'T2 +
+
+ Parameters: +
    + + + Item + + : + 'T2 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 2 of 5 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T2 +
+
+
+
+
+
+ +

+ + + Choice3Of5 'T3 + + +

+
+
+
+ Full Usage: + Choice3Of5 'T3 +
+
+ Parameters: +
    + + + Item + + : + 'T3 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 3 of 5 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T3 +
+
+
+
+
+
+ +

+ + + Choice4Of5 'T4 + + +

+
+
+
+ Full Usage: + Choice4Of5 'T4 +
+
+ Parameters: +
    + + + Item + + : + 'T4 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 4 of 5 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T4 +
+
+
+
+
+
+ +

+ + + Choice5Of5 'T5 + + +

+
+
+
+ Full Usage: + Choice5Of5 'T5 +
+
+ Parameters: +
    + + + Item + + : + 'T5 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 5 of 5 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T5 +
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsChoice1Of5 + + +

+
+
+
+ Full Usage: + this.IsChoice1Of5 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice2Of5 + + +

+
+
+
+ Full Usage: + this.IsChoice2Of5 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice3Of5 + + +

+
+
+
+ Full Usage: + this.IsChoice3Of5 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice4Of5 + + +

+
+
+
+ Full Usage: + this.IsChoice4Of5 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice5Of5 + + +

+
+
+
+ Full Usage: + this.IsChoice5Of5 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-fsharpchoice-6.html b/reference/fsharp-core-fsharpchoice-6.html new file mode 100644 index 000000000..e9d4dc3e5 --- /dev/null +++ b/reference/fsharp-core-fsharpchoice-6.html @@ -0,0 +1,985 @@ + + + + + + + + + + + + + + + + + + Choice<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Choice<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> Type +

+ +
+
+
+

+ Helper types for active patterns with 6 choices. +

+
+
+
+
+
+
+
+

+ Union cases +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Union case + + Description + +
+
+ +

+ + + Choice1Of6 'T1 + + +

+
+
+
+ Full Usage: + Choice1Of6 'T1 +
+
+ Parameters: +
    + + + Item + + : + 'T1 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 1 of 6 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T1 +
+
+
+
+
+
+ +

+ + + Choice2Of6 'T2 + + +

+
+
+
+ Full Usage: + Choice2Of6 'T2 +
+
+ Parameters: +
    + + + Item + + : + 'T2 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 2 of 6 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T2 +
+
+
+
+
+
+ +

+ + + Choice3Of6 'T3 + + +

+
+
+
+ Full Usage: + Choice3Of6 'T3 +
+
+ Parameters: +
    + + + Item + + : + 'T3 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 3 of 6 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T3 +
+
+
+
+
+
+ +

+ + + Choice4Of6 'T4 + + +

+
+
+
+ Full Usage: + Choice4Of6 'T4 +
+
+ Parameters: +
    + + + Item + + : + 'T4 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 4 of 6 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T4 +
+
+
+
+
+
+ +

+ + + Choice5Of6 'T5 + + +

+
+
+
+ Full Usage: + Choice5Of6 'T5 +
+
+ Parameters: +
    + + + Item + + : + 'T5 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 5 of 6 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T5 +
+
+
+
+
+
+ +

+ + + Choice6Of6 'T6 + + +

+
+
+
+ Full Usage: + Choice6Of6 'T6 +
+
+ Parameters: +
    + + + Item + + : + 'T6 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 6 of 6 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T6 +
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsChoice1Of6 + + +

+
+
+
+ Full Usage: + this.IsChoice1Of6 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice2Of6 + + +

+
+
+
+ Full Usage: + this.IsChoice2Of6 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice3Of6 + + +

+
+
+
+ Full Usage: + this.IsChoice3Of6 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice4Of6 + + +

+
+
+
+ Full Usage: + this.IsChoice4Of6 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice5Of6 + + +

+
+
+
+ Full Usage: + this.IsChoice5Of6 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice6Of6 + + +

+
+
+
+ Full Usage: + this.IsChoice6Of6 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-fsharpchoice-7.html b/reference/fsharp-core-fsharpchoice-7.html new file mode 100644 index 000000000..9218e4d2c --- /dev/null +++ b/reference/fsharp-core-fsharpchoice-7.html @@ -0,0 +1,1094 @@ + + + + + + + + + + + + + + + + + + Choice<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Choice<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7> Type +

+ +
+
+
+

+ Helper types for active patterns with 7 choices. +

+
+
+
+
+
+
+
+

+ Union cases +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Union case + + Description + +
+
+ +

+ + + Choice1Of7 'T1 + + +

+
+
+
+ Full Usage: + Choice1Of7 'T1 +
+
+ Parameters: +
    + + + Item + + : + 'T1 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 1 of 7 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T1 +
+
+
+
+
+
+ +

+ + + Choice2Of7 'T2 + + +

+
+
+
+ Full Usage: + Choice2Of7 'T2 +
+
+ Parameters: +
    + + + Item + + : + 'T2 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 2 of 7 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T2 +
+
+
+
+
+
+ +

+ + + Choice3Of7 'T3 + + +

+
+
+
+ Full Usage: + Choice3Of7 'T3 +
+
+ Parameters: +
    + + + Item + + : + 'T3 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 3 of 7 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T3 +
+
+
+
+
+
+ +

+ + + Choice4Of7 'T4 + + +

+
+
+
+ Full Usage: + Choice4Of7 'T4 +
+
+ Parameters: +
    + + + Item + + : + 'T4 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 4 of 7 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T4 +
+
+
+
+
+
+ +

+ + + Choice5Of7 'T5 + + +

+
+
+
+ Full Usage: + Choice5Of7 'T5 +
+
+ Parameters: +
    + + + Item + + : + 'T5 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 5 of 7 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T5 +
+
+
+
+
+
+ +

+ + + Choice6Of7 'T6 + + +

+
+
+
+ Full Usage: + Choice6Of7 'T6 +
+
+ Parameters: +
    + + + Item + + : + 'T6 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 6 of 7 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T6 +
+
+
+
+
+
+ +

+ + + Choice7Of7 'T7 + + +

+
+
+
+ Full Usage: + Choice7Of7 'T7 +
+
+ Parameters: +
    + + + Item + + : + 'T7 + +
    +
+
+
+
+
+
+
+ +
+
+

+ Choice 7 of 7 choices +

+
+
+ + + +
+
+
+
+
+ + Item + + : + 'T7 +
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsChoice1Of7 + + +

+
+
+
+ Full Usage: + this.IsChoice1Of7 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice2Of7 + + +

+
+
+
+ Full Usage: + this.IsChoice2Of7 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice3Of7 + + +

+
+
+
+ Full Usage: + this.IsChoice3Of7 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice4Of7 + + +

+
+
+
+ Full Usage: + this.IsChoice4Of7 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice5Of7 + + +

+
+
+
+ Full Usage: + this.IsChoice5Of7 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice6Of7 + + +

+
+
+
+ Full Usage: + this.IsChoice6Of7 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsChoice7Of7 + + +

+
+
+
+ Full Usage: + this.IsChoice7Of7 +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-fsharpfunc-2.html b/reference/fsharp-core-fsharpfunc-2.html new file mode 100644 index 000000000..efda2799d --- /dev/null +++ b/reference/fsharp-core-fsharpfunc-2.html @@ -0,0 +1,1568 @@ + + + + + + + + + + + + + + + + + + FSharpFunc<'T, 'U> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharpFunc<'T, 'U> Type +

+ +
+
+
+

+ The CLI type used to represent F# function values. This type is not + typically used directly, though may be used from other CLI languages. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + FSharpFunc() + + +

+
+
+
+ Full Usage: + FSharpFunc() +
+
+ + Returns: + FSharpFunc<'T, 'U> + + The created F# function. +
+
+
+
+
+
+ +
+
+

+ Construct an instance of an F# first class function value +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + FSharpFunc<'T, 'U> +
+
+

+ The created F# function. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: +
    + + + func + + : + 'T + - + + +
    +
+
+ + Returns: + 'U + + 'U +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Invoke an F# first class function value with one argument +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T +
+
+

+ +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ 'U +

+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + FSharpFunc.FromConverter(converter) + + +

+
+
+
+ Full Usage: + FSharpFunc.FromConverter(converter) +
+
+ Parameters: +
    + + + converter + + : + Converter<'T, 'U> + - + The input System.Converter. + +
    +
+
+ + Returns: + 'T -> 'U + + An F# function of the same type. +
+
+
+
+
+
+ +
+
+

+ Convert an value of type Converter to a F# first class function value +

+
+
+ + + + + +
+
+
+
+
+ + converter + + : + Converter<'T, 'U> +
+
+

+ The input System.Converter. +

+
+
+
+
+ + Returns: + + 'T -> 'U +
+
+

+ An F# function of the same type. +

+
+
+
+
+
+ +

+ + + FSharpFunc.InvokeFast(func, arg1, arg2) + + +

+
+
+
+ Full Usage: + FSharpFunc.InvokeFast(func, arg1, arg2) +
+
+ Parameters: +
    + + + func + + : + FSharpFunc<'T, ('U -> 'V)> + - + The input function. + +
    + + + arg1 + + : + 'T + - + The first arg. + +
    + + + arg2 + + : + 'U + - + The second arg. + +
    +
+
+ + Returns: + 'V + + The function result. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + FSharpFunc<'T, ('U -> 'V)> +
+
+

+ The input function. +

+
+
+ + arg1 + + : + 'T +
+
+

+ The first arg. +

+
+
+ + arg2 + + : + 'U +
+
+

+ The second arg. +

+
+
+
+
+ + Returns: + + 'V +
+
+

+ The function result. +

+
+
+
+
+
+ +

+ + + FSharpFunc.InvokeFast(func, arg1, arg2, arg3) + + +

+
+
+
+ Full Usage: + FSharpFunc.InvokeFast(func, arg1, arg2, arg3) +
+
+ Parameters: +
    + + + func + + : + FSharpFunc<'T, ('U -> 'V -> 'W)> + - + The input function. + +
    + + + arg1 + + : + 'T + - + The first arg. + +
    + + + arg2 + + : + 'U + - + The second arg. + +
    + + + arg3 + + : + 'V + - + The third arg. + +
    +
+
+ + Returns: + 'W + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + FSharpFunc<'T, ('U -> 'V -> 'W)> +
+
+

+ The input function. +

+
+
+ + arg1 + + : + 'T +
+
+

+ The first arg. +

+
+
+ + arg2 + + : + 'U +
+
+

+ The second arg. +

+
+
+ + arg3 + + : + 'V +
+
+

+ The third arg. +

+
+
+
+
+ + Returns: + + 'W +
+
+

+ The function result. +

+
+
+
+
+
+ +

+ + + FSharpFunc.InvokeFast(func, arg1, arg2, arg3, arg4) + + +

+
+
+
+ Full Usage: + FSharpFunc.InvokeFast(func, arg1, arg2, arg3, arg4) +
+
+ Parameters: +
    + + + func + + : + FSharpFunc<'T, ('U -> 'V -> 'W -> 'X)> + - + The input function. + +
    + + + arg1 + + : + 'T + - + The first arg. + +
    + + + arg2 + + : + 'U + - + The second arg. + +
    + + + arg3 + + : + 'V + - + The third arg. + +
    + + + arg4 + + : + 'W + - + The fourth arg. + +
    +
+
+ + Returns: + 'X + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + FSharpFunc<'T, ('U -> 'V -> 'W -> 'X)> +
+
+

+ The input function. +

+
+
+ + arg1 + + : + 'T +
+
+

+ The first arg. +

+
+
+ + arg2 + + : + 'U +
+
+

+ The second arg. +

+
+
+ + arg3 + + : + 'V +
+
+

+ The third arg. +

+
+
+ + arg4 + + : + 'W +
+
+

+ The fourth arg. +

+
+
+
+
+ + Returns: + + 'X +
+
+

+ The function result. +

+
+
+
+
+
+ +

+ + + FSharpFunc.InvokeFast(func, arg1, arg2, arg3, arg4, arg5) + + +

+
+
+
+ Full Usage: + FSharpFunc.InvokeFast(func, arg1, arg2, arg3, arg4, arg5) +
+
+ Parameters: +
    + + + func + + : + FSharpFunc<'T, ('U -> 'V -> 'W -> 'X -> 'Y)> + - + The input function. + +
    + + + arg1 + + : + 'T + - + The first arg. + +
    + + + arg2 + + : + 'U + - + The second arg. + +
    + + + arg3 + + : + 'V + - + The third arg. + +
    + + + arg4 + + : + 'W + - + The fourth arg. + +
    + + + arg5 + + : + 'X + - + The fifth arg. + +
    +
+
+ + Returns: + 'Y + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + FSharpFunc<'T, ('U -> 'V -> 'W -> 'X -> 'Y)> +
+
+

+ The input function. +

+
+
+ + arg1 + + : + 'T +
+
+

+ The first arg. +

+
+
+ + arg2 + + : + 'U +
+
+

+ The second arg. +

+
+
+ + arg3 + + : + 'V +
+
+

+ The third arg. +

+
+
+ + arg4 + + : + 'W +
+
+

+ The fourth arg. +

+
+
+ + arg5 + + : + 'X +
+
+

+ The fifth arg. +

+
+
+
+
+ + Returns: + + 'Y +
+
+

+ The function result. +

+
+
+
+
+
+ +

+ + + FSharpFunc.ToConverter(func) + + +

+
+
+
+ Full Usage: + FSharpFunc.ToConverter(func) +
+
+ Parameters: +
    + + + func + + : + 'T -> 'U + - + The input function. + +
    +
+
+ + Returns: + Converter<'T, 'U> + + System.Converter<'T,'U> +
+
+
+
+
+
+ +
+
+

+ Convert an F# first class function value to a value of type Converter +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T -> 'U +
+
+

+ The input function. +

+
+
+
+
+ + Returns: + + Converter<'T, 'U> +
+
+

+ System.Converter<'T,'U> +

+
+
+
+
+
+ +

+ + + FSharpFunc.op_Implicit converter + + +

+
+
+
+ Full Usage: + FSharpFunc.op_Implicit converter +
+
+ Parameters: +
    + + + converter + + : + Converter<'T, 'U> + - + The input System.Converter. + +
    +
+
+ + Returns: + 'T -> 'U + + An F# function of the same type. +
+
+
+
+
+
+ +
+
+

+ Convert an value of type Converter to a F# first class function value +

+
+
+ + + + + +
+
+
+
+
+ + converter + + : + Converter<'T, 'U> +
+
+

+ The input System.Converter. +

+
+
+
+
+ + Returns: + + 'T -> 'U +
+
+

+ An F# function of the same type. +

+
+
+
+
+
+ +

+ + + FSharpFunc.op_Implicit func + + +

+
+
+
+ Full Usage: + FSharpFunc.op_Implicit func +
+
+ Parameters: +
    + + + func + + : + 'T -> 'U + - + The input function. + +
    +
+
+ + Returns: + Converter<'T, 'U> + + A System.Converter of the function type. +
+
+
+
+
+
+ +
+
+

+ Convert an F# first class function value to a value of type Converter +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T -> 'U +
+
+

+ The input function. +

+
+
+
+
+ + Returns: + + Converter<'T, 'U> +
+
+

+ A System.Converter of the function type. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-fsharpinterfacedataversionattribute.html b/reference/fsharp-core-fsharpinterfacedataversionattribute.html new file mode 100644 index 000000000..8a8fd9acf --- /dev/null +++ b/reference/fsharp-core-fsharpinterfacedataversionattribute.html @@ -0,0 +1,647 @@ + + + + + + + + + + + + + + + + + + FSharpInterfaceDataVersionAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharpInterfaceDataVersionAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + FSharpInterfaceDataVersionAttribute(major, minor, release) + + +

+
+
+
+ Full Usage: + FSharpInterfaceDataVersionAttribute(major, minor, release) +
+
+ Parameters: +
    + + + major + + : + int + - + The major version number. + +
    + + + minor + + : + int + - + The minor version number. + +
    + + + release + + : + int + - + The release number. + +
    +
+
+ + Returns: + FSharpInterfaceDataVersionAttribute + + FSharpInterfaceDataVersionAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + major + + : + int +
+
+

+ The major version number. +

+
+
+ + minor + + : + int +
+
+

+ The minor version number. +

+
+
+ + release + + : + int +
+
+

+ The release number. +

+
+
+
+
+ + Returns: + + FSharpInterfaceDataVersionAttribute +
+
+

+ FSharpInterfaceDataVersionAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Major + + +

+
+
+
+ Full Usage: + this.Major +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ The major version number of the F# version associated with the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + this.Minor + + +

+
+
+
+ Full Usage: + this.Minor +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ The minor version number of the F# version associated with the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + this.Release + + +

+
+
+
+ Full Usage: + this.Release +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ The release number of the F# version associated with the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-fsharpresult-2.html b/reference/fsharp-core-fsharpresult-2.html new file mode 100644 index 000000000..bc17f5d9f --- /dev/null +++ b/reference/fsharp-core-fsharpresult-2.html @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + Result<'T, 'TError> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Result<'T, 'TError> Type +

+ +
+
+
+

+ Helper type for error handling without exceptions. +

+
+
+
+
+
+
+
+

+ Union cases +

+ + + + + + + + + + + + + + + + + +
+ Union case + + Description + +
+
+ +

+ + + Error ErrorValue + + +

+
+
+
+ Full Usage: + Error ErrorValue +
+
+ Parameters: +
    + + + ErrorValue + + : + 'TError + +
    +
+
+
+
+
+
+
+ +
+
+

+ Represents an Error or a Failure. The code failed with a value of 'TError representing what went wrong. +

+
+
+ + + +
+
+
+
+
+ + ErrorValue + + : + 'TError +
+
+
+
+
+
+ +

+ + + Ok ResultValue + + +

+
+
+
+ Full Usage: + Ok ResultValue +
+
+ Parameters: +
    + + + ResultValue + + : + 'T + +
    +
+
+
+
+
+
+
+ +
+
+

+ Represents an OK or a Successful result. The code succeeded with a value of 'T. +

+
+
+ + + +
+
+
+
+
+ + ResultValue + + : + 'T +
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsError + + +

+
+
+
+ Full Usage: + this.IsError +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsOk + + +

+
+
+
+ Full Usage: + this.IsOk +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-fsharptypefunc.html b/reference/fsharp-core-fsharptypefunc.html new file mode 100644 index 000000000..6458a4fe9 --- /dev/null +++ b/reference/fsharp-core-fsharptypefunc.html @@ -0,0 +1,459 @@ + + + + + + + + + + + + + + + + + + FSharpTypeFunc (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharpTypeFunc Type +

+ +
+
+
+

+ The CLI type used to represent F# first-class type function values. This type is for use + by compiled F# code. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + FSharpTypeFunc() + + +

+
+
+
+ Full Usage: + FSharpTypeFunc() +
+
+ + Returns: + FSharpTypeFunc + + FSharpTypeFunc +
+
+
+
+
+
+ +
+
+

+ Construct an instance of an F# first class type function value +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + FSharpTypeFunc +
+
+

+ FSharpTypeFunc +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Specialize + + +

+
+
+
+ Full Usage: + this.Specialize +
+
+ + Returns: + obj + + The specialized type. +
+ Modifiers: + abstract +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Specialize the type function at a given type +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + obj +
+
+

+ The specialized type. +

+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-funcconvert.html b/reference/fsharp-core-funcconvert.html new file mode 100644 index 000000000..cc3be1151 --- /dev/null +++ b/reference/fsharp-core-funcconvert.html @@ -0,0 +1,2083 @@ + + + + + + + + + + + + + + + + + + FuncConvert (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FuncConvert Type +

+ +
+
+
+

+ Helper functions for converting F# first class function values to and from CLI representations + of functions using delegates. +

+
+
+
+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + FuncConvert.FromAction(action) + + +

+
+
+
+ Full Usage: + FuncConvert.FromAction(action) +
+
+ Parameters: +
    + + + action + + : + Action<'T1, 'T2, 'T3, 'T4, 'T5> + - + The input Action delegate. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'T5 -> unit + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4, 'T5 +
+
+
+
+
+ +
+
+

+ Convert the given Action delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + Action<'T1, 'T2, 'T3, 'T4, 'T5> +
+
+

+ The input Action delegate. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'T5 -> unit +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromAction(action) + + +

+
+
+
+ Full Usage: + FuncConvert.FromAction(action) +
+
+ Parameters: +
    + + + action + + : + Action<'T1, 'T2, 'T3, 'T4> + - + The input Action delegate. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'T3 -> 'T4 -> unit + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4 +
+
+
+
+
+ +
+
+

+ Convert the given Action delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + Action<'T1, 'T2, 'T3, 'T4> +
+
+

+ The input Action delegate. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'T3 -> 'T4 -> unit +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromAction(action) + + +

+
+
+
+ Full Usage: + FuncConvert.FromAction(action) +
+
+ Parameters: +
    + + + action + + : + Action<'T1, 'T2, 'T3> + - + The input Action delegate. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'T3 -> unit + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3 +
+
+
+
+
+ +
+
+

+ Convert the given Action delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + Action<'T1, 'T2, 'T3> +
+
+

+ The input Action delegate. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'T3 -> unit +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromAction(action) + + +

+
+
+
+ Full Usage: + FuncConvert.FromAction(action) +
+
+ Parameters: +
    + + + action + + : + Action<'T1, 'T2> + - + The input Action delegate. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> unit + + The F#funcfunction. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2 +
+
+
+
+
+ +
+
+

+ Convert the given Action delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + Action<'T1, 'T2> +
+
+

+ The input Action delegate. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> unit +
+
+

+ The F#funcfunction. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromAction(action) + + +

+
+
+
+ Full Usage: + FuncConvert.FromAction(action) +
+
+ Parameters: +
    + + + action + + : + Action<'T> + - + The input Action delegate. + +
    +
+
+ + Returns: + 'T -> unit + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert the given Action delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + Action<'T> +
+
+

+ The input Action delegate. +

+
+
+
+
+ + Returns: + + 'T -> unit +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromAction(action) + + +

+
+
+
+ Full Usage: + FuncConvert.FromAction(action) +
+
+ Parameters: +
    + + + action + + : + Action + - + The input Action delegate. + +
    +
+
+ + Returns: + unit -> unit + + The F# function. +
+ Modifiers: + inline +
+
+
+
+
+
+ +
+
+

+ Convert the given Action delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + Action +
+
+

+ The input Action delegate. +

+
+
+
+
+ + Returns: + + unit -> unit +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromFunc(func) + + +

+
+
+
+ Full Usage: + FuncConvert.FromFunc(func) +
+
+ Parameters: +
    + + + func + + : + Func<'T1, 'T2, 'T3, 'T4, 'T5, 'U> + - + The input Func delegate. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'T5 -> 'U + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4, 'T5, 'U +
+
+
+
+
+ +
+
+

+ Convert the given Func delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + Func<'T1, 'T2, 'T3, 'T4, 'T5, 'U> +
+
+

+ The input Func delegate. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'T5 -> 'U +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromFunc(func) + + +

+
+
+
+ Full Usage: + FuncConvert.FromFunc(func) +
+
+ Parameters: +
    + + + func + + : + Func<'T1, 'T2, 'T3, 'T4, 'U> + - + The input Func delegate. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'U + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4, 'U +
+
+
+
+
+ +
+
+

+ Convert the given Func delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + Func<'T1, 'T2, 'T3, 'T4, 'U> +
+
+

+ The input Func delegate. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'U +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromFunc(func) + + +

+
+
+
+ Full Usage: + FuncConvert.FromFunc(func) +
+
+ Parameters: +
    + + + func + + : + Func<'T1, 'T2, 'T3, 'U> + - + The input Func delegate. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'T3 -> 'U + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'U +
+
+
+
+
+ +
+
+

+ Convert the given Func delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + Func<'T1, 'T2, 'T3, 'U> +
+
+

+ The input Func delegate. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'T3 -> 'U +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromFunc(func) + + +

+
+
+
+ Full Usage: + FuncConvert.FromFunc(func) +
+
+ Parameters: +
    + + + func + + : + Func<'T1, 'T2, 'U> + - + The input Func delegate. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'U + + The F#funcfunction. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'U +
+
+
+
+
+ +
+
+

+ Convert the given Func delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + Func<'T1, 'T2, 'U> +
+
+

+ The input Func delegate. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'U +
+
+

+ The F#funcfunction. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromFunc(func) + + +

+
+
+
+ Full Usage: + FuncConvert.FromFunc(func) +
+
+ Parameters: +
    + + + func + + : + Func<'T, 'U> + - + The input Func delegate. + +
    +
+
+ + Returns: + 'T -> 'U + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Convert the given Func delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + Func<'T, 'U> +
+
+

+ The input Func delegate. +

+
+
+
+
+ + Returns: + + 'T -> 'U +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FromFunc(func) + + +

+
+
+
+ Full Usage: + FuncConvert.FromFunc(func) +
+
+ Parameters: +
    + + + func + + : + Func<'T> + - + The input Func delegate. + +
    +
+
+ + Returns: + unit -> 'T + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert the given Func delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + Func<'T> +
+
+

+ The input Func delegate. +

+
+
+
+
+ + Returns: + + unit -> 'T +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FuncFromTupled(func) + + +

+
+
+
+ Full Usage: + FuncConvert.FuncFromTupled(func) +
+
+ Parameters: +
    + + + func + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 -> 'U + - + The input tupled function. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'T5 -> 'U + + The output curried function. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4, 'T5, 'U +
+
+
+
+
+ +
+
+

+ A utility function to convert function values from tupled to curried form +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 -> 'U +
+
+

+ The input tupled function. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'T5 -> 'U +
+
+

+ The output curried function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FuncFromTupled(func) + + +

+
+
+
+ Full Usage: + FuncConvert.FuncFromTupled(func) +
+
+ Parameters: +
    + + + func + + : + 'T1 * 'T2 * 'T3 * 'T4 -> 'U + - + The input tupled function. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'U + + The output curried function. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4, 'U +
+
+
+
+
+ +
+
+

+ A utility function to convert function values from tupled to curried form +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T1 * 'T2 * 'T3 * 'T4 -> 'U +
+
+

+ The input tupled function. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'U +
+
+

+ The output curried function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FuncFromTupled(func) + + +

+
+
+
+ Full Usage: + FuncConvert.FuncFromTupled(func) +
+
+ Parameters: +
    + + + func + + : + 'T1 * 'T2 * 'T3 -> 'U + - + The input tupled function. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'T3 -> 'U + + The output curried function. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'U +
+
+
+
+
+ +
+
+

+ A utility function to convert function values from tupled to curried form +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T1 * 'T2 * 'T3 -> 'U +
+
+

+ The input tupled function. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'T3 -> 'U +
+
+

+ The output curried function. +

+
+
+
+
+
+ +

+ + + FuncConvert.FuncFromTupled(func) + + +

+
+
+
+ Full Usage: + FuncConvert.FuncFromTupled(func) +
+
+ Parameters: +
    + + + func + + : + 'T1 * 'T2 -> 'U + - + The input tupled function. + +
    +
+
+ + Returns: + 'T1 -> 'T2 -> 'U + + The output curried function. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'U +
+
+
+
+
+ +
+
+

+ A utility function to convert function values from tupled to curried form +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T1 * 'T2 -> 'U +
+
+

+ The input tupled function. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T2 -> 'U +
+
+

+ The output curried function. +

+
+
+
+
+
+ +

+ + + FuncConvert.ToFSharpFunc(converter) + + +

+
+
+
+ Full Usage: + FuncConvert.ToFSharpFunc(converter) +
+
+ Parameters: +
    + + + converter + + : + Converter<'T, 'U> + - + The input Converter delegate. + +
    +
+
+ + Returns: + 'T -> 'U + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Convert the given Converter delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + converter + + : + Converter<'T, 'U> +
+
+

+ The input Converter delegate. +

+
+
+
+
+ + Returns: + + 'T -> 'U +
+
+

+ The F# function. +

+
+
+
+
+
+ +

+ + + FuncConvert.ToFSharpFunc(action) + + +

+
+
+
+ Full Usage: + FuncConvert.ToFSharpFunc(action) +
+
+ Parameters: +
    + + + action + + : + Action<'T> + - + The input Action delegate. + +
    +
+
+ + Returns: + 'T -> unit + + The F# function. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert the given Action delegate object to an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + Action<'T> +
+
+

+ The input Action delegate. +

+
+
+
+
+ + Returns: + + 'T -> unit +
+
+

+ The F# function. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-generalizablevalueattribute.html b/reference/fsharp-core-generalizablevalueattribute.html new file mode 100644 index 000000000..1ba4daefd --- /dev/null +++ b/reference/fsharp-core-generalizablevalueattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + GeneralizableValueAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ GeneralizableValueAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + GeneralizableValueAttribute() + + +

+
+
+
+ Full Usage: + GeneralizableValueAttribute() +
+
+ + Returns: + GeneralizableValueAttribute + + GeneralizableValueAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + GeneralizableValueAttribute +
+
+

+ GeneralizableValueAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-ilsigptr-1.html b/reference/fsharp-core-ilsigptr-1.html new file mode 100644 index 000000000..9091341ed --- /dev/null +++ b/reference/fsharp-core-ilsigptr-1.html @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + ilsigptr<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ilsigptr<'T> Type +

+ +
+
+
+

+ Represents an Common IL (Intermediate Language) Signature Pointer. +

+
+
+

+ This type should only be used when writing F# code that interoperates + with other .NET languages that use generic Common IL Signature Pointers. + Use of this type in F# code may result in unverifiable code being generated. + Because of the rules of Common IL Signature Pointers, you cannot use this type in generic type parameters, + resulting in compiler errors. As a result, you should convert this type to nativeptr{T} + for use in F#. Note that Common IL Signature Pointers exposed by other .NET languages are converted to + nativeptr{T} or voidptr automatically by F#, + and F# also shows generic-specialized typed native pointers correctly to other .NET languages as Common IL Signature Pointers. + However, generic typed native pointers are shown as IntPtr to other .NET languages. + For other languages to interpret generic F# typed native pointers correctly, you should expose this type or + voidptr instead of nativeptr{T}. + Values of this type can be generated by the functions in the NativeInterop.NativePtr module. +

+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-inlineiflambdaattribute.html b/reference/fsharp-core-inlineiflambdaattribute.html new file mode 100644 index 000000000..b4a1998a0 --- /dev/null +++ b/reference/fsharp-core-inlineiflambdaattribute.html @@ -0,0 +1,375 @@ + + + + + + + + + + + + + + + + + + InlineIfLambdaAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ InlineIfLambdaAttribute Type +

+ +
+
+
+

+ Adding this attribute to a parameter of function type indicates that, if the overall function or method is inlined and the parameter is + determined to be a known lambda, then this function should be statically inlined throughout the body of the function of method. +

+
+
+

+ If the function parameter is called multiple times in the implementation of the function or method this attribute may cause code explosion and slow compilation times. +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + InlineIfLambdaAttribute() + + +

+
+
+
+ Full Usage: + InlineIfLambdaAttribute() +
+
+ + Returns: + InlineIfLambdaAttribute + + InlineIfLambdaAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + InlineIfLambdaAttribute +
+
+

+ InlineIfLambdaAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-inref-1.html b/reference/fsharp-core-inref-1.html new file mode 100644 index 000000000..ae1711836 --- /dev/null +++ b/reference/fsharp-core-inref-1.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + inref<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ inref<'T> Type +

+ +
+
+
+

+ Represents a in-argument or readonly managed pointer in F# code. This type should only be used with F# 4.5+. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-int-1.html b/reference/fsharp-core-int-1.html new file mode 100644 index 000000000..1effdb1f9 --- /dev/null +++ b/reference/fsharp-core-int-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + int<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ int<'Measure> Type +

+ +
+
+
+

+ 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 + Int32. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-int.html b/reference/fsharp-core-int.html new file mode 100644 index 000000000..a32ebccba --- /dev/null +++ b/reference/fsharp-core-int.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + int (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ int Type +

+ +
+
+
+

+ An abbreviation for the CLI type Int32. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-int16-1.html b/reference/fsharp-core-int16-1.html new file mode 100644 index 000000000..ab903353d --- /dev/null +++ b/reference/fsharp-core-int16-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + int16<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ int16<'Measure> Type +

+ +
+
+
+

+ 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 + Int16. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-int16.html b/reference/fsharp-core-int16.html new file mode 100644 index 000000000..0af346b10 --- /dev/null +++ b/reference/fsharp-core-int16.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + int16 (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ int16 Type +

+ +
+
+
+

+ An abbreviation for the CLI type Int16. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-int32-1.html b/reference/fsharp-core-int32-1.html new file mode 100644 index 000000000..11e8d5ea1 --- /dev/null +++ b/reference/fsharp-core-int32-1.html @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + int32<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ int32<'Measure> Type +

+ +
+
+
+

+ 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 + Int32. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-int32.html b/reference/fsharp-core-int32.html new file mode 100644 index 000000000..b08b3d410 --- /dev/null +++ b/reference/fsharp-core-int32.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + int32 (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ int32 Type +

+ +
+
+
+

+ An abbreviation for the CLI type Int32. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-int64-1.html b/reference/fsharp-core-int64-1.html new file mode 100644 index 000000000..841633e8a --- /dev/null +++ b/reference/fsharp-core-int64-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + int64<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ int64<'Measure> Type +

+ +
+
+
+

+ 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 + Int64. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-int64.html b/reference/fsharp-core-int64.html new file mode 100644 index 000000000..7fb227eae --- /dev/null +++ b/reference/fsharp-core-int64.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + int64 (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ int64 Type +

+ +
+
+
+

+ An abbreviation for the CLI type Int64. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-int8-1.html b/reference/fsharp-core-int8-1.html new file mode 100644 index 000000000..b8ab8e43e --- /dev/null +++ b/reference/fsharp-core-int8-1.html @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + int8<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ int8<'Measure> Type +

+ +
+
+
+

+ 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 + SByte. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-int8.html b/reference/fsharp-core-int8.html new file mode 100644 index 000000000..816995330 --- /dev/null +++ b/reference/fsharp-core-int8.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + int8 (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ int8 Type +

+ +
+
+
+

+ An abbreviation for the CLI type SByte. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-interfaceattribute.html b/reference/fsharp-core-interfaceattribute.html new file mode 100644 index 000000000..9edae8c67 --- /dev/null +++ b/reference/fsharp-core-interfaceattribute.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + InterfaceAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ InterfaceAttribute Type +

+ +
+
+
+

+ Adding this attribute to a type causes it to be represented using a CLI interface. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + InterfaceAttribute() + + +

+
+
+
+ Full Usage: + InterfaceAttribute() +
+
+ + Returns: + InterfaceAttribute + + InterfaceAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + InterfaceAttribute +
+
+

+ InterfaceAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-languageprimitives-errorstrings.html b/reference/fsharp-core-languageprimitives-errorstrings.html new file mode 100644 index 000000000..a3c5de060 --- /dev/null +++ b/reference/fsharp-core-languageprimitives-errorstrings.html @@ -0,0 +1,534 @@ + + + + + + + + + + + + + + + + + + ErrorStrings (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ErrorStrings Module +

+ +
+
+
+

+ For compiler use only +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + AddressOpNotFirstClassString + + +

+
+
+
+ Full Usage: + AddressOpNotFirstClassString +
+
+ + Returns: + string + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + string +
+
+
+
+
+
+ +

+ + + InputArrayEmptyString + + +

+
+
+
+ Full Usage: + InputArrayEmptyString +
+
+ + Returns: + string + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + string +
+
+
+
+
+
+ +

+ + + InputMustBeNonNegativeString + + +

+
+
+
+ Full Usage: + InputMustBeNonNegativeString +
+
+ + Returns: + string + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + string +
+
+
+
+
+
+ +

+ + + InputSequenceEmptyString + + +

+
+
+
+ Full Usage: + InputSequenceEmptyString +
+
+ + Returns: + string + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + string +
+
+
+
+
+
+ +

+ + + NoNegateMinValueString + + +

+
+
+
+ Full Usage: + NoNegateMinValueString +
+
+ + Returns: + string + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-languageprimitives-hashcompare.html b/reference/fsharp-core-languageprimitives-hashcompare.html new file mode 100644 index 000000000..1b3c27318 --- /dev/null +++ b/reference/fsharp-core-languageprimitives-hashcompare.html @@ -0,0 +1,3066 @@ + + + + + + + + + + + + + + + + + + HashCompare (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ HashCompare Module +

+ +
+
+
+

+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + FastCompareTuple2 comparer tuple1 tuple2 + + +

+
+
+
+ Full Usage: + FastCompareTuple2 comparer tuple1 tuple2 +
+
+ Parameters: +
    + + + comparer + + : + IComparer + +
    + + + tuple1 + + : + 'T1 * 'T2 + +
    + + + tuple2 + + : + 'T1 * 'T2 + +
    +
+
+ + Returns: + int + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IComparer +
+
+
+ + tuple1 + + : + 'T1 * 'T2 +
+
+
+ + tuple2 + + : + 'T1 * 'T2 +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + FastCompareTuple3 comparer tuple1 tuple2 + + +

+
+
+
+ Full Usage: + FastCompareTuple3 comparer tuple1 tuple2 +
+
+ Parameters: +
    + + + comparer + + : + IComparer + +
    + + + tuple1 + + : + 'T1 * 'T2 * 'T3 + +
    + + + tuple2 + + : + 'T1 * 'T2 * 'T3 + +
    +
+
+ + Returns: + int + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IComparer +
+
+
+ + tuple1 + + : + 'T1 * 'T2 * 'T3 +
+
+
+ + tuple2 + + : + 'T1 * 'T2 * 'T3 +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + FastCompareTuple4 comparer tuple1 tuple2 + + +

+
+
+
+ Full Usage: + FastCompareTuple4 comparer tuple1 tuple2 +
+
+ Parameters: +
    + + + comparer + + : + IComparer + +
    + + + tuple1 + + : + 'T1 * 'T2 * 'T3 * 'T4 + +
    + + + tuple2 + + : + 'T1 * 'T2 * 'T3 * 'T4 + +
    +
+
+ + Returns: + int + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IComparer +
+
+
+ + tuple1 + + : + 'T1 * 'T2 * 'T3 * 'T4 +
+
+
+ + tuple2 + + : + 'T1 * 'T2 * 'T3 * 'T4 +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + FastCompareTuple5 comparer tuple1 tuple2 + + +

+
+
+
+ Full Usage: + FastCompareTuple5 comparer tuple1 tuple2 +
+
+ Parameters: +
    + + + comparer + + : + IComparer + +
    + + + tuple1 + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 + +
    + + + tuple2 + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 + +
    +
+
+ + Returns: + int + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4, 'T5 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IComparer +
+
+
+ + tuple1 + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 +
+
+
+ + tuple2 + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + FastEqualsTuple2 comparer tuple1 tuple2 + + +

+
+
+
+ Full Usage: + FastEqualsTuple2 comparer tuple1 tuple2 +
+
+ Parameters: +
    + + + comparer + + : + IEqualityComparer + +
    + + + tuple1 + + : + 'T1 * 'T2 + +
    + + + tuple2 + + : + 'T1 * 'T2 + +
    +
+
+ + Returns: + bool + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IEqualityComparer +
+
+
+ + tuple1 + + : + 'T1 * 'T2 +
+
+
+ + tuple2 + + : + 'T1 * 'T2 +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + FastEqualsTuple3 comparer tuple1 tuple2 + + +

+
+
+
+ Full Usage: + FastEqualsTuple3 comparer tuple1 tuple2 +
+
+ Parameters: +
    + + + comparer + + : + IEqualityComparer + +
    + + + tuple1 + + : + 'T1 * 'T2 * 'T3 + +
    + + + tuple2 + + : + 'T1 * 'T2 * 'T3 + +
    +
+
+ + Returns: + bool + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IEqualityComparer +
+
+
+ + tuple1 + + : + 'T1 * 'T2 * 'T3 +
+
+
+ + tuple2 + + : + 'T1 * 'T2 * 'T3 +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + FastEqualsTuple4 comparer tuple1 tuple2 + + +

+
+
+
+ Full Usage: + FastEqualsTuple4 comparer tuple1 tuple2 +
+
+ Parameters: +
    + + + comparer + + : + IEqualityComparer + +
    + + + tuple1 + + : + 'T1 * 'T2 * 'T3 * 'T4 + +
    + + + tuple2 + + : + 'T1 * 'T2 * 'T3 * 'T4 + +
    +
+
+ + Returns: + bool + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IEqualityComparer +
+
+
+ + tuple1 + + : + 'T1 * 'T2 * 'T3 * 'T4 +
+
+
+ + tuple2 + + : + 'T1 * 'T2 * 'T3 * 'T4 +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + FastEqualsTuple5 comparer tuple1 tuple2 + + +

+
+
+
+ Full Usage: + FastEqualsTuple5 comparer tuple1 tuple2 +
+
+ Parameters: +
    + + + comparer + + : + IEqualityComparer + +
    + + + tuple1 + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 + +
    + + + tuple2 + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 + +
    +
+
+ + Returns: + bool + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4, 'T5 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IEqualityComparer +
+
+
+ + tuple1 + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 +
+
+
+ + tuple2 + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + FastHashTuple2 comparer tuple + + +

+
+
+
+ Full Usage: + FastHashTuple2 comparer tuple +
+
+ Parameters: + +
+ + Returns: + int + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IEqualityComparer +
+
+
+ + tuple + + : + 'T1 * 'T2 +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + FastHashTuple3 comparer tuple + + +

+
+
+
+ Full Usage: + FastHashTuple3 comparer tuple +
+
+ Parameters: +
    + + + comparer + + : + IEqualityComparer + +
    + + + tuple + + : + 'T1 * 'T2 * 'T3 + +
    +
+
+ + Returns: + int + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IEqualityComparer +
+
+
+ + tuple + + : + 'T1 * 'T2 * 'T3 +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + FastHashTuple4 comparer tuple + + +

+
+
+
+ Full Usage: + FastHashTuple4 comparer tuple +
+
+ Parameters: +
    + + + comparer + + : + IEqualityComparer + +
    + + + tuple + + : + 'T1 * 'T2 * 'T3 * 'T4 + +
    +
+
+ + Returns: + int + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IEqualityComparer +
+
+
+ + tuple + + : + 'T1 * 'T2 * 'T3 * 'T4 +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + FastHashTuple5 comparer tuple + + +

+
+
+
+ Full Usage: + FastHashTuple5 comparer tuple +
+
+ Parameters: +
    + + + comparer + + : + IEqualityComparer + +
    + + + tuple + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 + +
    +
+
+ + Returns: + int + +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'T4, 'T5 +
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IEqualityComparer +
+
+
+ + tuple + + : + 'T1 * 'T2 * 'T3 * 'T4 * 'T5 +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + GenericComparisonIntrinsic x y + + +

+
+
+
+ Full Usage: + GenericComparisonIntrinsic x y +
+
+ Parameters: +
    + + + x + + : + 'T + +
    + + + y + + : + 'T + +
    +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'T +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + GenericComparisonWithComparerIntrinsic comp x y + + +

+
+
+
+ Full Usage: + GenericComparisonWithComparerIntrinsic comp x y +
+
+ Parameters: +
    + + + comp + + : + IComparer + +
    + + + x + + : + 'T + +
    + + + y + + : + 'T + +
    +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comp + + : + IComparer +
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'T +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + GenericEqualityERIntrinsic x y + + +

+
+
+
+ Full Usage: + GenericEqualityERIntrinsic x y +
+
+ Parameters: +
    + + + x + + : + 'T + +
    + + + y + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + GenericEqualityIntrinsic x y + + +

+
+
+
+ Full Usage: + GenericEqualityIntrinsic x y +
+
+ Parameters: +
    + + + x + + : + 'T + +
    + + + y + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + GenericEqualityWithComparerIntrinsic comp x y + + +

+
+
+
+ Full Usage: + GenericEqualityWithComparerIntrinsic comp x y +
+
+ Parameters: +
    + + + comp + + : + IEqualityComparer + +
    + + + x + + : + 'T + +
    + + + y + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comp + + : + IEqualityComparer +
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + GenericGreaterOrEqualIntrinsic x y + + +

+
+
+
+ Full Usage: + GenericGreaterOrEqualIntrinsic x y +
+
+ Parameters: +
    + + + x + + : + 'T + +
    + + + y + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + GenericGreaterThanIntrinsic x y + + +

+
+
+
+ Full Usage: + GenericGreaterThanIntrinsic x y +
+
+ Parameters: +
    + + + x + + : + 'T + +
    + + + y + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + GenericHashIntrinsic input + + +

+
+
+
+ Full Usage: + GenericHashIntrinsic input +
+
+ Parameters: +
    + + + input + + : + 'T + +
    +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + 'T +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + GenericHashWithComparerIntrinsic comp input + + +

+
+
+
+ Full Usage: + GenericHashWithComparerIntrinsic comp input +
+
+ Parameters: + +
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + comp + + : + IEqualityComparer +
+
+
+ + input + + : + 'T +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + GenericLessOrEqualIntrinsic x y + + +

+
+
+
+ Full Usage: + GenericLessOrEqualIntrinsic x y +
+
+ Parameters: +
    + + + x + + : + 'T + +
    + + + y + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + GenericLessThanIntrinsic x y + + +

+
+
+
+ Full Usage: + GenericLessThanIntrinsic x y +
+
+ Parameters: +
    + + + x + + : + 'T + +
    + + + y + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + LimitedGenericHashIntrinsic limit input + + +

+
+
+
+ Full Usage: + LimitedGenericHashIntrinsic limit input +
+
+ Parameters: +
    + + + limit + + : + int + +
    + + + input + + : + 'T + +
    +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + limit + + : + int +
+
+
+ + input + + : + 'T +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + PhysicalEqualityIntrinsic x y + + +

+
+
+
+ Full Usage: + PhysicalEqualityIntrinsic x y +
+
+ Parameters: +
    + + + x + + : + 'T + +
    + + + y + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + PhysicalHashIntrinsic input + + +

+
+
+
+ Full Usage: + PhysicalHashIntrinsic input +
+
+ Parameters: +
    + + + input + + : + 'T + +
    +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ A primitive entry point used by the F# compiler for optimization purposes. +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + 'T +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-languageprimitives-intrinsicfunctions.html b/reference/fsharp-core-languageprimitives-intrinsicfunctions.html new file mode 100644 index 000000000..5e4eaaf3f --- /dev/null +++ b/reference/fsharp-core-languageprimitives-intrinsicfunctions.html @@ -0,0 +1,2305 @@ + + + + + + + + + + + + + + + + + + IntrinsicFunctions (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ IntrinsicFunctions Module +

+ +
+
+
+

+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + CheckThis arg1 + + +

+
+
+
+ Full Usage: + CheckThis arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic for checking initialization soundness of recursive bindings +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + CreateInstance () + + +

+
+
+
+ Full Usage: + CreateInstance () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + 'T + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
This function implements calls to default constructors
+ accessed by 'new' constraints.
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + Dispose resource + + +

+
+
+
+ Full Usage: + Dispose resource +
+
+ Parameters: +
    + + + resource + + : + 'T + +
    +
+
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic for the efficient compilation of sequence expressions +

+
+
+ + + + + +
+
+
+
+
+ + resource + + : + 'T +
+
+
+
+
+
+ +

+ + + FailInit () + + +

+
+
+
+ Full Usage: + FailInit () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic for checking initialization soundness of recursive bindings +

+
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+
+ +

+ + + FailStaticInit () + + +

+
+
+
+ Full Usage: + FailStaticInit () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic for checking initialization soundness of recursive static bindings +

+
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+
+ +

+ + + GetArray source index + + +

+
+
+
+ Full Usage: + GetArray source index +
+
+ Parameters: +
    + + + source + + : + 'T array + +
    + + + index + + : + int + +
    +
+
+ + Returns: + 'T + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ The standard overloaded associative (indexed) lookup operator +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T array +
+
+
+ + index + + : + int +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + GetArray2D source index1 index2 + + +

+
+
+
+ Full Usage: + GetArray2D source index1 index2 +
+
+ Parameters: +
    + + + source + + : + 'T[,] + +
    + + + index1 + + : + int + +
    + + + index2 + + : + int + +
    +
+
+ + Returns: + 'T + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ The standard overloaded associative (2-indexed) lookup operator +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,] +
+
+
+ + index1 + + : + int +
+
+
+ + index2 + + : + int +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + GetArray3D source index1 index2 index3 + + +

+
+
+
+ Full Usage: + GetArray3D source index1 index2 index3 +
+
+ Parameters: +
    + + + source + + : + 'T[,,] + +
    + + + index1 + + : + int + +
    + + + index2 + + : + int + +
    + + + index3 + + : + int + +
    +
+
+ + Returns: + 'T + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ The standard overloaded associative (3-indexed) lookup operator +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,] +
+
+
+ + index1 + + : + int +
+
+
+ + index2 + + : + int +
+
+
+ + index3 + + : + int +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + GetArray4D source index1 index2 index3 index4 + + +

+
+
+
+ Full Usage: + GetArray4D source index1 index2 index3 index4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + +
    + + + index1 + + : + int + +
    + + + index2 + + : + int + +
    + + + index3 + + : + int + +
    + + + index4 + + : + int + +
    +
+
+ + Returns: + 'T + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ The standard overloaded associative (4-indexed) lookup operator +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+
+ + index1 + + : + int +
+
+
+ + index2 + + : + int +
+
+
+ + index3 + + : + int +
+
+
+ + index4 + + : + int +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + GetString source index + + +

+
+
+
+ Full Usage: + GetString source index +
+
+ Parameters: +
    + + + source + + : + string + +
    + + + index + + : + int + +
    +
+
+ + Returns: + char + +
+ Modifiers: + inline +
+
+
+
+
+
+ +
+
+

+ Primitive used by pattern match compilation +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + string +
+
+
+ + index + + : + int +
+
+
+
+
+ + Returns: + + char +
+
+
+
+
+
+ +

+ + + MakeDecimal low medium high isNegative scale + + +

+
+
+
+ Full Usage: + MakeDecimal low medium high isNegative scale +
+
+ Parameters: +
    + + + low + + : + int + +
    + + + medium + + : + int + +
    + + + high + + : + int + +
    + + + isNegative + + : + bool + +
    + + + scale + + : + byte + +
    +
+
+ + Returns: + decimal + +
+ Modifiers: + inline +
+
+
+
+
+
+ +
+
+

+ This function implements parsing of decimal constants +

+
+
+ + + + + +
+
+
+
+
+ + low + + : + int +
+
+
+ + medium + + : + int +
+
+
+ + high + + : + int +
+
+
+ + isNegative + + : + bool +
+
+
+ + scale + + : + byte +
+
+
+
+
+ + Returns: + + decimal +
+
+
+
+
+
+ +

+ + + SetArray target index value + + +

+
+
+
+ Full Usage: + SetArray target index value +
+
+ Parameters: +
    + + + target + + : + 'T array + +
    + + + index + + : + int + +
    + + + value + + : + 'T + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ The standard overloaded associative (indexed) mutation operator +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T array +
+
+
+ + index + + : + int +
+
+
+ + value + + : + 'T +
+
+
+
+
+
+ +

+ + + SetArray2D target index1 index2 value + + +

+
+
+
+ Full Usage: + SetArray2D target index1 index2 value +
+
+ Parameters: +
    + + + target + + : + 'T[,] + +
    + + + index1 + + : + int + +
    + + + index2 + + : + int + +
    + + + value + + : + 'T + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ The standard overloaded associative (2-indexed) mutation operator +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,] +
+
+
+ + index1 + + : + int +
+
+
+ + index2 + + : + int +
+
+
+ + value + + : + 'T +
+
+
+
+
+
+ +

+ + + SetArray3D target index1 index2 index3 value + + +

+
+
+
+ Full Usage: + SetArray3D target index1 index2 index3 value +
+
+ Parameters: +
    + + + target + + : + 'T[,,] + +
    + + + index1 + + : + int + +
    + + + index2 + + : + int + +
    + + + index3 + + : + int + +
    + + + value + + : + 'T + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ The standard overloaded associative (3-indexed) mutation operator +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,] +
+
+
+ + index1 + + : + int +
+
+
+ + index2 + + : + int +
+
+
+ + index3 + + : + int +
+
+
+ + value + + : + 'T +
+
+
+
+
+
+ +

+ + + SetArray4D target index1 index2 index3 index4 value + + +

+
+
+
+ Full Usage: + SetArray4D target index1 index2 index3 index4 value +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + +
    + + + index1 + + : + int + +
    + + + index2 + + : + int + +
    + + + index3 + + : + int + +
    + + + index4 + + : + int + +
    + + + value + + : + 'T + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ The standard overloaded associative (4-indexed) mutation operator +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+
+ + index1 + + : + int +
+
+
+ + index2 + + : + int +
+
+
+ + index3 + + : + int +
+
+
+ + index4 + + : + int +
+
+
+ + value + + : + 'T +
+
+
+
+
+
+ +

+ + + TypeTestFast source + + +

+
+
+
+ Full Usage: + TypeTestFast source +
+
+ Parameters: +
    + + + source + + : + objnull + +
    +
+
+ + Returns: + bool + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements the ':?' operator +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + objnull +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + TypeTestGeneric source + + +

+
+
+
+ Full Usage: + TypeTestGeneric source +
+
+ Parameters: +
    + + + source + + : + objnull + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements the ':?' operator +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + objnull +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + UnboxFast source + + +

+
+
+
+ Full Usage: + UnboxFast source +
+
+ Parameters: +
    + + + source + + : + objnull + +
    +
+
+ + Returns: + 'T + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements the ':?>' operator +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + objnull +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + UnboxGeneric source + + +

+
+
+
+ Full Usage: + UnboxGeneric source +
+
+ Parameters: +
    + + + source + + : + objnull + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements the ':?>' operator +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + objnull +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-languageprimitives-intrinsicoperators.html b/reference/fsharp-core-languageprimitives-intrinsicoperators.html new file mode 100644 index 000000000..a93ad77fc --- /dev/null +++ b/reference/fsharp-core-languageprimitives-intrinsicoperators.html @@ -0,0 +1,932 @@ + + + + + + + + + + + + + + + + + + IntrinsicOperators (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ IntrinsicOperators Module +

+ +
+
+
+

+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + e1 && e2 + + +

+
+
+
+ Full Usage: + e1 && e2 +
+
+ Parameters: +
    + + + e1 + + : + bool + - + The first value. + +
    + + + e2 + + : + bool + - + The second value. + +
    +
+
+ + Returns: + bool + + The result of the operation. +
+
+
+
+
+
+ +
+
+

+ Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + bool +
+
+

+ The first value. +

+
+
+ + e2 + + : + bool +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the operation. +

+
+
+
+
+
+ +

+ + + e1 & e2 + + +

+
+
+
+ Full Usage: + e1 & e2 +
+
+ Parameters: +
    + + + e1 + + : + bool + +
    + + + e2 + + : + bool + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Binary 'and'. When used as a binary operator the right hand value is evaluated only on demand. +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + bool +
+
+
+ + e2 + + : + bool +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + e1 || e2 + + +

+
+
+
+ Full Usage: + e1 || e2 +
+
+ Parameters: +
    + + + e1 + + : + bool + - + The first value. + +
    + + + e2 + + : + bool + - + The second value. + +
    +
+
+ + Returns: + bool + + The result of the operation. +
+
+
+
+
+
+ +
+
+

+ Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + bool +
+
+

+ The first value. +

+
+
+ + e2 + + : + bool +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the operation. +

+
+
+
+
+
+ +

+ + + ~&&obj + + +

+
+
+
+ Full Usage: + ~&&obj +
+
+ Parameters: +
    + + + obj + + : + 'T + - + The input object. + +
    +
+
+ + Returns: + nativeptr<'T> + + The unmanaged pointer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Address-of. Uses of this value may result in the generation of unverifiable code. +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + 'T +
+
+

+ The input object. +

+
+
+
+
+ + Returns: + + nativeptr<'T> +
+
+

+ The unmanaged pointer. +

+
+
+
+
+
+ +

+ + + ~&obj + + +

+
+
+
+ Full Usage: + ~&obj +
+
+ Parameters: +
    + + + obj + + : + 'T + - + The input object. + +
    +
+
+ + Returns: + byref<'T> + + The managed pointer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Address-of. Uses of this value may result in the generation of unverifiable code. +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + 'T +
+
+

+ The input object. +

+
+
+
+
+ + Returns: + + byref<'T> +
+
+

+ The managed pointer. +

+
+
+
+
+
+ +

+ + + ``or`` e1 e2 + + +

+
+
+
+ Full Usage: + ``or`` e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + bool + +
    + + + e2 + + : + bool + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Binary 'or'. When used as a binary operator the right hand value is evaluated only on demand. +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + bool +
+
+
+ + e2 + + : + bool +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-languageprimitives.html b/reference/fsharp-core-languageprimitives.html new file mode 100644 index 000000000..41c479cf0 --- /dev/null +++ b/reference/fsharp-core-languageprimitives.html @@ -0,0 +1,7590 @@ + + + + + + + + + + + + + + + + + + LanguagePrimitives (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ LanguagePrimitives Module +

+ +
+
+
+

+ Language primitives associated with the F# language +

+
+
+
+
+

+ Nested modules +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + ErrorStrings + + +

+
+
+
+

+ For compiler use only +

+
+
+ + + + + +
+
+
+

+ + + HashCompare + + +

+
+
+
+

+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs +

+
+
+ + + + + +
+
+
+

+ + + IntrinsicFunctions + + +

+
+
+
+

+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs +

+
+
+ + + + + +
+
+
+

+ + + IntrinsicOperators + + +

+
+
+
+

+ The F# compiler emits calls to some of the functions in this module as part of the compiled form of some language constructs +

+
+
+ + + + + +
+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + AdditionDynamic x y + + +

+
+
+
+ Full Usage: + AdditionDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the '+' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + BitwiseAndDynamic x y + + +

+
+
+
+ Full Usage: + BitwiseAndDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the '&&&' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + BitwiseOrDynamic x y + + +

+
+
+
+ Full Usage: + BitwiseOrDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the '|||' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + ByteWithMeasure input + + +

+
+
+
+ Full Usage: + ByteWithMeasure input +
+
+ Parameters: +
    + + + input + + : + byte + - + The input byte. + +
    +
+
+ + Returns: + byte<'Measure> + + The byte with units-of-measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates a byte value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + byte +
+
+

+ The input byte. +

+
+
+
+
+ + Returns: + + byte<'Measure> +
+
+

+ The byte with units-of-measure. +

+
+
+
+
+
+ +

+ + + CheckedAdditionDynamic x y + + +

+
+
+
+ Full Usage: + CheckedAdditionDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the checked '+' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + CheckedExplicitDynamic value + + +

+
+
+
+ Full Usage: + CheckedExplicitDynamic value +
+
+ Parameters: +
    + + + value + + : + 'T + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations related to checked conversion operators. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + CheckedMultiplyDynamic x y + + +

+
+
+
+ Full Usage: + CheckedMultiplyDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the checked '*' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + CheckedSubtractionDynamic x y + + +

+
+
+
+ Full Usage: + CheckedSubtractionDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the checked '-' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + CheckedUnaryNegationDynamic value + + +

+
+
+
+ Full Usage: + CheckedUnaryNegationDynamic value +
+
+ Parameters: +
    + + + value + + : + 'T + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the checked unary '-' operator. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + DecimalWithMeasure input + + +

+
+
+
+ Full Usage: + DecimalWithMeasure input +
+
+ Parameters: +
    + + + input + + : + decimal + - + The input decimal. + +
    +
+
+ + Returns: + decimal<'Measure> + + The decimal with units of measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates a decimal value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + decimal +
+
+

+ The input decimal. +

+
+
+
+
+ + Returns: + + decimal<'Measure> +
+
+

+ The decimal with units of measure. +

+
+
+
+
+
+ +

+ + + DivideByInt x y + + +

+
+
+
+ Full Usage: + DivideByInt x y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The input value. + +
    + + + y + + : + int + - + The input int. + +
    +
+
+ + Returns: + ^T + + The division result. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Divides a value by an integer. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The input value. +

+
+
+ + y + + : + int +
+
+

+ The input int. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The division result. +

+
+
+
+
+
+ +

+ + + DivideByIntDynamic x y + + +

+
+
+
+ Full Usage: + DivideByIntDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T + +
    + + + y + + : + int + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations for the DivideByInt primitive. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + int +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + DivisionDynamic x y + + +

+
+
+
+ Full Usage: + DivisionDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the '/' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + EnumOfValue value + + +

+
+
+
+ Full Usage: + EnumOfValue value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The input value. + +
    +
+
+ + Returns: + 'Enum + + The value as an enumeration. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Enum +
+
+
+
+
+ +
+
+

+ Build an enum value from an underlying value +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + 'Enum +
+
+

+ The value as an enumeration. +

+
+
+
+
+
+ +

+ + + EnumToValue enum + + +

+
+
+
+ Full Usage: + EnumToValue enum +
+
+ Parameters: +
    + + + enum + + : + 'Enum + - + The input enum. + +
    +
+
+ + Returns: + 'T + + The enumeration as a value. +
+ Modifiers: + inline +
+ Type parameters: + 'Enum, 'T +
+
+
+
+
+ +
+
+

+ Get the underlying value for an enum value +

+
+
+ + + + + +
+
+
+
+
+ + enum + + : + 'Enum +
+
+

+ The input enum. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The enumeration as a value. +

+
+
+
+
+
+ +

+ + + EqualityDynamic x y + + +

+
+
+
+ Full Usage: + EqualityDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations related to the '=' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + ExclusiveOrDynamic x y + + +

+
+
+
+ Full Usage: + ExclusiveOrDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations related to the '^^^' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + ExplicitDynamic value + + +

+
+
+
+ Full Usage: + ExplicitDynamic value +
+
+ Parameters: +
    + + + value + + : + 'T + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations related to conversion operators. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + FastGenericComparer + + +

+
+
+
+ Full Usage: + FastGenericComparer +
+
+ + Returns: + IComparer<'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Make an F# comparer object for the given type +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IComparer<'T> +
+
+
+
+
+
+ +

+ + + FastGenericComparerFromTable + + +

+
+
+
+ Full Usage: + FastGenericComparerFromTable +
+
+ + Returns: + IComparer<'T> + +
+
+
+
+
+
+ +
+
+

+ Make an F# comparer object for the given type +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IComparer<'T> +
+
+
+
+
+
+ +

+ + + FastGenericEqualityComparer + + +

+
+
+
+ Full Usage: + FastGenericEqualityComparer +
+
+ + Returns: + IEqualityComparer<'T> + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Make an F# hash/equality object for the given type +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEqualityComparer<'T> +
+
+
+
+
+
+ +

+ + + FastGenericEqualityComparerFromTable + + +

+
+
+
+ Full Usage: + FastGenericEqualityComparerFromTable +
+
+ + Returns: + IEqualityComparer<'T> + +
+
+
+
+
+
+ +
+
+

+ Make an F# hash/equality object for the given type +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEqualityComparer<'T> +
+
+
+
+
+
+ +

+ + + FastLimitedGenericEqualityComparer limit + + +

+
+
+
+ Full Usage: + FastLimitedGenericEqualityComparer limit +
+
+ Parameters: +
    + + + limit + + : + int + - + The input limit on the number of nodes. + +
    +
+
+ + Returns: + IEqualityComparer<'T> + + System.Collections.Generic.IEqualityComparer<'T> +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Make an F# hash/equality object for the given type using node-limited hashing when hashing F# + records, lists and union types. +

+
+
+ + + + + +
+
+
+
+
+ + limit + + : + int +
+
+

+ The input limit on the number of nodes. +

+
+
+
+
+ + Returns: + + IEqualityComparer<'T> +
+
+

+ System.Collections.Generic.IEqualityComparer<'T> +

+
+
+
+
+
+ +

+ + + Float32WithMeasure input + + +

+
+
+
+ Full Usage: + Float32WithMeasure input +
+
+ Parameters: +
    + + + input + + : + float32 + - + The input float. + +
    +
+
+ + Returns: + float32<'Measure> + + The float with units-of-measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates a float32 value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + float32 +
+
+

+ The input float. +

+
+
+
+
+ + Returns: + + float32<'Measure> +
+
+

+ The float with units-of-measure. +

+
+
+
+
+
+ +

+ + + FloatWithMeasure input + + +

+
+
+
+ Full Usage: + FloatWithMeasure input +
+
+ Parameters: +
    + + + input + + : + float + - + The input float. + +
    +
+
+ + Returns: + float<'Measure> + + The float with units-of-measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates a float value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + float +
+
+

+ The input float. +

+
+
+
+
+ + Returns: + + float<'Measure> +
+
+

+ The float with units-of-measure. +

+
+
+
+
+
+ +

+ + + GenericComparer + + +

+
+
+
+ Full Usage: + GenericComparer +
+
+ + Returns: + IComparer + +
+
+
+
+
+
+ +
+
+

+ A static F# comparer object +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IComparer +
+
+
+
+
+
+ +

+ + + GenericComparison e1 e2 + + +

+
+
+
+ Full Usage: + GenericComparison e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + int + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compare two values +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + GenericComparisonWithComparer comp e1 e2 + + +

+
+
+
+ Full Usage: + GenericComparisonWithComparer comp e1 e2 +
+
+ Parameters: +
    + + + comp + + : + IComparer + - + The function to compare the values. + +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + int + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compare two values. May be called as a recursive case from an implementation of System.IComparable to + ensure consistent NaN comparison semantics. +

+
+
+ + + + + +
+
+
+
+
+ + comp + + : + IComparer +
+
+

+ The function to compare the values. +

+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + GenericEquality e1 e2 + + +

+
+
+
+ Full Usage: + GenericEquality e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compare two values for equality using partial equivalence relation semantics ([nan] <> [nan]) +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + GenericEqualityComparer + + +

+
+
+
+ Full Usage: + GenericEqualityComparer +
+
+ + Returns: + IEqualityComparer + +
+
+
+
+
+
+ +
+
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.
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEqualityComparer +
+
+
+
+
+
+ +

+ + + GenericEqualityER e1 e2 + + +

+
+
+
+ Full Usage: + GenericEqualityER e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compare two values for equality using equivalence relation semantics ([nan] = [nan]) +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + GenericEqualityERComparer + + +

+
+
+
+ Full Usage: + GenericEqualityERComparer +
+
+ + Returns: + IEqualityComparer + +
+
+
+
+
+
+ +
+
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]).
+
+ + + + + +
+
+
+
+
+ + Returns: + + IEqualityComparer +
+
+
+
+
+
+ +

+ + + GenericEqualityWithComparer comp e1 e2 + + +

+
+
+
+ Full Usage: + GenericEqualityWithComparer comp e1 e2 +
+
+ Parameters: +
    + + + comp + + : + IEqualityComparer + - + + +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compare two values for equality +

+
+
+ + + + + +
+
+
+
+
+ + comp + + : + IEqualityComparer +
+
+

+ +

+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + GenericGreaterOrEqual e1 e2 + + +

+
+
+
+ Full Usage: + GenericGreaterOrEqual e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compare two values +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + GenericGreaterThan e1 e2 + + +

+
+
+
+ Full Usage: + GenericGreaterThan e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compare two values +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + GenericHash obj + + +

+
+
+
+ Full Usage: + GenericHash obj +
+
+ Parameters: +
    + + + obj + + : + 'T + - + The input object. + +
    +
+
+ + Returns: + int + + The hashed value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + 'T +
+
+

+ The input object. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The hashed value. +

+
+
+
+
+
+ +

+ + + GenericHashWithComparer comparer obj + + +

+
+
+
+ Full Usage: + GenericHashWithComparer comparer obj +
+
+ Parameters: +
    + + + comparer + + : + IEqualityComparer + - + The comparison function. + +
    + + + obj + + : + 'T + - + The input object. + +
    +
+
+ + Returns: + int + + The hashed value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Recursively hash a part of a value according to its structure. +

+
+
+ + + + + +
+
+
+
+
+ + comparer + + : + IEqualityComparer +
+
+

+ The comparison function. +

+
+
+ + obj + + : + 'T +
+
+

+ The input object. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The hashed value. +

+
+
+
+
+
+ +

+ + + GenericLessOrEqual e1 e2 + + +

+
+
+
+ Full Usage: + GenericLessOrEqual e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compare two values +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + GenericLessThan e1 e2 + + +

+
+
+
+ Full Usage: + GenericLessThan e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Compare two values +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + GenericLimitedHash limit obj + + +

+
+
+
+ Full Usage: + GenericLimitedHash limit obj +
+
+ Parameters: +
    + + + limit + + : + int + - + The limit on the number of nodes. + +
    + + + obj + + : + 'T + - + The input object. + +
    +
+
+ + Returns: + int + + The hashed value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Hash a value according to its structure. Use the given limit to restrict the hash when hashing F# + records, lists and union types. +

+
+
+ + + + + +
+
+
+
+
+ + limit + + : + int +
+
+

+ The limit on the number of nodes. +

+
+
+ + obj + + : + 'T +
+
+

+ The input object. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The hashed value. +

+
+
+
+
+
+ +

+ + + GenericMaximum e1 e2 + + +

+
+
+
+ Full Usage: + GenericMaximum e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + 'T + + The maximum value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Take the maximum of two values structurally according to the order given by GenericComparison +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The maximum value. +

+
+
+
+
+
+ +

+ + + GenericMinimum e1 e2 + + +

+
+
+
+ Full Usage: + GenericMinimum e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + 'T + + The minimum value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Take the minimum of two values structurally according to the order given by GenericComparison +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The minimum value. +

+
+
+
+
+
+ +

+ + + GenericOne + + +

+
+
+
+ Full Usage: + GenericOne +
+
+ + Returns: + ^T + +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One' +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + ^T +
+
+
+
+
+
+ +

+ + + GenericOneDynamic () + + +

+
+
+
+ Full Usage: + GenericOneDynamic () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Resolves to the value 'one' for any primitive numeric type or any type with a static member called 'One'. +

+
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + GenericZero + + +

+
+
+
+ Full Usage: + GenericZero +
+
+ + Returns: + ^T + +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero' +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + ^T +
+
+
+
+
+
+ +

+ + + GenericZeroDynamic () + + +

+
+
+
+ Full Usage: + GenericZeroDynamic () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Resolves to the zero value for any primitive numeric type or any type with a static member called 'Zero'. +

+
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + GreaterThanDynamic x y + + +

+
+
+
+ Full Usage: + GreaterThanDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations related to the '>' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + GreaterThanOrEqualDynamic x y + + +

+
+
+
+ Full Usage: + GreaterThanOrEqualDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations related to the '>=' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + InequalityDynamic x y + + +

+
+
+
+ Full Usage: + InequalityDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations related to the '=' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + Int16WithMeasure input + + +

+
+
+
+ Full Usage: + Int16WithMeasure input +
+
+ Parameters: +
    + + + input + + : + int16 + - + The input int16. + +
    +
+
+ + Returns: + int16<'Measure> + + The int16 with units-of-measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates an int16 value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + int16 +
+
+

+ The input int16. +

+
+
+
+
+ + Returns: + + int16<'Measure> +
+
+

+ The int16 with units-of-measure. +

+
+
+
+
+
+ +

+ + + Int32WithMeasure input + + +

+
+
+
+ Full Usage: + Int32WithMeasure input +
+
+ Parameters: +
    + + + input + + : + int + - + The input int. + +
    +
+
+ + Returns: + int<'Measure> + + The int with units of measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates an int32 value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + int +
+
+

+ The input int. +

+
+
+
+
+ + Returns: + + int<'Measure> +
+
+

+ The int with units of measure. +

+
+
+
+
+
+ +

+ + + Int64WithMeasure input + + +

+
+
+
+ Full Usage: + Int64WithMeasure input +
+
+ Parameters: +
    + + + input + + : + int64 + - + The input int64. + +
    +
+
+ + Returns: + int64<'Measure> + + The int64 with units of measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates an int64 value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + int64 +
+
+

+ The input int64. +

+
+
+
+
+ + Returns: + + int64<'Measure> +
+
+

+ The int64 with units of measure. +

+
+
+
+
+
+ +

+ + + IntPtrWithMeasure input + + +

+
+
+
+ Full Usage: + IntPtrWithMeasure input +
+
+ Parameters: +
    + + + input + + : + nativeint + - + The input nativeint. + +
    +
+
+ + Returns: + nativeint<'Measure> + + The nativeint with units-of-measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates a nativeint value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + nativeint +
+
+

+ The input nativeint. +

+
+
+
+
+ + Returns: + + nativeint<'Measure> +
+
+

+ The nativeint with units-of-measure. +

+
+
+
+
+
+ +

+ + + LeftShiftDynamic value shift + + +

+
+
+
+ Full Usage: + LeftShiftDynamic value shift +
+
+ Parameters: +
    + + + value + + : + 'T1 + +
    + + + shift + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the '<<<' operator. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T1 +
+
+
+ + shift + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + LessThanDynamic x y + + +

+
+
+
+ Full Usage: + LessThanDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations related to the '<' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + LessThanOrEqualDynamic x y + + +

+
+
+
+ Full Usage: + LessThanOrEqualDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations related to the '<=' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + LogicalNotDynamic value + + +

+
+
+
+ Full Usage: + LogicalNotDynamic value +
+
+ Parameters: +
    + + + value + + : + 'T + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations related to the '~~~' operator. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + ModulusDynamic x y + + +

+
+
+
+ Full Usage: + ModulusDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the '%' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + MultiplyDynamic x y + + +

+
+
+
+ Full Usage: + MultiplyDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the '*' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + ParseInt32 s + + +

+
+
+
+ Full Usage: + ParseInt32 s +
+
+ Parameters: +
    + + + s + + : + string + - + The input string. + +
    +
+
+ + Returns: + int32 + + The parsed value. +
+
+
+
+
+
+ +
+
+

+ Parse an int32 according to the rules used by the overloaded 'int32' conversion operator when applied to strings +

+
+
+ + + + + +
+
+
+
+
+ + s + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + int32 +
+
+

+ The parsed value. +

+
+
+
+
+
+ +

+ + + ParseInt64 s + + +

+
+
+
+ Full Usage: + ParseInt64 s +
+
+ Parameters: +
    + + + s + + : + string + - + The input string. + +
    +
+
+ + Returns: + int64 + + The parsed value. +
+
+
+
+
+
+ +
+
+

+ Parse an int64 according to the rules used by the overloaded 'int64' conversion operator when applied to strings +

+
+
+ + + + + +
+
+
+
+
+ + s + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + int64 +
+
+

+ The parsed value. +

+
+
+
+
+
+ +

+ + + ParseUInt32 s + + +

+
+
+
+ Full Usage: + ParseUInt32 s +
+
+ Parameters: +
    + + + s + + : + string + - + The input string. + +
    +
+
+ + Returns: + uint32 + + The parsed value. +
+
+
+
+
+
+ +
+
+

+ Parse an uint32 according to the rules used by the overloaded 'uint32' conversion operator when applied to strings +

+
+
+ + + + + +
+
+
+
+
+ + s + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + uint32 +
+
+

+ The parsed value. +

+
+
+
+
+
+ +

+ + + ParseUInt64 s + + +

+
+
+
+ Full Usage: + ParseUInt64 s +
+
+ Parameters: +
    + + + s + + : + string + - + The input string. + +
    +
+
+ + Returns: + uint64 + + The parsed value. +
+
+
+
+
+
+ +
+
+

+ Parse an uint64 according to the rules used by the overloaded 'uint64' conversion operator when applied to strings +

+
+
+ + + + + +
+
+
+
+
+ + s + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + uint64 +
+
+

+ The parsed value. +

+
+
+
+
+
+ +

+ + + PhysicalEquality e1 e2 + + +

+
+
+
+ Full Usage: + PhysicalEquality e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Reference/physical equality. + True if the inputs are reference-equal, false otherwise. +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + PhysicalHash obj + + +

+
+
+
+ Full Usage: + PhysicalHash obj +
+
+ Parameters: +
    + + + obj + + : + 'T + - + The input object. + +
    +
+
+ + Returns: + int + + The hashed value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ The physical hash. Hashes on the object identity. +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + 'T +
+
+

+ The input object. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The hashed value. +

+
+
+
+
+
+ +

+ + + RightShiftDynamic value shift + + +

+
+
+
+ Full Usage: + RightShiftDynamic value shift +
+
+ Parameters: +
    + + + value + + : + 'T1 + +
    + + + shift + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the '>>>' operator. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T1 +
+
+
+ + shift + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + SByteWithMeasure input + + +

+
+
+
+ Full Usage: + SByteWithMeasure input +
+
+ Parameters: +
    + + + input + + : + sbyte + - + The input sbyte. + +
    +
+
+ + Returns: + sbyte<'Measure> + + The sbyte with units-of-measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates an sbyte value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + sbyte +
+
+

+ The input sbyte. +

+
+
+
+
+ + Returns: + + sbyte<'Measure> +
+
+

+ The sbyte with units-of-measure. +

+
+
+
+
+
+ +

+ + + SubtractionDynamic x y + + +

+
+
+
+ Full Usage: + SubtractionDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T1 + +
    + + + y + + : + 'T2 + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the '-' operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T1 +
+
+
+ + y + + : + 'T2 +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+ +

+ + + UInt16WithMeasure input + + +

+
+
+
+ Full Usage: + UInt16WithMeasure input +
+
+ Parameters: +
    + + + input + + : + uint16 + - + The input uint16. + +
    +
+
+ + Returns: + uint16<'Measure> + + The uint16 with units-of-measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates a uint16 value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + uint16 +
+
+

+ The input uint16. +

+
+
+
+
+ + Returns: + + uint16<'Measure> +
+
+

+ The uint16 with units-of-measure. +

+
+
+
+
+
+ +

+ + + UInt32WithMeasure input + + +

+
+
+
+ Full Usage: + UInt32WithMeasure input +
+
+ Parameters: +
    + + + input + + : + uint + - + The input uint. + +
    +
+
+ + Returns: + uint<'Measure> + + The uint with units-of-measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates a uint value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + uint +
+
+

+ The input uint. +

+
+
+
+
+ + Returns: + + uint<'Measure> +
+
+

+ The uint with units-of-measure. +

+
+
+
+
+
+ +

+ + + UInt64WithMeasure input + + +

+
+
+
+ Full Usage: + UInt64WithMeasure input +
+
+ Parameters: +
    + + + input + + : + uint64 + - + The input uint64. + +
    +
+
+ + Returns: + uint64<'Measure> + + The uint64 with units-of-measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates a uint64 value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + uint64 +
+
+

+ The input uint64. +

+
+
+
+
+ + Returns: + + uint64<'Measure> +
+
+

+ The uint64 with units-of-measure. +

+
+
+
+
+
+ +

+ + + UIntPtrWithMeasure input + + +

+
+
+
+ Full Usage: + UIntPtrWithMeasure input +
+
+ Parameters: +
    + + + input + + : + unativeint + - + The input unativeint. + +
    +
+
+ + Returns: + unativeint<'Measure> + + The unativeint with units-of-measure. +
+ Modifiers: + inline +
+ Type parameters: + 'Measure +
+
+
+
+
+ +
+
+

+ Creates a unativeint value with units-of-measure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + unativeint +
+
+

+ The input unativeint. +

+
+
+
+
+ + Returns: + + unativeint<'Measure> +
+
+

+ The unativeint with units-of-measure. +

+
+
+
+
+
+ +

+ + + UnaryNegationDynamic value + + +

+
+
+
+ Full Usage: + UnaryNegationDynamic value +
+
+ Parameters: +
    + + + value + + : + 'T + +
    +
+
+ + Returns: + 'U + +
+
+
+
+
+
+ +
+
+

+ A compiler intrinsic that implements dynamic invocations to the unary '-' operator. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+
+
+
+ + Returns: + + 'U +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-literalattribute.html b/reference/fsharp-core-literalattribute.html new file mode 100644 index 000000000..2fd1ba281 --- /dev/null +++ b/reference/fsharp-core-literalattribute.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + LiteralAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ LiteralAttribute Type +

+ +
+
+
+

+ Adding this attribute to a value causes it to be compiled as a CLI constant literal. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + LiteralAttribute() + + +

+
+
+
+ Full Usage: + LiteralAttribute() +
+
+ + Returns: + LiteralAttribute + + LiteralAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + LiteralAttribute +
+
+

+ LiteralAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-matchfailureexception.html b/reference/fsharp-core-matchfailureexception.html new file mode 100644 index 000000000..919a5f5f1 --- /dev/null +++ b/reference/fsharp-core-matchfailureexception.html @@ -0,0 +1,446 @@ + + + + + + + + + + + + + + + + + + MatchFailureException (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ MatchFailureException Type +

+ +
+
+
+

+ Non-exhaustive match failures will raise the MatchFailureException exception +

+
+
+
+
+
+
+
+
+

+ Record fields +

+ + + + + + + + + + + + + + + + + + + + + +
+ Record Field + + Description + +
+
+ +

+ + + Data0 + + +

+
+
+
+ Full Usage: + Data0 +
+
+ + Field type: + string + +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + string +
+
+
+
+
+
+ +

+ + + Data1 + + +

+
+
+
+ Full Usage: + Data1 +
+
+ + Field type: + int + +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + int +
+
+
+
+
+
+ +

+ + + Data2 + + +

+
+
+
+ Full Usage: + Data2 +
+
+ + Field type: + int + +
+
+
+
+
+
+
+ + + +
+
+
+ + Field type: + + int +
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-measureannotatedabbreviationattribute.html b/reference/fsharp-core-measureannotatedabbreviationattribute.html new file mode 100644 index 000000000..83e662ad5 --- /dev/null +++ b/reference/fsharp-core-measureannotatedabbreviationattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + MeasureAnnotatedAbbreviationAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ MeasureAnnotatedAbbreviationAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + MeasureAnnotatedAbbreviationAttribute() + + +

+
+
+
+ Full Usage: + MeasureAnnotatedAbbreviationAttribute() +
+
+ + Returns: + MeasureAnnotatedAbbreviationAttribute + + MeasureAnnotatedAbbreviationAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + MeasureAnnotatedAbbreviationAttribute +
+
+

+ MeasureAnnotatedAbbreviationAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-measureattribute.html b/reference/fsharp-core-measureattribute.html new file mode 100644 index 000000000..8a3e0884a --- /dev/null +++ b/reference/fsharp-core-measureattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + MeasureAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ MeasureAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + MeasureAttribute() + + +

+
+
+
+ Full Usage: + MeasureAttribute() +
+
+ + Returns: + MeasureAttribute + + MeasureAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + MeasureAttribute +
+
+

+ MeasureAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-nativeint-1.html b/reference/fsharp-core-nativeint-1.html new file mode 100644 index 000000000..666260482 --- /dev/null +++ b/reference/fsharp-core-nativeint-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + nativeint<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ nativeint<'Measure> Type +

+ +
+
+
+

+ The type of machine-sized 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 + IntPtr. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-nativeptr-1.html b/reference/fsharp-core-nativeptr-1.html new file mode 100644 index 000000000..e8fc89c6b --- /dev/null +++ b/reference/fsharp-core-nativeptr-1.html @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + nativeptr<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ nativeptr<'T> Type +

+ +
+
+
+

+ 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. +

+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-nocomparisonattribute.html b/reference/fsharp-core-nocomparisonattribute.html new file mode 100644 index 000000000..392f93acf --- /dev/null +++ b/reference/fsharp-core-nocomparisonattribute.html @@ -0,0 +1,376 @@ + + + + + + + + + + + + + + + + + + NoComparisonAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ NoComparisonAttribute Type +

+ +
+
+
+

+ 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. + +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + NoComparisonAttribute() + + +

+
+
+
+ Full Usage: + NoComparisonAttribute() +
+
+ + Returns: + NoComparisonAttribute + + NoComparisonAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + NoComparisonAttribute +
+
+

+ NoComparisonAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-nocompilerinliningattribute.html b/reference/fsharp-core-nocompilerinliningattribute.html new file mode 100644 index 000000000..2cfd5c116 --- /dev/null +++ b/reference/fsharp-core-nocompilerinliningattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + NoCompilerInliningAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ NoCompilerInliningAttribute Type +

+ +
+
+
+

+ Indicates a value or a function that must not be inlined by the F# compiler, + but may be inlined by the JIT compiler. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + NoCompilerInliningAttribute() + + +

+
+
+
+ Full Usage: + NoCompilerInliningAttribute() +
+
+ + Returns: + NoCompilerInliningAttribute + + NoCompilerInliningAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + NoCompilerInliningAttribute +
+
+

+ NoCompilerInliningAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-nodynamicinvocationattribute.html b/reference/fsharp-core-nodynamicinvocationattribute.html new file mode 100644 index 000000000..eadcb74e1 --- /dev/null +++ b/reference/fsharp-core-nodynamicinvocationattribute.html @@ -0,0 +1,375 @@ + + + + + + + + + + + + + + + + + + NoDynamicInvocationAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ NoDynamicInvocationAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + NoDynamicInvocationAttribute() + + +

+
+
+
+ Full Usage: + NoDynamicInvocationAttribute() +
+
+ + Returns: + NoDynamicInvocationAttribute + + NoDynamicInvocationAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + NoDynamicInvocationAttribute +
+
+

+ NoDynamicInvocationAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-noequalityattribute.html b/reference/fsharp-core-noequalityattribute.html new file mode 100644 index 000000000..584984202 --- /dev/null +++ b/reference/fsharp-core-noequalityattribute.html @@ -0,0 +1,375 @@ + + + + + + + + + + + + + + + + + + NoEqualityAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ NoEqualityAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + NoEqualityAttribute() + + +

+
+
+
+ Full Usage: + NoEqualityAttribute() +
+
+ + Returns: + NoEqualityAttribute + + NoEqualityAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + NoEqualityAttribute +
+
+

+ NoEqualityAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-numericliterals-numericliterali.html b/reference/fsharp-core-numericliterals-numericliterali.html new file mode 100644 index 000000000..a79eb0567 --- /dev/null +++ b/reference/fsharp-core-numericliterals-numericliterali.html @@ -0,0 +1,885 @@ + + + + + + + + + + + + + + + + + + NumericLiteralI (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ NumericLiteralI Module +

+ +
+
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + FromInt32 value + + +

+
+
+
+ Full Usage: + FromInt32 value +
+
+ Parameters: +
    + + + value + + : + int32 + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + int32 +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + FromInt64 value + + +

+
+
+
+ Full Usage: + FromInt64 value +
+
+ Parameters: +
    + + + value + + : + int64 + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + int64 +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + FromInt64Dynamic value + + +

+
+
+
+ Full Usage: + FromInt64Dynamic value +
+
+ Parameters: +
    + + + value + + : + int64 + +
    +
+
+ + Returns: + objnull + +
+
+
+
+
+
+ +
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + int64 +
+
+
+
+
+ + Returns: + + objnull +
+
+
+
+
+
+ +

+ + + FromOne () + + +

+
+
+
+ Full Usage: + FromOne () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + FromString text + + +

+
+
+
+ Full Usage: + FromString text +
+
+ Parameters: +
    + + + text + + : + string + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+ + + + + +
+
+
+
+
+ + text + + : + string +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + FromStringDynamic text + + +

+
+
+
+ Full Usage: + FromStringDynamic text +
+
+ Parameters: +
    + + + text + + : + string + +
    +
+
+ + Returns: + objnull + +
+
+
+
+
+
+ +
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+ + + + + +
+
+
+
+
+ + text + + : + string +
+
+
+
+
+ + Returns: + + objnull +
+
+
+
+
+
+ +

+ + + FromZero () + + +

+
+
+
+ Full Usage: + FromZero () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-numericliterals.html b/reference/fsharp-core-numericliterals.html new file mode 100644 index 000000000..f3f2bd352 --- /dev/null +++ b/reference/fsharp-core-numericliterals.html @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + + NumericLiterals (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ NumericLiterals Module +

+ +
+
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+
+
+

+ Nested modules +

+ + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + NumericLiteralI + + +

+
+
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+ + + + + +
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-obj.html b/reference/fsharp-core-obj.html new file mode 100644 index 000000000..367a6d7fc --- /dev/null +++ b/reference/fsharp-core-obj.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + obj (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ obj Type +

+ +
+
+
+

+ An abbreviation for the CLI type Object. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-objnull.html b/reference/fsharp-core-objnull.html new file mode 100644 index 000000000..6d4ea1187 --- /dev/null +++ b/reference/fsharp-core-objnull.html @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + objnull (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ objnull Type +

+ +
+
+
+

+ An abbreviation for the CLI type Object or null. + With the 'nullable reference types' feature, this is an alias to 'obj | null'. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-operators-arrayextensions.html b/reference/fsharp-core-operators-arrayextensions.html new file mode 100644 index 000000000..73d279139 --- /dev/null +++ b/reference/fsharp-core-operators-arrayextensions.html @@ -0,0 +1,901 @@ + + + + + + + + + + + + + + + + + + ArrayExtensions (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ArrayExtensions Module +

+ +
+
+
Contains extension methods to allow the use of F# indexer notation with arrays.
+ This module is automatically opened in all F# code.
+
+
+
+
+

+ Type extensions +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type extension + + Description + +
+
+ +

+ + + this.GetReverseIndex + + +

+
+
+
+ Full Usage: + this.GetReverseIndex +
+
+ Parameters: +
    + + + rank + + : + int + - + The rank of the index. This refers to the dimension in the 4d array. + +
    + + + offset + + : + int + - + The offset from the end. + +
    +
+
+ + Returns: + int + + The corresponding index from the start. +
+
+
+
+
+
+ +
+
+

+ Get the index for the element offset elements away from the end of the collection. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + [,,,] +

+
+
+ + rank + + : + int +
+
+

+ The rank of the index. This refers to the dimension in the 4d array. +

+
+
+ + offset + + : + int +
+
+

+ The offset from the end. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The corresponding index from the start. +

+
+
+
+
+
+ +

+ + + this.GetReverseIndex + + +

+
+
+
+ Full Usage: + this.GetReverseIndex +
+
+ Parameters: +
    + + + rank + + : + int + - + The rank of the index. This refers to the dimension in the 3d array. + +
    + + + offset + + : + int + - + The offset from the end. + +
    +
+
+ + Returns: + int + + The corresponding index from the start. +
+
+
+
+
+
+ +
+
+

+ Get the index for the element offset elements away from the end of the collection. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + [,,] +

+
+
+ + rank + + : + int +
+
+

+ The rank of the index. This refers to the dimension in the 3d array. +

+
+
+ + offset + + : + int +
+
+

+ The offset from the end. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The corresponding index from the start. +

+
+
+
+
+
+ +

+ + + this.GetReverseIndex + + +

+
+
+
+ Full Usage: + this.GetReverseIndex +
+
+ Parameters: +
    + + + rank + + : + int + - + The rank of the index. This refers to the dimension in the 2d array. + +
    + + + offset + + : + int + - + The offset from the end. + +
    +
+
+ + Returns: + int + + The corresponding index from the start. +
+
+
+
+
+
+ +
+
+

+ Get the index for the element offset elements away from the end of the collection. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + [,] +

+
+
+ + rank + + : + int +
+
+

+ The rank of the index. This refers to the dimension in the 2d array. +

+
+
+ + offset + + : + int +
+
+

+ The offset from the end. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The corresponding index from the start. +

+
+
+
+
+
+ +

+ + + this.GetReverseIndex + + +

+
+
+
+ Full Usage: + this.GetReverseIndex +
+
+ Parameters: +
    + + + rank + + : + int + - + The rank of the index. + +
    + + + offset + + : + int + - + The offset from the end. + +
    +
+
+ + Returns: + int + + The corresponding index from the start. +
+
+
+
+
+
+ +
+
+

+ Get the index for the element offset elements away from the end of the collection. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + [] +

+
+
+ + rank + + : + int +
+
+

+ The rank of the index. +

+
+
+ + offset + + : + int +
+
+

+ The offset from the end. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The corresponding index from the start. +

+
+
+
+
+
+ +

+ + + this.GetReverseIndex + + +

+
+
+
+ Full Usage: + this.GetReverseIndex +
+
+ Parameters: +
    + + + rank + + : + int + - + The rank of the index. + +
    + + + offset + + : + int + - + The offset from the end. + +
    +
+
+ + Returns: + int + + The corresponding index from the start. +
+
+
+
+
+
+ +
+
+

+ Get the index for the element offset elements away from the end of the collection. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + String +

+
+
+ + rank + + : + int +
+
+

+ The rank of the index. +

+
+
+ + offset + + : + int +
+
+

+ The offset from the end. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The corresponding index from the start. +

+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-operators-checked.html b/reference/fsharp-core-operators-checked.html new file mode 100644 index 000000000..47452dc8c --- /dev/null +++ b/reference/fsharp-core-operators-checked.html @@ -0,0 +1,1988 @@ + + + + + + + + + + + + + + + + + + Checked (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Checked Module +

+ +
+
+
+

+ This module contains the basic arithmetic operations with overflow checks. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + x * y + + +

+
+
+
+ Full Usage: + x * y +
+
+ Parameters: +
    + + + x + + : + ^T1 + - + The first value. + +
    + + + y + + : + ^T2 + - + The second value. + +
    +
+
+ + Returns: + ^T3 + + The product of the two input values. +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ Overloaded multiplication operator (checks for overflow) +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T1 +
+
+

+ The first value. +

+
+
+ + y + + : + ^T2 +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + ^T3 +
+
+

+ The product of the two input values. +

+
+
+
+
+
+ +

+ + + x + y + + +

+
+
+
+ Full Usage: + x + y +
+
+ Parameters: +
    + + + x + + : + ^T1 + - + The first value. + +
    + + + y + + : + ^T2 + - + The second value. + +
    +
+
+ + Returns: + ^T3 + + The sum of the two input values. +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ Overloaded addition operator (checks for overflow) +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T1 +
+
+

+ The first value. +

+
+
+ + y + + : + ^T2 +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + ^T3 +
+
+

+ The sum of the two input values. +

+
+
+
+
+
+ +

+ + + x - y + + +

+
+
+
+ Full Usage: + x - y +
+
+ Parameters: +
    + + + x + + : + ^T1 + - + The first value. + +
    + + + y + + : + ^T2 + - + The second value. + +
    +
+
+ + Returns: + ^T3 + + The first value minus the second value. +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ Overloaded subtraction operator (checks for overflow) +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T1 +
+
+

+ The first value. +

+
+
+ + y + + : + ^T2 +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + ^T3 +
+
+

+ The first value minus the second value. +

+
+
+
+
+
+ +

+ + + ~-value + + +

+
+
+
+ Full Usage: + ~-value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The negated value. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded unary negation (checks for overflow) +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The negated value. +

+
+
+
+
+
+ +

+ + + byte value + + +

+
+
+
+ Full Usage: + byte value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + byte + + The converted byte +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to byte. This is a direct, checked 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + byte +
+
+

+ The converted byte +

+
+
+
+
+
+ +

+ + + char value + + +

+
+
+
+ Full Usage: + char value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + char + + The converted char +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + char +
+
+

+ The converted char +

+
+
+
+
+
+ +

+ + + int value + + +

+
+
+
+ Full Usage: + int value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + int + + The converted int +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to int. This is a direct, checked 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The converted int +

+
+
+
+
+
+ +

+ + + int16 value + + +

+
+
+
+ Full Usage: + int16 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + int16 + + The converted int16 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to int16. This is a direct, checked 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + int16 +
+
+

+ The converted int16 +

+
+
+
+
+
+ +

+ + + int32 value + + +

+
+
+
+ Full Usage: + int32 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + int32 + + The converted int32 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to int32. This is a direct, checked 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + int32 +
+
+

+ The converted int32 +

+
+
+
+
+
+ +

+ + + int64 value + + +

+
+
+
+ Full Usage: + int64 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + int64 + + The converted int64 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to int64. This is a direct, checked 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + int64 +
+
+

+ The converted int64 +

+
+
+
+
+
+ +

+ + + nativeint value + + +

+
+
+
+ Full Usage: + nativeint value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + nativeint + + The converted nativeint +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + nativeint +
+
+

+ The converted nativeint +

+
+
+
+
+
+ +

+ + + sbyte value + + +

+
+
+
+ Full Usage: + sbyte value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + sbyte + + The converted sbyte +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to sbyte. This is a direct, checked 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + sbyte +
+
+

+ The converted sbyte +

+
+
+
+
+
+ +

+ + + uint16 value + + +

+
+
+
+ Full Usage: + uint16 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + uint16 + + The converted uint16 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to uint16. This is a direct, checked 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + uint16 +
+
+

+ The converted uint16 +

+
+
+
+
+
+ +

+ + + uint32 value + + +

+
+
+
+ Full Usage: + uint32 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + uint32 + + The converted uint32 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to uint32. This is a direct, checked 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + uint32 +
+
+

+ The converted uint32 +

+
+
+
+
+
+ +

+ + + uint64 value + + +

+
+
+
+ Full Usage: + uint64 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + uint64 + + The converted uint64 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to uint64. This is a direct, checked 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + uint64 +
+
+

+ The converted uint64 +

+
+
+
+
+
+ +

+ + + unativeint value + + +

+
+
+
+ Full Usage: + unativeint value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + unativeint + + The converted unativeint +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + unativeint +
+
+

+ The converted unativeint +

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-operators-nonstructuralcomparison.html b/reference/fsharp-core-operators-nonstructuralcomparison.html new file mode 100644 index 000000000..bc212c556 --- /dev/null +++ b/reference/fsharp-core-operators-nonstructuralcomparison.html @@ -0,0 +1,1489 @@ + + + + + + + + + + + + + + + + + + NonStructuralComparison (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ NonStructuralComparison Module +

+ +
+
+
A module of comparison and equality operators that are statically resolved, but which are not fully generic and do not make structural comparison. Opening this
+ module may make code that relies on structural or generic comparison no longer compile.
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + x < y + + +

+
+
+
+ Full Usage: + x < y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The first parameter. + +
    + + + y + + : + ^U + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + ^T, ^U +
+
+
+
+
+ +
+
+

+ Compares the two values for less-than +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^U +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + x <= y + + +

+
+
+
+ Full Usage: + x <= y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The first parameter. + +
    + + + y + + : + ^U + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + ^T, ^U +
+
+
+
+
+ +
+
+

+ Compares the two values for less-than-or-equal +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^U +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + x <> y + + +

+
+
+
+ Full Usage: + x <> y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The first parameter. + +
    + + + y + + : + ^T + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Compares the two values for inequality +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + x = y + + +

+
+
+
+ Full Usage: + x = y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The first parameter. + +
    + + + y + + : + ^T + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Compares the two values for equality +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + x > y + + +

+
+
+
+ Full Usage: + x > y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The first parameter. + +
    + + + y + + : + ^U + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + ^T, ^U +
+
+
+
+
+ +
+
+

+ Compares the two values for greater-than +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^U +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + x >= y + + +

+
+
+
+ Full Usage: + x >= y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The first parameter. + +
    + + + y + + : + ^U + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + ^T, ^U +
+
+
+
+
+ +
+
+

+ Compares the two values for greater-than-or-equal +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^U +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + compare e1 e2 + + +

+
+
+
+ Full Usage: + compare e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + ^T + - + The first value. + +
    + + + e2 + + : + ^T + - + The second value. + +
    +
+
+ + Returns: + int + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Compares the two values +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + ^T +
+
+

+ The first value. +

+
+
+ + e2 + + : + ^T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + hash value + + +

+
+
+
+ Full Usage: + hash value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value. + +
    +
+
+ + Returns: + int + + The hash code. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Calls GetHashCode() on the value +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The hash code. +

+
+
+
+
+
+ +

+ + + max e1 e2 + + +

+
+
+
+ Full Usage: + max e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + ^T + - + The first value. + +
    + + + e2 + + : + ^T + - + The second value. + +
    +
+
+ + Returns: + ^T + + The maximum value. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Maximum of the two values +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + ^T +
+
+

+ The first value. +

+
+
+ + e2 + + : + ^T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The maximum value. +

+
+
+
+
+
+ +

+ + + min e1 e2 + + +

+
+
+
+ Full Usage: + min e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + ^T + - + The first value. + +
    + + + e2 + + : + ^T + - + The second value. + +
    +
+
+ + Returns: + ^T + + The minimum value. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Minimum of the two values +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + ^T +
+
+

+ The first value. +

+
+
+ + e2 + + : + ^T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The minimum value. +

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-operators-operatorintrinsics.html b/reference/fsharp-core-operators-operatorintrinsics.html new file mode 100644 index 000000000..5a05b6065 --- /dev/null +++ b/reference/fsharp-core-operators-operatorintrinsics.html @@ -0,0 +1,16646 @@ + + + + + + + + + + + + + + + + + + OperatorIntrinsics (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ OperatorIntrinsics Module +

+ +
+
+
A module of compiler intrinsic functions for efficient implementations of F# integer ranges
+ and dynamic invocations of other F# operators
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + AbsDynamic x + + +

+
+
+
+ Full Usage: + AbsDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + AcosDynamic x + + +

+
+
+
+ Full Usage: + AcosDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + AsinDynamic x + + +

+
+
+
+ Full Usage: + AsinDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + Atan2Dynamic y x + + +

+
+
+
+ Full Usage: + Atan2Dynamic y x +
+
+ Parameters: +
    + + + y + + : + 'T1 + +
    + + + x + + : + 'T1 + +
    +
+
+ + Returns: + 'T2 + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + y + + : + 'T1 +
+
+
+ + x + + : + 'T1 +
+
+
+
+
+ + Returns: + + 'T2 +
+
+
+
+
+
+ +

+ + + AtanDynamic x + + +

+
+
+
+ Full Usage: + AtanDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + CeilingDynamic x + + +

+
+
+
+ Full Usage: + CeilingDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + CosDynamic x + + +

+
+
+
+ Full Usage: + CosDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + CoshDynamic x + + +

+
+
+
+ Full Usage: + CoshDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + ExpDynamic x + + +

+
+
+
+ Full Usage: + ExpDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + FloorDynamic x + + +

+
+
+
+ Full Usage: + FloorDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + GetArraySlice source start finish + + +

+
+
+
+ Full Usage: + GetArraySlice source start finish +
+
+ Parameters: +
    + + + source + + : + 'T array + - + The input array. + +
    + + + start + + : + int option + - + The start index. + +
    + + + finish + + : + int option + - + The end index. + +
    +
+
+ + Returns: + 'T array + + The sub array from the input indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a slice of an array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T array +
+
+

+ The input array. +

+
+
+ + start + + : + int option +
+
+

+ The start index. +

+
+
+ + finish + + : + int option +
+
+

+ The end index. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sub array from the input indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice2D source start1 finish1 start2 finish2 + + +

+
+
+
+ Full Usage: + GetArraySlice2D source start1 finish1 start2 finish2 +
+
+ Parameters: +
    + + + source + + : + 'T[,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    +
+
+ + Returns: + 'T[,] + + The two dimensional sub array from the input indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a region slice of an array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The two dimensional sub array from the input indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice2DFixed1 source index1 start2 finish2 + + +

+
+
+
+ Full Usage: + GetArraySlice2DFixed1 source index1 start2 finish2 +
+
+ Parameters: +
    + + + source + + : + 'T[,] + - + The source array. + +
    + + + index1 + + : + int + - + The index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    +
+
+ + Returns: + 'T array + + The sub array from the input indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a vector slice of a 2D array. The index of the first dimension is fixed. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sub array from the input indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice2DFixed2 source start1 finish1 index2 + + +

+
+
+
+ Full Usage: + GetArraySlice2DFixed2 source start1 finish1 index2 +
+
+ Parameters: +
    + + + source + + : + 'T[,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    +
+
+ + Returns: + 'T array + + The sub array from the input indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a vector slice of a 2D array. The index of the second dimension is fixed. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The sub array from the input indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice3D source start1 finish1 start2 finish2 start3 finish3 + + +

+
+
+
+ Full Usage: + GetArraySlice3D source start1 finish1 start2 finish2 start3 finish3 +
+
+ Parameters: +
    + + + source + + : + 'T[,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    +
+
+ + Returns: + 'T[,,] + + The three dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a slice of an array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+
+
+ + Returns: + + 'T[,,] +
+
+

+ The three dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice3DFixedDouble1 source index1 index2 start3 finish3 + + +

+
+
+
+ Full Usage: + GetArraySlice3DFixedDouble1 source index1 index2 start3 finish3 +
+
+ Parameters: +
    + + + source + + : + 'T[,,] + - + The source array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    +
+
+ + Returns: + 'T array + + The one dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 1D slice of a 3D array. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The one dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice3DFixedDouble2 source index1 start2 finish2 index3 + + +

+
+
+
+ Full Usage: + GetArraySlice3DFixedDouble2 source index1 start2 finish2 index3 +
+
+ Parameters: +
    + + + source + + : + 'T[,,] + - + The source array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    +
+
+ + Returns: + 'T array + + The one dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 1D slice of a 3D array. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The one dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice3DFixedDouble3 source start1 finish1 index2 index3 + + +

+
+
+
+ Full Usage: + GetArraySlice3DFixedDouble3 source start1 finish1 index2 index3 +
+
+ Parameters: +
    + + + source + + : + 'T[,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    +
+
+ + Returns: + 'T array + + The one dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 1D slice of a 3D array. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The one dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice3DFixedSingle1 source index1 start2 finish2 start3 finish3 + + +

+
+
+
+ Full Usage: + GetArraySlice3DFixedSingle1 source index1 start2 finish2 start3 finish3 +
+
+ Parameters: +
    + + + source + + : + 'T[,,] + - + The source array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    +
+
+ + Returns: + 'T[,] + + The two dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 2D slice of a 3D array. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The two dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice3DFixedSingle2 source start1 finish1 index2 start3 finish3 + + +

+
+
+
+ Full Usage: + GetArraySlice3DFixedSingle2 source start1 finish1 index2 start3 finish3 +
+
+ Parameters: +
    + + + source + + : + 'T[,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    +
+
+ + Returns: + 'T[,] + + The two dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 2D slice of a 3D array. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The two dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice3DFixedSingle3 source start1 finish1 start2 finish2 index3 + + +

+
+
+
+ Full Usage: + GetArraySlice3DFixedSingle3 source start1 finish1 start2 finish2 index3 +
+
+ Parameters: +
    + + + source + + : + 'T[,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    +
+
+ + Returns: + 'T[,] + + The two dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 2D slice of a 3D array. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The two dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4D source start1 finish1 start2 finish2 start3 finish3 start4 finish4 + + +

+
+
+
+ Full Usage: + GetArraySlice4D source start1 finish1 start2 finish2 start3 finish3 start4 finish4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,,,] + + The four dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a slice of an array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,,,] +
+
+

+ The four dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedDouble1 source index1 index2 start3 finish3 start4 finish4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedDouble1 source index1 index2 start3 finish3 start4 finish4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,] + + The two dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The two dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedDouble2 source index1 start2 finish2 index3 start4 finish4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedDouble2 source index1 start2 finish2 index3 start4 finish4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,] + + The two dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The two dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedDouble3 source index1 start2 finish2 start3 finish3 index4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedDouble3 source index1 start2 finish2 start3 finish3 index4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,] + + The two dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The two dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedDouble4 source start1 finish1 index2 index3 start4 finish4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedDouble4 source start1 finish1 index2 index3 start4 finish4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,] + + The two dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The two dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedDouble5 source start1 finish1 index2 start3 finish3 index4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedDouble5 source start1 finish1 index2 start3 finish3 index4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,] + + The two dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The two dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedDouble6 source start1 finish1 start2 finish2 index3 index4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedDouble6 source start1 finish1 start2 finish2 index3 index4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,] + + The two dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,] +
+
+

+ The two dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedSingle1 source index1 start2 finish2 start3 finish3 start4 finish4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedSingle1 source index1 start2 finish2 start3 finish3 start4 finish4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,,] + + The three dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 3D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,,] +
+
+

+ The three dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedSingle2 source start1 finish1 index2 start3 finish3 start4 finish4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedSingle2 source start1 finish1 index2 start3 finish3 start4 finish4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,,] + + The three dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 3D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,,] +
+
+

+ The three dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedSingle3 source start1 finish1 start2 finish2 index3 start4 finish4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedSingle3 source start1 finish1 start2 finish2 index3 start4 finish4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,,] + + The three dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 3D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,,] +
+
+

+ The three dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedSingle4 source start1 finish1 start2 finish2 start3 finish3 index4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedSingle4 source start1 finish1 start2 finish2 start3 finish3 index4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    +
+
+ + Returns: + 'T[,,] + + The three dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 3D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T[,,] +
+
+

+ The three dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedTriple1 source start1 finish1 index2 index3 index4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedTriple1 source start1 finish1 index2 index3 index4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    +
+
+ + Returns: + 'T array + + The one dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 1D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The one dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedTriple2 source index1 start2 finish2 index3 index4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedTriple2 source index1 start2 finish2 index3 index4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    +
+
+ + Returns: + 'T array + + The one dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 1D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The one dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedTriple3 source index1 index2 start3 finish3 index4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedTriple3 source index1 index2 start3 finish3 index4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    +
+
+ + Returns: + 'T array + + The one dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 1D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The one dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetArraySlice4DFixedTriple4 source index1 index2 index3 start4 finish4 + + +

+
+
+
+ Full Usage: + GetArraySlice4DFixedTriple4 source index1 index2 index3 start4 finish4 +
+
+ Parameters: +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    +
+
+ + Returns: + 'T array + + The one dimensional sub array from the given indices. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets a 1D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The one dimensional sub array from the given indices. +

+
+
+
+
+
+ +

+ + + GetStringSlice source start finish + + +

+
+
+
+ Full Usage: + GetStringSlice source start finish +
+
+ Parameters: +
    + + + source + + : + string + - + The source string. + +
    + + + start + + : + int option + - + The index of the first character of the slice. + +
    + + + finish + + : + int option + - + The index of the last character of the slice. + +
    +
+
+ + Returns: + string + + The substring from the given indices. +
+ Modifiers: + inline +
+
+
+
+
+
+ +
+
+

+ Gets a slice from a string +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + string +
+
+

+ The source string. +

+
+
+ + start + + : + int option +
+
+

+ The index of the first character of the slice. +

+
+
+ + finish + + : + int option +
+
+

+ The index of the last character of the slice. +

+
+
+
+
+ + Returns: + + string +
+
+

+ The substring from the given indices. +

+
+
+
+
+
+ +

+ + + Log10Dynamic x + + +

+
+
+
+ Full Usage: + Log10Dynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + LogDynamic x + + +

+
+
+
+ Full Usage: + LogDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + PowByte x n + + +

+
+
+
+ Full Usage: + PowByte x n +
+
+ Parameters: +
    + + + x + + : + byte + +
    + + + n + + : + int + +
    +
+
+ + Returns: + byte + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'byte' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + byte +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + byte +
+
+
+
+
+
+ +

+ + + PowDecimal x n + + +

+
+
+
+ Full Usage: + PowDecimal x n +
+
+ Parameters: +
    + + + x + + : + decimal + +
    + + + n + + : + int + +
    +
+
+ + Returns: + decimal + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'decimal' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + decimal +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + decimal +
+
+
+
+
+
+ +

+ + + PowDouble x n + + +

+
+
+
+ Full Usage: + PowDouble x n +
+
+ Parameters: +
    + + + x + + : + float + +
    + + + n + + : + int + +
    +
+
+ + Returns: + float + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + float +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + float +
+
+
+
+
+
+ +

+ + + PowDynamic x y + + +

+
+
+
+ Full Usage: + PowDynamic x y +
+
+ Parameters: +
    + + + x + + : + 'T + +
    + + + y + + : + 'U + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+ + y + + : + 'U +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + PowGeneric (one, mul, value, exponent) + + +

+
+
+
+ Full Usage: + PowGeneric (one, mul, value, exponent) +
+
+ Parameters: +
    + + + one + + : + 'T + +
    + + + mul + + : + 'T -> 'T -> 'T + +
    + + + value + + : + 'T + +
    + + + exponent + + : + int + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator +

+
+
+ + + + + +
+
+
+
+
+ + one + + : + 'T +
+
+
+ + mul + + : + 'T -> 'T -> 'T +
+
+
+ + value + + : + 'T +
+
+
+ + exponent + + : + int +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + PowInt16 x n + + +

+
+
+
+ Full Usage: + PowInt16 x n +
+
+ Parameters: +
    + + + x + + : + int16 + +
    + + + n + + : + int + +
    +
+
+ + Returns: + int16 + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int16' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + int16 +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + int16 +
+
+
+
+
+
+ +

+ + + PowInt32 x n + + +

+
+
+
+ Full Usage: + PowInt32 x n +
+
+ Parameters: +
    + + + x + + : + int32 + +
    + + + n + + : + int + +
    +
+
+ + Returns: + int32 + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int32' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + int32 +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + int32 +
+
+
+
+
+
+ +

+ + + PowInt64 x n + + +

+
+
+
+ Full Usage: + PowInt64 x n +
+
+ Parameters: +
    + + + x + + : + int64 + +
    + + + n + + : + int + +
    +
+
+ + Returns: + int64 + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'int64' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + int64 +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + int64 +
+
+
+
+
+
+ +

+ + + PowIntPtr x n + + +

+
+
+
+ Full Usage: + PowIntPtr x n +
+
+ Parameters: + +
+ + Returns: + nativeint + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'nativeint' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + nativeint +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + nativeint +
+
+
+
+
+
+ +

+ + + PowSByte x n + + +

+
+
+
+ Full Usage: + PowSByte x n +
+
+ Parameters: +
    + + + x + + : + sbyte + +
    + + + n + + : + int + +
    +
+
+ + Returns: + sbyte + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'sbyte' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + sbyte +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + sbyte +
+
+
+
+
+
+ +

+ + + PowSingle x n + + +

+
+
+
+ Full Usage: + PowSingle x n +
+
+ Parameters: +
    + + + x + + : + float32 + +
    + + + n + + : + int + +
    +
+
+ + Returns: + float32 + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'float32' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + float32 +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + float32 +
+
+
+
+
+
+ +

+ + + PowUInt16 x n + + +

+
+
+
+ Full Usage: + PowUInt16 x n +
+
+ Parameters: +
    + + + x + + : + uint16 + +
    + + + n + + : + int + +
    +
+
+ + Returns: + uint16 + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint16' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + uint16 +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + uint16 +
+
+
+
+
+
+ +

+ + + PowUInt32 x n + + +

+
+
+
+ Full Usage: + PowUInt32 x n +
+
+ Parameters: +
    + + + x + + : + uint32 + +
    + + + n + + : + int + +
    +
+
+ + Returns: + uint32 + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint32' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + uint32 +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + uint32 +
+
+
+
+
+
+ +

+ + + PowUInt64 x n + + +

+
+
+
+ Full Usage: + PowUInt64 x n +
+
+ Parameters: +
    + + + x + + : + uint64 + +
    + + + n + + : + int + +
    +
+
+ + Returns: + uint64 + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'uint64' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + uint64 +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + uint64 +
+
+
+
+
+
+ +

+ + + PowUIntPtr x n + + +

+
+
+
+ Full Usage: + PowUIntPtr x n +
+
+ Parameters: + +
+ + Returns: + unativeint + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by uses of the generic 'pown' operator on values of type 'unativeint' +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + unativeint +
+
+
+ + n + + : + int +
+
+
+
+
+ + Returns: + + unativeint +
+
+
+
+
+
+ +

+ + + RangeByte start step stop + + +

+
+
+
+ Full Usage: + RangeByte start step stop +
+
+ Parameters: +
    + + + start + + : + byte + +
    + + + step + + : + byte + +
    + + + stop + + : + byte + +
    +
+
+ + Returns: + byte seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of byte values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + byte +
+
+
+ + step + + : + byte +
+
+
+ + stop + + : + byte +
+
+
+
+
+ + Returns: + + byte seq +
+
+
+
+
+
+ +

+ + + RangeChar start stop + + +

+
+
+
+ Full Usage: + RangeChar start stop +
+
+ Parameters: +
    + + + start + + : + char + +
    + + + stop + + : + char + +
    +
+
+ + Returns: + char seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of char values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + char +
+
+
+ + stop + + : + char +
+
+
+
+
+ + Returns: + + char seq +
+
+
+
+
+
+ +

+ + + RangeDouble start step stop + + +

+
+
+
+ Full Usage: + RangeDouble start step stop +
+
+ Parameters: +
    + + + start + + : + float + +
    + + + step + + : + float + +
    + + + stop + + : + float + +
    +
+
+ + Returns: + float seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of float values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + float +
+
+
+ + step + + : + float +
+
+
+ + stop + + : + float +
+
+
+
+
+ + Returns: + + float seq +
+
+
+
+
+
+ +

+ + + RangeGeneric one add start stop + + +

+
+
+
+ Full Usage: + RangeGeneric one add start stop +
+
+ Parameters: +
    + + + one + + : + 'T + +
    + + + add + + : + 'T -> 'T -> 'T + +
    + + + start + + : + 'T + +
    + + + stop + + : + 'T + +
    +
+
+ + Returns: + 'T seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of values using the given zero, add, start, step and stop values +

+
+
+ + + + + +
+
+
+
+
+ + one + + : + 'T +
+
+
+ + add + + : + 'T -> 'T -> 'T +
+
+
+ + start + + : + 'T +
+
+
+ + stop + + : + 'T +
+
+
+
+
+ + Returns: + + 'T seq +
+
+
+
+
+
+ +

+ + + RangeInt16 start step stop + + +

+
+
+
+ Full Usage: + RangeInt16 start step stop +
+
+ Parameters: +
    + + + start + + : + int16 + +
    + + + step + + : + int16 + +
    + + + stop + + : + int16 + +
    +
+
+ + Returns: + int16 seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of int16 values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + int16 +
+
+
+ + step + + : + int16 +
+
+
+ + stop + + : + int16 +
+
+
+
+
+ + Returns: + + int16 seq +
+
+
+
+
+
+ +

+ + + RangeInt32 start step stop + + +

+
+
+
+ Full Usage: + RangeInt32 start step stop +
+
+ Parameters: +
    + + + start + + : + int + +
    + + + step + + : + int + +
    + + + stop + + : + int + +
    +
+
+ + Returns: + int seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of integers +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + int +
+
+
+ + step + + : + int +
+
+
+ + stop + + : + int +
+
+
+
+
+ + Returns: + + int seq +
+
+
+
+
+
+ +

+ + + RangeInt64 start step stop + + +

+
+
+
+ Full Usage: + RangeInt64 start step stop +
+
+ Parameters: +
    + + + start + + : + int64 + +
    + + + step + + : + int64 + +
    + + + stop + + : + int64 + +
    +
+
+ + Returns: + int64 seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of int64 values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + int64 +
+
+
+ + step + + : + int64 +
+
+
+ + stop + + : + int64 +
+
+
+
+
+ + Returns: + + int64 seq +
+
+
+
+
+
+ +

+ + + RangeIntPtr start step stop + + +

+
+
+
+ Full Usage: + RangeIntPtr start step stop +
+
+ Parameters: + +
+ + Returns: + nativeint seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of nativeint values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + nativeint +
+
+
+ + step + + : + nativeint +
+
+
+ + stop + + : + nativeint +
+
+
+
+
+ + Returns: + + nativeint seq +
+
+
+
+
+
+ +

+ + + RangeSByte start step stop + + +

+
+
+
+ Full Usage: + RangeSByte start step stop +
+
+ Parameters: +
    + + + start + + : + sbyte + +
    + + + step + + : + sbyte + +
    + + + stop + + : + sbyte + +
    +
+
+ + Returns: + sbyte seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of sbyte values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + sbyte +
+
+
+ + step + + : + sbyte +
+
+
+ + stop + + : + sbyte +
+
+
+
+
+ + Returns: + + sbyte seq +
+
+
+
+
+
+ +

+ + + RangeSingle start step stop + + +

+
+
+
+ Full Usage: + RangeSingle start step stop +
+
+ Parameters: + +
+ + Returns: + float32 seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of float32 values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + float32 +
+
+
+ + step + + : + float32 +
+
+
+ + stop + + : + float32 +
+
+
+
+
+ + Returns: + + float32 seq +
+
+
+
+
+
+ +

+ + + RangeStepGeneric zero add start step stop + + +

+
+
+
+ Full Usage: + RangeStepGeneric zero add start step stop +
+
+ Parameters: +
    + + + zero + + : + 'Step + +
    + + + add + + : + 'T -> 'Step -> 'T + +
    + + + start + + : + 'T + +
    + + + step + + : + 'Step + +
    + + + stop + + : + 'T + +
    +
+
+ + Returns: + 'T seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of values using the given zero, add, start, step and stop values +

+
+
+ + + + + +
+
+
+
+
+ + zero + + : + 'Step +
+
+
+ + add + + : + 'T -> 'Step -> 'T +
+
+
+ + start + + : + 'T +
+
+
+ + step + + : + 'Step +
+
+
+ + stop + + : + 'T +
+
+
+
+
+ + Returns: + + 'T seq +
+
+
+
+
+
+ +

+ + + RangeUInt16 start step stop + + +

+
+
+
+ Full Usage: + RangeUInt16 start step stop +
+
+ Parameters: +
    + + + start + + : + uint16 + +
    + + + step + + : + uint16 + +
    + + + stop + + : + uint16 + +
    +
+
+ + Returns: + uint16 seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of uint16 values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + uint16 +
+
+
+ + step + + : + uint16 +
+
+
+ + stop + + : + uint16 +
+
+
+
+
+ + Returns: + + uint16 seq +
+
+
+
+
+
+ +

+ + + RangeUInt32 start step stop + + +

+
+
+
+ Full Usage: + RangeUInt32 start step stop +
+
+ Parameters: +
    + + + start + + : + uint32 + +
    + + + step + + : + uint32 + +
    + + + stop + + : + uint32 + +
    +
+
+ + Returns: + uint32 seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of uint32 values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + uint32 +
+
+
+ + step + + : + uint32 +
+
+
+ + stop + + : + uint32 +
+
+
+
+
+ + Returns: + + uint32 seq +
+
+
+
+
+
+ +

+ + + RangeUInt64 start step stop + + +

+
+
+
+ Full Usage: + RangeUInt64 start step stop +
+
+ Parameters: +
    + + + start + + : + uint64 + +
    + + + step + + : + uint64 + +
    + + + stop + + : + uint64 + +
    +
+
+ + Returns: + uint64 seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of uint64 values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + uint64 +
+
+
+ + step + + : + uint64 +
+
+
+ + stop + + : + uint64 +
+
+
+
+
+ + Returns: + + uint64 seq +
+
+
+
+
+
+ +

+ + + RangeUIntPtr start step stop + + +

+
+
+
+ Full Usage: + RangeUIntPtr start step stop +
+
+ Parameters: + +
+ + Returns: + unativeint seq + +
+
+
+
+
+
+ +
+
+

+ Generate a range of unativeint values +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + unativeint +
+
+
+ + step + + : + unativeint +
+
+
+ + stop + + : + unativeint +
+
+
+
+
+ + Returns: + + unativeint seq +
+
+
+
+
+
+ +

+ + + RoundDynamic x + + +

+
+
+
+ Full Usage: + RoundDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + SetArraySlice target start finish source + + +

+
+
+
+ Full Usage: + SetArraySlice target start finish source +
+
+ Parameters: +
    + + + target + + : + 'T array + - + The target array. + +
    + + + start + + : + int option + - + The start index. + +
    + + + finish + + : + int option + - + The end index. + +
    + + + source + + : + 'T array + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a slice of an array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T array +
+
+

+ The target array. +

+
+
+ + start + + : + int option +
+
+

+ The start index. +

+
+
+ + finish + + : + int option +
+
+

+ The end index. +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice2D target start1 finish1 start2 finish2 source + + +

+
+
+
+ Full Usage: + SetArraySlice2D target start1 finish1 start2 finish2 source +
+
+ Parameters: +
    + + + target + + : + 'T[,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + source + + : + 'T[,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a region slice of an array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice2DFixed1 target index1 start2 finish2 source + + +

+
+
+
+ Full Usage: + SetArraySlice2DFixed1 target index1 start2 finish2 source +
+
+ Parameters: +
    + + + target + + : + 'T[,] + - + The target array. + +
    + + + index1 + + : + int + - + The index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + source + + : + 'T array + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a vector slice of a 2D array. The index of the first dimension is fixed. +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice2DFixed2 target start1 finish1 index2 source + + +

+
+
+
+ Full Usage: + SetArraySlice2DFixed2 target start1 finish1 index2 source +
+
+ Parameters: +
    + + + target + + : + 'T[,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The index of the second dimension. + +
    + + + source + + : + 'T array + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a vector slice of a 2D array. The index of the second dimension is fixed. +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The index of the second dimension. +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice3D target start1 finish1 start2 finish2 start3 finish3 source + + +

+
+
+
+ Full Usage: + SetArraySlice3D target start1 finish1 start2 finish2 start3 finish3 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + source + + : + 'T[,,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a slice of an array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice3DFixedDouble1 target index1 index2 start3 finish3 source + + +

+
+
+
+ Full Usage: + SetArraySlice3DFixedDouble1 target index1 index2 start3 finish3 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,] + - + The target array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + source + + : + 'T array + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 1D slice of a 3D array. +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice3DFixedDouble2 target index1 start2 finish2 index3 source + + +

+
+
+
+ Full Usage: + SetArraySlice3DFixedDouble2 target index1 start2 finish2 index3 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,] + - + The target array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + source + + : + 'T array + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 1D slice of a 3D array. +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice3DFixedDouble3 target start1 finish1 index2 index3 source + + +

+
+
+
+ Full Usage: + SetArraySlice3DFixedDouble3 target start1 finish1 index2 index3 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + source + + : + 'T array + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 1D slice of a 3D array. +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice3DFixedSingle1 target index1 start2 finish2 start3 finish3 source + + +

+
+
+
+ Full Usage: + SetArraySlice3DFixedSingle1 target index1 start2 finish2 start3 finish3 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,] + - + The target array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + source + + : + 'T[,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 2D slice of a 3D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice3DFixedSingle2 target start1 finish1 index2 start3 finish3 source + + +

+
+
+
+ Full Usage: + SetArraySlice3DFixedSingle2 target start1 finish1 index2 start3 finish3 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + source + + : + 'T[,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 2D slice of a 3D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice3DFixedSingle3 target start1 finish1 start2 finish2 index3 source + + +

+
+
+
+ Full Usage: + SetArraySlice3DFixedSingle3 target start1 finish1 start2 finish2 index3 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + source + + : + 'T[,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 2D slice of a 3D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4D target start1 finish1 start2 finish2 start3 finish3 start4 finish4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4D target start1 finish1 start2 finish2 start3 finish3 start4 finish4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    + + + source + + : + 'T[,,,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a slice of an array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+ + source + + : + 'T[,,,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedDouble1 target index1 index2 start3 finish3 start4 finish4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedDouble1 target index1 index2 start3 finish3 start4 finish4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    + + + source + + : + 'T[,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedDouble2 target index1 start2 finish2 index3 start4 finish4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedDouble2 target index1 start2 finish2 index3 start4 finish4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    + + + source + + : + 'T[,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedDouble3 target index1 start2 finish2 start3 finish3 index4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedDouble3 target index1 start2 finish2 start3 finish3 index4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    + + + source + + : + 'T[,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedDouble4 target start1 finish1 index2 index3 start4 finish4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedDouble4 target start1 finish1 index2 index3 start4 finish4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    + + + source + + : + 'T[,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedDouble5 target start1 finish1 index2 start3 finish3 index4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedDouble5 target start1 finish1 index2 start3 finish3 index4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    + + + source + + : + 'T[,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedDouble6 target start1 finish1 start2 finish2 index3 index4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedDouble6 target start1 finish1 start2 finish2 index3 index4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    + + + source + + : + 'T[,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 2D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+ + source + + : + 'T[,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedSingle1 target index1 start2 finish2 start3 finish3 start4 finish4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedSingle1 target index1 start2 finish2 start3 finish3 start4 finish4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    + + + source + + : + 'T[,,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 3D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedSingle2 target start1 finish1 index2 start3 finish3 start4 finish4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedSingle2 target start1 finish1 index2 start3 finish3 start4 finish4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    + + + source + + : + 'T[,,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 3D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedSingle3 target start1 finish1 start2 finish2 index3 start4 finish4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedSingle3 target start1 finish1 start2 finish2 index3 start4 finish4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    + + + source + + : + 'T[,,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 3D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedSingle4 target start1 finish1 start2 finish2 start3 finish3 index4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedSingle4 target start1 finish1 start2 finish2 start3 finish3 index4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    + + + source + + : + 'T[,,] + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 3D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+ + source + + : + 'T[,,] +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedTriple1 target start1 finish1 index2 index3 index4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedTriple1 target start1 finish1 index2 index3 index4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + start1 + + : + int option + - + The start index of the first dimension. + +
    + + + finish1 + + : + int option + - + The end index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    + + + source + + : + 'T array + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 1D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + start1 + + : + int option +
+
+

+ The start index of the first dimension. +

+
+
+ + finish1 + + : + int option +
+
+

+ The end index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedTriple2 target index1 start2 finish2 index3 index4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedTriple2 target index1 start2 finish2 index3 index4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + start2 + + : + int option + - + The start index of the second dimension. + +
    + + + finish2 + + : + int option + - + The end index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    + + + source + + : + 'T array + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 1D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + start2 + + : + int option +
+
+

+ The start index of the second dimension. +

+
+
+ + finish2 + + : + int option +
+
+

+ The end index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedTriple3 target index1 index2 start3 finish3 index4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedTriple3 target index1 index2 start3 finish3 index4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + start3 + + : + int option + - + The start index of the third dimension. + +
    + + + finish3 + + : + int option + - + The end index of the third dimension. + +
    + + + index4 + + : + int + - + The fixed index of the fourth dimension. + +
    + + + source + + : + 'T array + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 1D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + start3 + + : + int option +
+
+

+ The start index of the third dimension. +

+
+
+ + finish3 + + : + int option +
+
+

+ The end index of the third dimension. +

+
+
+ + index4 + + : + int +
+
+

+ The fixed index of the fourth dimension. +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SetArraySlice4DFixedTriple4 target index1 index2 index3 start4 finish4 source + + +

+
+
+
+ Full Usage: + SetArraySlice4DFixedTriple4 target index1 index2 index3 start4 finish4 source +
+
+ Parameters: +
    + + + target + + : + 'T[,,,] + - + The target array. + +
    + + + index1 + + : + int + - + The fixed index of the first dimension. + +
    + + + index2 + + : + int + - + The fixed index of the second dimension. + +
    + + + index3 + + : + int + - + The fixed index of the third dimension. + +
    + + + start4 + + : + int option + - + The start index of the fourth dimension. + +
    + + + finish4 + + : + int option + - + The end index of the fourth dimension. + +
    + + + source + + : + 'T array + - + The source array. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Sets a 1D slice of a 4D array +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + 'T[,,,] +
+
+

+ The target array. +

+
+
+ + index1 + + : + int +
+
+

+ The fixed index of the first dimension. +

+
+
+ + index2 + + : + int +
+
+

+ The fixed index of the second dimension. +

+
+
+ + index3 + + : + int +
+
+

+ The fixed index of the third dimension. +

+
+
+ + start4 + + : + int option +
+
+

+ The start index of the fourth dimension. +

+
+
+ + finish4 + + : + int option +
+
+

+ The end index of the fourth dimension. +

+
+
+ + source + + : + 'T array +
+
+

+ The source array. +

+
+
+
+
+
+ +

+ + + SignDynamic arg1 + + +

+
+
+
+ Full Usage: + SignDynamic arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + SinDynamic x + + +

+
+
+
+ Full Usage: + SinDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + SinhDynamic x + + +

+
+
+
+ Full Usage: + SinhDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + SqrtDynamic arg1 + + +

+
+
+
+ Full Usage: + SqrtDynamic arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T1 + +
    +
+
+ + Returns: + 'T2 + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T1 +
+
+
+
+
+ + Returns: + + 'T2 +
+
+
+
+
+
+ +

+ + + TanDynamic x + + +

+
+
+
+ Full Usage: + TanDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + TanhDynamic x + + +

+
+
+
+ Full Usage: + TanhDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + TruncateDynamic x + + +

+
+
+
+ Full Usage: + TruncateDynamic x +
+
+ Parameters: +
    + + + x + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ This is a library intrinsic. Calls to this function may be generated by evaluating quotations. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-operators-unchecked.html b/reference/fsharp-core-operators-unchecked.html new file mode 100644 index 000000000..c6802c885 --- /dev/null +++ b/reference/fsharp-core-operators-unchecked.html @@ -0,0 +1,1002 @@ + + + + + + + + + + + + + + + + + + Unchecked (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Unchecked Module +

+ +
+
+
+

+ This module contains basic operations which do not apply runtime and/or static checks +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + compare arg1 arg2 + + +

+
+
+
+ Full Usage: + compare arg1 arg2 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    + + + arg1 + + : + 'T + +
    +
+
+ + Returns: + int + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Perform generic comparison on two values where the type of the values is not + statically required to have the 'comparison' constraint. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T +
+
+
+ + arg1 + + : + 'T +
+
+
+
+
+ + Returns: + + int +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + defaultof + + +

+
+
+
+ Full Usage: + defaultof +
+
+ + Returns: + 'T + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + equals arg1 arg2 + + +

+
+
+
+ Full Usage: + equals arg1 arg2 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    + + + arg1 + + : + 'T + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Perform generic equality on two values where the type of the values is not + statically required to satisfy the 'equality' constraint. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T +
+
+
+ + arg1 + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+
+
+ +

+ + + hash arg1 + + +

+
+
+
+ Full Usage: + hash arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    +
+
+ + Returns: + int + + The computed hash value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Perform generic hashing on a value where the type of the value is not + statically required to satisfy the 'equality' constraint. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T +
+
+
+
+
+ + Returns: + + int +
+
+

+ The computed hash value. +

+
+
+
+
+
+ +

+ + + nonNull value + + +

+
+
+
+ Full Usage: + nonNull value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The possibly nullable value. + +
    +
+
+ + Returns: + 'T + + The same value as in the input. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Unsafely retypes the value from ('T | null) to 'T without doing any null check at runtime. This is an unsafe operation. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The possibly nullable value. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The same value as in the input. +

+
+
+
+
+
+ +

+ + + unbox value + + +

+
+
+
+ Full Usage: + unbox value +
+
+ Parameters: +
    + + + value + + : + objnull + - + The boxed value. + +
    +
+
+ + Returns: + 'T + + The unboxed result. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Unboxes a strongly typed value. This is the inverse of box, unbox(box a) equals a. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + objnull +
+
+

+ The boxed value. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The unboxed result. +

+
+
+
+
+
+
+
+

+ Active patterns +

+ + + + + + + + + + + + + +
+ Active pattern + + Description + +
+
+ +

+ + + (|NonNullQuick|) value + + +

+
+
+
+ Full Usage: + (|NonNullQuick|) value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to retype from ('T | null) to 'T . + +
    +
+
+ + Returns: + 'T + + The non-null value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ When used in a pattern forgets 'nullness' of the value without any runtime check. This is an unsafe operation, as null check is being skipped and null value can be returned. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to retype from ('T | null) to 'T . +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The non-null value. +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-operators.html b/reference/fsharp-core-operators.html new file mode 100644 index 000000000..5d77f1471 --- /dev/null +++ b/reference/fsharp-core-operators.html @@ -0,0 +1,14320 @@ + + + + + + + + + + + + + + + + + + Operators (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Operators Module +

+ +
+
+
+

+ Basic F# Operators. This module is automatically opened in all F# code. +

+
+
+
+
+

+ Nested modules +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + ArrayExtensions + + +

+
+
+
Contains extension methods to allow the use of F# indexer notation with arrays.
+ This module is automatically opened in all F# code.
+
+ + + + + +
+
+
+

+ + + Checked + + +

+
+
+
+

+ This module contains the basic arithmetic operations with overflow checks. +

+
+
+ + + + + +
+
+
+

+ + + NonStructuralComparison + + +

+
+
+
A module of comparison and equality operators that are statically resolved, but which are not fully generic and do not make structural comparison. Opening this
+ module may make code that relies on structural or generic comparison no longer compile.
+
+ + + + + +
+
+
+

+ + + OperatorIntrinsics + + +

+
+
+
A module of compiler intrinsic functions for efficient implementations of F# integer ranges
+ and dynamic invocations of other F# operators
+
+ + + + + +
+
+
+

+ + + Unchecked + + +

+
+
+
+

+ This module contains basic operations which do not apply runtime and/or static checks +

+
+
+ + + + + +
+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + x ** y + + +

+
+
+
+ Full Usage: + x ** y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The input base. + +
    + + + y + + : + ^U + - + The input exponent. + +
    +
+
+ + Returns: + ^T + + The base raised to the exponent. +
+ Modifiers: + inline +
+ Type parameters: + ^T, ^U +
+
+
+
+
+ +
+
+

+ Overloaded power operator. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The input base. +

+
+
+ + y + + : + ^U +
+
+

+ The input exponent. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The base raised to the exponent. +

+
+
+
+ Example +
+

+

 2.0 ** 3 // evaluates to 8.0
+
+ + +

+
+
+
+ +

+ + + !cell + + +

+
+
+
+ Full Usage: + !cell +
+
+ Parameters: +
    + + + cell + + : + 'T ref + - + The cell to dereference. + +
    +
+
+ + Returns: + 'T + + The value contained in the cell. +
+
+
+
+
+
+ +
+
+

+ Dereference a mutable reference cell +

+
+
+ + + + + +
+
+
+
+
+ + cell + + : + 'T ref +
+
+

+ The cell to dereference. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value contained in the cell. +

+
+
+
+ Example +
+

+

 let count = ref 12  // Creates a reference cell object with a mutable Value property
+ count.Value         // Evaluates to 12
+ !count              // Also evaluates to 12 (with shorter syntax)
+
+
val count: int ref
+
Multiple items
val ref: value: 'T -> 'T ref

--------------------
type 'T ref = Ref<'T>
+
property Ref.Value: int with get, set
+ + +

+
+
+
+ +

+ + + x % y + + +

+
+
+
+ Full Usage: + x % y +
+
+ Parameters: +
    + + + x + + : + ^T1 + - + The first parameter. + +
    + + + y + + : + ^T2 + - + The second parameter. + +
    +
+
+ + Returns: + ^T3 + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ Overloaded modulo operator +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T1 +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^T2 +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + ^T3 +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 29 % 5 //  Evaluates to 4
+
+ + +

+
+
+
+ +

+ + + x &&& y + + +

+
+
+
+ Full Usage: + x &&& y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The first parameter. + +
    + + + y + + : + ^T + - + The second parameter. + +
    +
+
+ + Returns: + ^T + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded bitwise-AND operator +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 let a = 13       // 00000000000000000000000000001101
+ let b = 11       // 00000000000000000000000000001011
+ let c = a &&& b  // 00000000000000000000000000001001
+
+
val a: int
+
val b: int
+
val c: int
+ + + Evaluates to 9 + +

+
+
+
+ +

+ + + x * y + + +

+
+
+
+ Full Usage: + x * y +
+
+ Parameters: +
    + + + x + + : + ^T1 + - + The first parameter. + +
    + + + y + + : + ^T2 + - + The second parameter. + +
    +
+
+ + Returns: + ^T3 + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ Overloaded multiplication operator +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T1 +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^T2 +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + ^T3 +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 8 * 6 //  Evaluates to 48
+
+ + +

+
+
+
+ +

+ + + x + y + + +

+
+
+
+ Full Usage: + x + y +
+
+ Parameters: +
    + + + x + + : + ^T1 + - + The first parameter. + +
    + + + y + + : + ^T2 + - + The second parameter. + +
    +
+
+ + Returns: + ^T3 + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ Overloaded addition operator +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T1 +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^T2 +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + ^T3 +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 2 + 2 //  Evaluates to 4
+ "Hello " + "World" // Evaluates to "Hello World"
+
+ + +

+
+
+
+ +

+ + + x - y + + +

+
+
+
+ Full Usage: + x - y +
+
+ Parameters: +
    + + + x + + : + ^T1 + - + The first parameter. + +
    + + + y + + : + ^T2 + - + The second parameter. + +
    +
+
+ + Returns: + ^T3 + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ Overloaded subtraction operator +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T1 +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^T2 +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + ^T3 +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 10 - 2 //  Evaluates to 8
+
+ + +

+
+
+
+ +

+ + + (....) start step finish + + +

+
+
+
+ Full Usage: + (....) start step finish +
+
+ Parameters: +
    + + + start + + : + ^T + - + The start value of the range. + +
    + + + step + + : + ^Step + - + The step value of the range. + +
    + + + finish + + : + ^T + - + The end value of the range. + +
    +
+
+ + Returns: + ^T seq + + The sequence spanning the range using the specified step size. +
+ Modifiers: + inline +
+ Type parameters: + ^T, ^Step +
+
+
+
+
+ +
+
+

+ The standard overloaded skip range operator, e.g. [n..skip..m] for lists, seq {n..skip..m} for sequences +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + ^T +
+
+

+ The start value of the range. +

+
+
+ + step + + : + ^Step +
+
+

+ The step value of the range. +

+
+
+ + finish + + : + ^T +
+
+

+ The end value of the range. +

+
+
+
+
+ + Returns: + + ^T seq +
+
+

+ The sequence spanning the range using the specified step size. +

+
+
+
+ Example +
+

+

 [1..2..6]           //  Evaluates to [1; 3; 5]
+ [1.1..0.2..1.5]     //  Evaluates to [1.1; 1.3; 1.5]
+ ['a'..'e'] //  Evaluates to ['a'; 'b'; 'c'; 'd'; 'e']
+
+ + +

+
+
+
+ +

+ + + (..) start finish + + +

+
+
+
+ Full Usage: + (..) start finish +
+
+ Parameters: +
    + + + start + + : + ^T + - + The start value of the range. + +
    + + + finish + + : + ^T + - + The end value of the range. + +
    +
+
+ + Returns: + ^T seq + + The sequence spanning the range. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ The standard overloaded range operator, e.g. [n..m] for lists, seq {n..m} for sequences +

+
+
+ + + + + +
+
+
+
+
+ + start + + : + ^T +
+
+

+ The start value of the range. +

+
+
+ + finish + + : + ^T +
+
+

+ The end value of the range. +

+
+
+
+
+ + Returns: + + ^T seq +
+
+

+ The sequence spanning the range. +

+
+
+
+ Example +
+

+

 [1..4]      //  Evaluates to [1; 2; 3; 4]
+ [1.5..4.4]  //  Evaluates to [1.5; 2.5; 3.5]
+ ['a'..'d']  //  Evaluates to ['a'; 'b'; 'c'; 'd']
+ 
+ [|1..4|]    //  Evaluates to an array [|1; 2; 3; 4|]
+ { 1..4 }    //  Evaluates to a sequence [1; 2; 3; 4])
+
+ + +

+
+
+
+ +

+ + + x / y + + +

+
+
+
+ Full Usage: + x / y +
+
+ Parameters: +
    + + + x + + : + ^T1 + - + The first parameter. + +
    + + + y + + : + ^T2 + - + The second parameter. + +
    +
+
+ + Returns: + ^T3 + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ Overloaded division operator +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T1 +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^T2 +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + ^T3 +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 16 / 2 //  Evaluates to 8
+
+ + +

+
+
+
+ +

+ + + cell := value + + +

+
+
+
+ Full Usage: + cell := value +
+
+ Parameters: +
    + + + cell + + : + 'T ref + - + The cell to mutate. + +
    + + + value + + : + 'T + - + The value to set inside the cell. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Assign to a mutable reference cell +

+
+
+ + + + + +
+
+
+
+
+ + cell + + : + 'T ref +
+
+

+ The cell to mutate. +

+
+
+ + value + + : + 'T +
+
+

+ The value to set inside the cell. +

+
+
+
+ Example +
+

+

 let count = ref 0   // Creates a reference cell object with a mutable Value property
+ count.Value <- 1    // Updates the value
+ count := 2          // Also updates the value, but with shorter syntax     
+ count.Value         // Evaluates to 2
+
+
val count: int ref
+
Multiple items
val ref: value: 'T -> 'T ref

--------------------
type 'T ref = Ref<'T>
+
property Ref.Value: int with get, set
+ + +

+
+
+
+ +

+ + + x < y + + +

+
+
+
+ Full Usage: + x < y +
+
+ Parameters: +
    + + + x + + : + 'T + - + The first parameter. + +
    + + + y + + : + 'T + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Structural less-than comparison +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+

+ The first parameter. +

+
+
+ + y + + : + 'T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+ Example +
+

+

 1 < 5               // Evaluates to true
+ 5 < 5               // Evaluates to false
+ (1, "a") < (1, "z") // Evaluates to true
+
+ + +

+
+
+
+ +

+ + + func2 << func1 + + +

+
+
+
+ Full Usage: + func2 << func1 +
+
+ Parameters: +
    + + + func2 + + : + 'T2 -> 'T3 + - + The second function to apply. + +
    + + + func1 + + : + 'T1 -> 'T2 + - + The first function to apply. + +
    +
+
+ + Returns: + 'T1 -> 'T3 + + The composition of the input functions. +
+ Modifiers: + inline +
+ Type parameters: + 'T2, 'T3, 'T1 +
+
+
+
+
+ +
+
+

+ Compose two functions, the function on the right being applied first +

+
+
+ + + + + +
+
+
+
+
+ + func2 + + : + 'T2 -> 'T3 +
+
+

+ The second function to apply. +

+
+
+ + func1 + + : + 'T1 -> 'T2 +
+
+

+ The first function to apply. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T3 +
+
+

+ The composition of the input functions. +

+
+
+
+ Example +
+

+

 let addOne x = x + 1
+ let doubleIt x = x * 2
+ let doubleThenAdd = addOne << doubleIt
+ doubleThenAdd 3
+
+
val addOne: x: int -> int
+
val x: int
+
val doubleIt: x: int -> int
+
val doubleThenAdd: (int -> int)
+ + +

+
+
+
+ +

+ + + value <<< shift + + +

+
+
+
+ Full Usage: + value <<< shift +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    + + + shift + + : + int32 + - + The amount to shift. + +
    +
+
+ + Returns: + ^T + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded byte-shift left operator by a specified number of bits +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+ + shift + + : + int32 +
+
+

+ The amount to shift. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 let a = 13       // 00000000000000000000000000001101
+ let c = a <<< 4   // 00000000000000000000000011010000
+
+
val a: int
+
val c: int
+ + + Evaluates to 208 + +

+
+
+
+ +

+ + + x <= y + + +

+
+
+
+ Full Usage: + x <= y +
+
+ Parameters: +
    + + + x + + : + 'T + - + The first parameter. + +
    + + + y + + : + 'T + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Structural less-than-or-equal comparison +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+

+ The first parameter. +

+
+
+ + y + + : + 'T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+ Example +
+

+

  5 <= 1              // Evaluates to false
+  5 <= 5              // Evaluates to true
+  [1; 5] <= [1; 6]    // Evaluates to true
+
+ + +

+
+
+
+ +

+ + + x <> y + + +

+
+
+
+ Full Usage: + x <> y +
+
+ Parameters: +
    + + + x + + : + 'T + - + The first parameter. + +
    + + + y + + : + 'T + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Structural inequality +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+

+ The first parameter. +

+
+
+ + y + + : + 'T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+ Example +
+

+

  5 <> 5              // Evaluates to false
+  5 <> 6              // Evaluates to true
+  [1; 2] <> [1; 2]    // Evaluates to false
+
+ + +

+
+
+
+ +

+ + + func <| arg1 + + +

+
+
+
+ Full Usage: + func <| arg1 +
+
+ Parameters: +
    + + + func + + : + 'T -> 'U + - + The function. + +
    + + + arg1 + + : + 'T + - + The argument. + +
    +
+
+ + Returns: + 'U + + The function result. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ Apply a function to a value, the value being on the right, the function on the left +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T -> 'U +
+
+

+ The function. +

+
+
+ + arg1 + + : + 'T +
+
+

+ The argument. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The function result. +

+
+
+
+ Example +
+

+

 let doubleIt x = x * 2
+ doubleIt <| 3  //  Evaluates to 6
+
+
val doubleIt: x: int -> int
+
val x: int
+ + +

+
+
+
+ +

+ + + (<||) func (arg1, arg2) + + +

+
+
+
+ Full Usage: + (<||) func (arg1, arg2) +
+
+ Parameters: +
    + + + func + + : + 'T1 -> 'T2 -> 'U + - + The function. + +
    + + + arg1 + + : + 'T1 + - + The first argument. + +
    + + + arg2 + + : + 'T2 + - + The second argument. + +
    +
+
+ + Returns: + 'U + + The function result. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'U +
+
+
+
+
+ +
+
+

+ Apply a function to two values, the values being a pair on the right, the function on the left +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T1 -> 'T2 -> 'U +
+
+

+ The function. +

+
+
+ + arg1 + + : + 'T1 +
+
+

+ The first argument. +

+
+
+ + arg2 + + : + 'T2 +
+
+

+ The second argument. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The function result. +

+
+
+
+ Example +
+

+

 let sum x y = x + y
+ sum <|| (3, 4)   // Evaluates to 7
+
+
val sum: x: int -> y: int -> int
+
val x: int
+
val y: int
+ + +

+
+
+
+ +

+ + + (<|||) func (arg1, arg2, arg3) + + +

+
+
+
+ Full Usage: + (<|||) func (arg1, arg2, arg3) +
+
+ Parameters: +
    + + + func + + : + 'T1 -> 'T2 -> 'T3 -> 'U + - + The function. + +
    + + + arg1 + + : + 'T1 + - + The first argument. + +
    + + + arg2 + + : + 'T2 + - + The second argument. + +
    + + + arg3 + + : + 'T3 + - + The third argument. + +
    +
+
+ + Returns: + 'U + + The function result. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'U +
+
+
+
+
+ +
+
+

+ Apply a function to three values, the values being a triple on the right, the function on the left +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T1 -> 'T2 -> 'T3 -> 'U +
+
+

+ The function. +

+
+
+ + arg1 + + : + 'T1 +
+
+

+ The first argument. +

+
+
+ + arg2 + + : + 'T2 +
+
+

+ The second argument. +

+
+
+ + arg3 + + : + 'T3 +
+
+

+ The third argument. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The function result. +

+
+
+
+ Example +
+

+

 let sum3 x y z = x + y + z
+ sum3 <||| (3, 4, 5)   // Evaluates to 12
+
+
val sum3: x: int -> y: int -> z: int -> int
+
val x: int
+
val y: int
+
val z: int
+ + +

+
+
+
+ +

+ + + x = y + + +

+
+
+
+ Full Usage: + x = y +
+
+ Parameters: +
    + + + x + + : + 'T + - + The first parameter. + +
    + + + y + + : + 'T + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Structural equality +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+

+ The first parameter. +

+
+
+ + y + + : + 'T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+ Example +
+

+

  5 = 5              // Evaluates to true
+  5 = 6              // Evaluates to false
+  [1; 2] = [1; 2]    // Evaluates to true
+  (1, 5) = (1, 6)    // Evaluates to false
+
+ + +

+
+
+
+ +

+ + + x > y + + +

+
+
+
+ Full Usage: + x > y +
+
+ Parameters: +
    + + + x + + : + 'T + - + The first parameter. + +
    + + + y + + : + 'T + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Structural greater-than +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+

+ The first parameter. +

+
+
+ + y + + : + 'T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+ Example +
+

+

  5 > 1               // Evaluates to true
+  5 > 5               // Evaluates to false
+  (1, "a") > (1, "z") // Evaluates to false
+
+ + +

+
+
+
+ +

+ + + x >= y + + +

+
+
+
+ Full Usage: + x >= y +
+
+ Parameters: +
    + + + x + + : + 'T + - + The first parameter. + +
    + + + y + + : + 'T + - + The second parameter. + +
    +
+
+ + Returns: + bool + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Structural greater-than-or-equal +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+

+ The first parameter. +

+
+
+ + y + + : + 'T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the comparison. +

+
+
+
+ Example +
+

+

  5 >= 1              // Evaluates to true
+  5 >= 5              // Evaluates to true
+  [1; 5] >= [1; 6]    // Evaluates to false
+
+ + +

+
+
+
+ +

+ + + func1 >> func2 + + +

+
+
+
+ Full Usage: + func1 >> func2 +
+
+ Parameters: +
    + + + func1 + + : + 'T1 -> 'T2 + - + The first function to apply. + +
    + + + func2 + + : + 'T2 -> 'T3 + - + The second function to apply. + +
    +
+
+ + Returns: + 'T1 -> 'T3 + + The composition of the input functions. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3 +
+
+
+
+
+ +
+
+

+ Compose two functions, the function on the left being applied first +

+
+
+ + + + + +
+
+
+
+
+ + func1 + + : + 'T1 -> 'T2 +
+
+

+ The first function to apply. +

+
+
+ + func2 + + : + 'T2 -> 'T3 +
+
+

+ The second function to apply. +

+
+
+
+
+ + Returns: + + 'T1 -> 'T3 +
+
+

+ The composition of the input functions. +

+
+
+
+ Example +
+

+

 let addOne x = x + 1
+ let doubleIt x = x * 2
+ let addThenDouble = addOne >> doubleIt
+ addThenDouble 3  // Evaluates to 8
+
+
val addOne: x: int -> int
+
val x: int
+
val doubleIt: x: int -> int
+
val addThenDouble: (int -> int)
+ + +

+
+
+
+ +

+ + + value >>> shift + + +

+
+
+
+ Full Usage: + value >>> shift +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    + + + shift + + : + int32 + - + The amount to shift. + +
    +
+
+ + Returns: + ^T + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded byte-shift right operator by a specified number of bits +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+ + shift + + : + int32 +
+
+

+ The amount to shift. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 let a = 206      // 00000000000000000000000011010000
+ let c1 = a >>> 2  // 00000000000000000000000000110100
+ // Evaluates to 51
+ let c2 = a >>> 6  // 00000000000000000000000000000011
+ Evaluates to 3
+
+
val a: int
+
val c1: int
+
val c2: int
+ + +

+
+
+
+ +

+ + + list1 @ list2 + + +

+
+
+
+ Full Usage: + list1 @ list2 +
+
+ Parameters: +
    + + + list1 + + : + 'T list + - + The first list. + +
    + + + list2 + + : + 'T list + - + The second list. + +
    +
+
+ + Returns: + 'T list + + The concatenation of the lists. +
+
+
+
+
+
+ +
+
+

+ Concatenate two lists. +

+
+
+ + + + + +
+
+
+
+
+ + list1 + + : + 'T list +
+
+

+ The first list. +

+
+
+ + list2 + + : + 'T list +
+
+

+ The second list. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The concatenation of the lists. +

+
+
+
+ Example +
+

+

 let l1 = ['a'; 'b'; 'c']
+ let l2 = ['d'; 'e'; 'f']
+ l1 @ l2   //  Evaluates to ['a'; 'b'; 'c'; 'd'; 'e'; 'f']
+
+
val l1: char list
+
val l2: char list
+ + +

+
+
+
+ +

+ + + s1 ^ s2 + + +

+
+
+
+ Full Usage: + s1 ^ s2 +
+
+ Parameters: + +
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ Concatenate two strings. The operator '+' may also be used. +

+
+
+ + + + + +
+
+
+
+
+ + s1 + + : + string +
+
+
+ + s2 + + : + string +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+ +

+ + + x ^^^ y + + +

+
+
+
+ Full Usage: + x ^^^ y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The first parameter. + +
    + + + y + + : + ^T + - + The second parameter. + +
    +
+
+ + Returns: + ^T + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded bitwise-XOR operator +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 let a = 13       // 00000000000000000000000000001101
+ let b = 11       // 00000000000000000000000000001011
+ let c = a ^^^ b  // 00000000000000000000000000000110
+
+
val a: int
+
val b: int
+
val c: int
+ + + Evaluates to 6 + +

+
+
+
+ +

+ + + arg |> func + + +

+
+
+
+ Full Usage: + arg |> func +
+
+ Parameters: +
    + + + arg + + : + 'T1 + - + The argument. + +
    + + + func + + : + 'T1 -> 'U + - + The function. + +
    +
+
+ + Returns: + 'U + + The function result. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'U +
+
+
+
+
+ +
+
+

+ Apply a function to a value, the value being on the left, the function on the right +

+
+
+ + + + + +
+
+
+
+
+ + arg + + : + 'T1 +
+
+

+ The argument. +

+
+
+ + func + + : + 'T1 -> 'U +
+
+

+ The function. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The function result. +

+
+
+
+ Example +
+

+

 let doubleIt x = x * 2
+ 3 |> doubleIt  //  Evaluates to 6
+
+
val doubleIt: x: int -> int
+
val x: int
+ + +

+
+
+
+ +

+ + + (||>) (arg1, arg2) func + + +

+
+
+
+ Full Usage: + (||>) (arg1, arg2) func +
+
+ Parameters: +
    + + + arg1 + + : + 'T1 + - + The first argument. + +
    + + + arg2 + + : + 'T2 + - + The second argument. + +
    + + + func + + : + 'T1 -> 'T2 -> 'U + - + The function. + +
    +
+
+ + Returns: + 'U + + The function result. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'U +
+
+
+
+
+ +
+
+

+ Apply a function to two values, the values being a pair on the left, the function on the right +

+
+
+ + + + + +
+
+
+
+
+ + arg1 + + : + 'T1 +
+
+

+ The first argument. +

+
+
+ + arg2 + + : + 'T2 +
+
+

+ The second argument. +

+
+
+ + func + + : + 'T1 -> 'T2 -> 'U +
+
+

+ The function. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The function result. +

+
+
+
+ Example +
+

+

 let sum x y = x + y
+ (3, 4) ||> sum   // Evaluates to 7
+
+
val sum: x: int -> y: int -> int
+
val x: int
+
val y: int
+ + +

+
+
+
+ +

+ + + x ||| y + + +

+
+
+
+ Full Usage: + x ||| y +
+
+ Parameters: +
    + + + x + + : + ^T + - + The first parameter. + +
    + + + y + + : + ^T + - + The second parameter. + +
    +
+
+ + Returns: + ^T + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded bitwise-OR operator +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The first parameter. +

+
+
+ + y + + : + ^T +
+
+

+ The second parameter. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 let a = 13       // 00000000000000000000000000001101
+ let b = 11       // 00000000000000000000000000001011
+ let c = a ||| b  // 00000000000000000000000000001111
+
+
val a: int
+
val b: int
+
val c: int
+ + + Evaluates to 15 + +

+
+
+
+ +

+ + + (|||>) (arg1, arg2, arg3) func + + +

+
+
+
+ Full Usage: + (|||>) (arg1, arg2, arg3) func +
+
+ Parameters: +
    + + + arg1 + + : + 'T1 + - + The first argument. + +
    + + + arg2 + + : + 'T2 + - + The second argument. + +
    + + + arg3 + + : + 'T3 + - + The third argument. + +
    + + + func + + : + 'T1 -> 'T2 -> 'T3 -> 'U + - + The function. + +
    +
+
+ + Returns: + 'U + + The function result. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'U +
+
+
+
+
+ +
+
+

+ Apply a function to three values, the values being a triple on the left, the function on the right +

+
+
+ + + + + +
+
+
+
+
+ + arg1 + + : + 'T1 +
+
+

+ The first argument. +

+
+
+ + arg2 + + : + 'T2 +
+
+

+ The second argument. +

+
+
+ + arg3 + + : + 'T3 +
+
+

+ The third argument. +

+
+
+ + func + + : + 'T1 -> 'T2 -> 'T3 -> 'U +
+
+

+ The function. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The function result. +

+
+
+
+ Example +
+

+

 let sum3 x y z = x + y + z
+ (3, 4, 5) |||> sum3   // Evaluates to 12
+
+
val sum3: x: int -> y: int -> z: int -> int
+
val x: int
+
val y: int
+
val z: int
+ + +

+
+
+
+ +

+ + + ~+value + + +

+
+
+
+ Full Usage: + ~+value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded prefix-plus operator +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The result of the operation. +

+
+
+
+
+
+ +

+ + + ~-n + + +

+
+
+
+ Full Usage: + ~-n +
+
+ Parameters: +
    + + + n + + : + ^T + - + The value to negate. + +
    +
+
+ + Returns: + ^T + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded unary negation. +

+
+
+ + + + + +
+
+
+
+
+ + n + + : + ^T +
+
+

+ The value to negate. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The result of the operation. +

+
+
+
+
+
+ +

+ + + ~~~value + + +

+
+
+
+ Full Usage: + ~~~value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The result of the operation. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded bitwise-NOT operator +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The result of the operation. +

+
+
+
+ Example +
+

+

 let byte1 = 60uy  //  00111100
+ let byte2 = ~~~b1 //  11000011
+
+
val byte1: byte
+
val byte2: int
+ + + Evaluates to 195 + +

+
+
+
+ +

+ + + Failure message + + +

+
+
+
+ Full Usage: + Failure message +
+
+ Parameters: +
    + + + message + + : + string + - + The message for the Exception. + +
    +
+
+ + Returns: + exn + + A System.Exception. +
+
+
+
+
+
+ +
+
+

+ Builds a Exception object. +

+
+
+ + + + + +
+
+
+
+
+ + message + + : + string +
+
+

+ The message for the Exception. +

+
+
+
+
+ + Returns: + + exn +
+
+

+ A System.Exception. +

+
+
+
+ Example +
+

+

 let throwException() = 
+     raise(Failure("Oh no!!!")) 
+     true  // Never gets here
+   
+   throwException() //  Throws a generic Exception class
+
+
val throwException: unit -> bool
+
val raise: exn: System.Exception -> 'T
+
Multiple items
val Failure: message: string -> exn

--------------------
active recognizer Failure: exn -> string option
+ + +

+
+
+
+ +

+ + + ``not`` value + + +

+
+
+
+ Full Usage: + ``not`` value +
+
+ Parameters: +
    + + + value + + : + bool + - + The value to negate. + +
    +
+
+ + Returns: + bool + + The result of the negation. +
+ Modifiers: + inline +
+
+
+
+
+
+ +
+
+

+ Negate a logical value. Not True equals False and not False equals True +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + bool +
+
+

+ The value to negate. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ The result of the negation. +

+
+
+
+ Example +
+

+

 not (2 + 2 = 5)     // Evaluates to true 
+ 
+ //  not is a function that can be compose with other functions
+ let fileDoesNotExist = System.IO.File.Exists >> not
+
+
val fileDoesNotExist: (string -> bool)
+
namespace System
+
namespace System.IO
+
type File = + static member AppendAllBytes: path: string * bytes: byte array -> unit + 1 overload + static member AppendAllBytesAsync: path: string * bytes: byte array * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllLines: path: string * contents: IEnumerable<string> -> unit + 1 overload + static member AppendAllLinesAsync: path: string * contents: IEnumerable<string> * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllText: path: string * contents: string -> unit + 3 overloads + static member AppendAllTextAsync: path: string * contents: string * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 3 overloads + static member AppendText: path: string -> StreamWriter + static member Copy: sourceFileName: string * destFileName: string -> unit + 1 overload + static member Create: path: string -> FileStream + 2 overloads + static member CreateSymbolicLink: path: string * pathToTarget: string -> FileSystemInfo + ...
<summary>Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects.</summary>
+
System.IO.File.Exists(path: string) : bool
+ + +

+
+
+
+ +

+ + + abs value + + +

+
+
+
+ Full Usage: + abs value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The absolute value of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Absolute value of the given number. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The absolute value of the input. +

+
+
+
+ Example +
+

+

 abs -12    // Evaluates to 12
+ abs -15.0  // Evaluates to 15.0
+
+
val abs: value: 'T -> 'T (requires member Abs)
+ + +

+
+
+
+ +

+ + + acos value + + +

+
+
+
+ Full Usage: + acos value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The inverse cosine of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Inverse cosine of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The inverse cosine of the input. +

+
+
+
+ Example +
+

+

 let angleFromAdjacent adjacent hypotenuse = acos(adjacent / hypotenuse)
+ angleFromAdjacent 8.0 10.0  //  Evaluates to 0.6435011088
+
+
val angleFromAdjacent: adjacent: float -> hypotenuse: float -> float
+
val adjacent: float
+
val hypotenuse: float
+
val acos: value: 'T -> 'T (requires member Acos)
+ + +

+
+
+
+ +

+ + + asin value + + +

+
+
+
+ Full Usage: + asin value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The inverse sine of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Inverse sine of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The inverse sine of the input. +

+
+
+
+ Example +
+

+

 let angleFromOpposite opposite hypotenuse = asin(opposite / hypotenuse)
+ angleFromOpposite 6.0 10.0  //  Evaluates to 0.6435011088
+ angleFromOpposite 5.0 3.0  //  Evaluates to nan
+
+
val angleFromOpposite: opposite: float -> hypotenuse: float -> float
+
val opposite: float
+
val hypotenuse: float
+
val asin: value: 'T -> 'T (requires member Asin)
+ + +

+
+
+
+ +

+ + + atan value + + +

+
+
+
+ Full Usage: + atan value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The inverse tangent of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Inverse tangent of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The inverse tangent of the input. +

+
+
+
+ Example +
+

+

 let angleFrom opposite adjacent = atan(opposite / adjacent)
+ angleFrom 5.0 5.0   //  Evaluates to 0.7853981634
+
+
val angleFrom: opposite: float -> adjacent: float -> float
+
val opposite: float
+
val adjacent: float
+
val atan: value: 'T -> 'T (requires member Atan)
+ + +

+
+
+
+ +

+ + + atan2 y x + + +

+
+
+
+ Full Usage: + atan2 y x +
+
+ Parameters: +
    + + + y + + : + ^T1 + - + The y input value. + +
    + + + x + + : + ^T1 + - + The x input value. + +
    +
+
+ + Returns: + 'T2 + + The inverse tangent of the input ratio. +
+ Modifiers: + inline +
+ Type parameters: + ^T1, 'T2 +
+
+
+
+
+ +
+
+

+ Inverse tangent of x/y where x and y are specified separately +

+
+
+ + + + + +
+
+
+
+
+ + y + + : + ^T1 +
+
+

+ The y input value. +

+
+
+ + x + + : + ^T1 +
+
+

+ The x input value. +

+
+
+
+
+ + Returns: + + 'T2 +
+
+

+ The inverse tangent of the input ratio. +

+
+
+
+ Example +
+

+

 let angleFromPlaneAtXY x y = atan2 y x * 180.0 / System.Math.PI
+ angleFromPlaneAtXY 0.0 -1.0   //  Evaluates to -90.0
+ angleFromPlaneAtXY 1.0 1.0    //  Evaluates to 45.0
+ angleFromPlaneAtXY -1.0 1.0   //  Evaluates to 135.0
+
+
val angleFromPlaneAtXY: x: float -> y: float -> float
+
val x: float
+
val y: float
+
val atan2: y: 'T1 -> x: 'T1 -> 'T2 (requires member Atan2)
+
namespace System
+
type Math = + static member Abs: value: decimal -> decimal + 7 overloads + static member Acos: d: float -> float + static member Acosh: d: float -> float + static member Asin: d: float -> float + static member Asinh: d: float -> float + static member Atan: d: float -> float + static member Atan2: y: float * x: float -> float + static member Atanh: d: float -> float + static member BigMul: a: int * b: int -> int64 + 5 overloads + static member BitDecrement: x: float -> float + ...
<summary>Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.</summary>
+
field System.Math.PI: float = 3.14159265359
+ + +

+
+
+
+ +

+ + + box value + + +

+
+
+
+ Full Usage: + box value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to box. + +
    +
+
+ + Returns: + objnull + + The boxed object. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Boxes a strongly typed value. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to box. +

+
+
+
+
+ + Returns: + + objnull +
+
+

+ The boxed object. +

+
+
+
+ Example +
+

+

 let x: int = 123
+ let obj1 = box x    //  obj1 is a generic object type
+ unbox<int> obj1     //  Evaluates to 123 (int)
+ unbox<double> obj1  //  Throws System.InvalidCastException
+
+
val x: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val obj1: obj
+
val box: value: 'T -> obj
+
val unbox: value: obj -> 'T
+
Multiple items
val double: value: 'T -> double (requires member op_Explicit)

--------------------
type double = System.Double

--------------------
type double<'Measure> = float<'Measure>
+ + +

+
+
+
+ +

+ + + byte value + + +

+
+
+
+ Full Usage: + byte value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + byte + + The converted byte +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + byte +
+
+

+ The converted byte +

+
+
+
+ Example +
+

+

 byte 'A'  // evaluates to 65uy
+ byte 0xff // evaluates to 255uy
+ byte -10  // evaluates to 246uy
+
+
Multiple items
val byte: value: 'T -> byte (requires member op_Explicit)

--------------------
type byte = System.Byte

--------------------
type byte<'Measure> = + byte
+ + +

+
+
+
+ +

+ + + ceil value + + +

+
+
+
+ Full Usage: + ceil value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The ceiling of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Ceiling of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The ceiling of the input. +

+
+
+
+ Example +
+

+

 ceil 12.1  //  Evaluates to 13.0
+ ceil -1.9  //  Evaluates to -1.0
+
+
val ceil: value: 'T -> 'T (requires member Ceiling)
+ + +

+
+
+
+ +

+ + + char value + + +

+
+
+
+ Full Usage: + char value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + char + + The converted char. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + char +
+
+

+ The converted char. +

+
+
+
+ Example +
+

+

 char "A"  // evaluates to 'A'
+ char 0x41 // evaluates to 'A'
+ char 65   // evaluates to 'A'
+
+
Multiple items
val char: value: 'T -> char (requires member op_Explicit)

--------------------
type char = System.Char
+ + +

+
+
+
+ +

+ + + compare e1 e2 + + +

+
+
+
+ Full Usage: + compare e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + int + + The result of the comparison. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Generic comparison. +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The result of the comparison. +

+
+
+
+ Example +
+

+

 compare 1 2             //  Evaluates to -1
+ compare [1;2;3] [1;2;4] //  Evaluates to -1
+ compare 2 2             //  Evaluates to 0
+ compare [1;2;3] [1;2;3] //  Evaluates to 0
+ compare 2 1             //  Evaluates to 1
+ compare [1;2;4] [1;2;3] //  Evaluates to 1
+
+
val compare: e1: 'T -> e2: 'T -> int (requires comparison)
+ + +

+
+
+
+ +

+ + + cos value + + +

+
+
+
+ Full Usage: + cos value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The cosine of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Cosine of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The cosine of the input. +

+
+
+
+ Example +
+

+

 cos (0.0 * System.Math.PI) // evaluates to 1.0
+ cos (0.5 * System.Math.PI) // evaluates to 6.123233996e-17
+ cos (1.0 * System.Math.PI) // evaluates to -1.0
+
+
val cos: value: 'T -> 'T (requires member Cos)
+
namespace System
+
type Math = + static member Abs: value: decimal -> decimal + 7 overloads + static member Acos: d: float -> float + static member Acosh: d: float -> float + static member Asin: d: float -> float + static member Asinh: d: float -> float + static member Atan: d: float -> float + static member Atan2: y: float * x: float -> float + static member Atanh: d: float -> float + static member BigMul: a: int * b: int -> int64 + 5 overloads + static member BitDecrement: x: float -> float + ...
<summary>Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.</summary>
+
field System.Math.PI: float = 3.14159265359
<summary>Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π.</summary>
+ + +

+
+
+
+ +

+ + + cosh value + + +

+
+
+
+ Full Usage: + cosh value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The hyperbolic cosine of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Hyperbolic cosine of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The hyperbolic cosine of the input. +

+
+
+
+ Example +
+

+

 cosh -1.0 // evaluates to 1.543080635
+ cosh 0.0  // evaluates to 1.0
+ cosh 1.0  // evaluates to 1.543080635
+
+
val cosh: value: 'T -> 'T (requires member Cosh)
+ + +

+
+
+
+ +

+ + + decimal value + + +

+
+
+
+ Full Usage: + decimal value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + decimal + + The converted decimal. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + decimal +
+
+

+ The converted decimal. +

+
+
+
+ Example +
+

+

 decimal "42.23" // evaluates to 42.23M
+ decimal 0xff    // evaluates to 255M
+ decimal -10     // evaluates to -10M
+
+
Multiple items
val decimal: value: 'T -> decimal (requires member op_Explicit)

--------------------
type decimal = System.Decimal

--------------------
type decimal<'Measure> = + decimal
+ + +

+
+
+
+ +

+ + + decr cell + + +

+
+
+
+ Full Usage: + decr cell +
+
+ Parameters: +
    + + + cell + + : + int ref + - + The reference cell. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Decrement a mutable reference cell containing an integer +

+
+
+ + + + + +
+
+
+
+
+ + cell + + : + int ref +
+
+

+ The reference cell. +

+
+
+
+ Example +
+

+

 let count = ref 99  // Creates a reference cell object with a mutable Value property
+ decr count          // Decrements our counter
+ count.Value         // Evaluates to 98
+
+
val count: int ref
+
Multiple items
val ref: value: 'T -> 'T ref

--------------------
type 'T ref = Ref<'T>
+
val decr: cell: int ref -> unit
+
property Ref.Value: int with get, set
+ + +

+
+
+
+ +

+ + + defaultArg arg defaultValue + + +

+
+
+
+ Full Usage: + defaultArg arg defaultValue +
+
+ Parameters: +
    + + + arg + + : + 'T option + - + An option representing the argument. + +
    + + + defaultValue + + : + 'T + - + The default value of the argument. + +
    +
+
+ + Returns: + 'T + + The argument value. If it is None, the defaultValue is returned. +
+
+
+
+
+
+ +
+
+

+ Used to specify a default value for an optional argument in the implementation of a function +

+
+
+ + + + + +
+
+
+
+
+ + arg + + : + 'T option +
+
+

+ An option representing the argument. +

+
+
+ + defaultValue + + : + 'T +
+
+

+ The default value of the argument. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The argument value. If it is None, the defaultValue is returned. +

+
+
+
+ Example +
+

+

 type Vector(x: double, y: double, ?z: double) = 
+     let z = defaultArg z 0.0
+     member this.X = x
+     member this.Y = y
+     member this.Z = z
+ 
+ let v1 = Vector(1.0, 2.0)
+ v1.Z  // Evaluates to 0.
+ let v2 = Vector(1.0, 2.0, 3.0)
+ v2.Z  // Evaluates to 3.0
+
+
Multiple items
type Vector = + new: x: double * y: double * ?z: double -> Vector + member X: double + member Y: double + member Z: double

--------------------
new: x: double * y: double * ?z: double -> Vector
+
val x: double
+
Multiple items
val double: value: 'T -> double (requires member op_Explicit)

--------------------
type double = System.Double

--------------------
type double<'Measure> = float<'Measure>
+
val y: double
+
val z: double option
+
val z: double
+
val defaultArg: arg: 'T option -> defaultValue: 'T -> 'T
+
val this: Vector
+
member Vector.X: double
+
member Vector.Y: double
+
member Vector.Z: double
+
val v1: Vector
+
property Vector.Z: double with get
+
val v2: Vector
+ + +

+
+
+
+ +

+ + + defaultValueArg arg defaultValue + + +

+
+
+
+ Full Usage: + defaultValueArg arg defaultValue +
+
+ Parameters: +
    + + + arg + + : + 'T voption + - + A value option representing the argument. + +
    + + + defaultValue + + : + 'T + - + The default value of the argument. + +
    +
+
+ + Returns: + 'T + + The argument value. If it is None, the defaultValue is returned. +
+
+
+
+
+
+ +
+
+

+ Used to specify a default value for an optional argument in the implementation of a function +

+
+
+ + + + + +
+
+
+
+
+ + arg + + : + 'T voption +
+
+

+ A value option representing the argument. +

+
+
+ + defaultValue + + : + 'T +
+
+

+ The default value of the argument. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The argument value. If it is None, the defaultValue is returned. +

+
+
+
+ Example +
+

+

 let arg1 = ValueSome(5)
+ defaultValueArg arg1 6       //  Evaluates to 5
+ defaultValueArg ValueNone 6  //  Evaluates to 6
+
+
val arg1: int voption
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+
val defaultValueArg: arg: 'T voption -> defaultValue: 'T -> 'T
+
union case ValueOption.ValueNone: ValueOption<'T>
+ + +

+
+
+
+ +

+ + + enum value + + +

+
+
+
+ Full Usage: + enum value +
+
+ Parameters: +
    + + + value + + : + int32 + - + The input value. + +
    +
+
+ + Returns: + ^U + + The converted enum type. +
+ Modifiers: + inline +
+ Type parameters: + ^U +
+
+
+
+
+ +
+
+

+ Converts the argument to a particular enum type. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + int32 +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^U +
+
+

+ The converted enum type. +

+
+
+
+ Example +
+

+

 type Color =
+ | Red = 1
+ | Green = 2
+ | Blue = 3
+ let c: Color = enum 3 // c evaluates to Blue
+
+
[<Struct>] +type Color = + | Red = 1 + | Green = 2 + | Blue = 3
+
val c: Color
+
val enum: value: int32 -> 'U (requires enum)
+ + +

+
+
+
+ +

+ + + exit exitcode + + +

+
+
+
+ Full Usage: + exit exitcode +
+
+ Parameters: +
    + + + exitcode + + : + int + - + The exit code to use. + +
    +
+
+ + Returns: + 'T + + Never returns. +
+
+
+
+
+
+ +
+
+

+ Exit the current hardware isolated process, if security settings permit, + otherwise raise an exception. Calls Environment.Exit. +

+
+
+ + + + + +
+
+
+
+
+ + exitcode + + : + int +
+
+

+ The exit code to use. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ Never returns. +

+
+
+
+ Example +
+

+

 [<EntryPoint>]
+ let main argv = 
+     if argv.Length = 0 then
+         eprintfn "You must provide arguments"
+         exit(-1)  // Causes program to quit with an error code
+     printfn "Argument count: %i" argv.Length
+     0
+
+
Multiple items
type EntryPointAttribute = + inherit Attribute + new: unit -> EntryPointAttribute

--------------------
new: unit -> EntryPointAttribute
+
val main: argv: string array -> int
+
val argv: string array
+
property System.Array.Length: int with get
<summary>Gets the total number of elements in all the dimensions of the <see cref="T:System.Array" />.</summary>
<exception cref="T:System.OverflowException">The array is multidimensional and contains more than <see cref="F:System.Int32.MaxValue">Int32.MaxValue</see> elements.</exception>
<returns>The total number of elements in all the dimensions of the <see cref="T:System.Array" />; zero if there are no elements in the array.</returns>
+
val eprintfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val exit: exitcode: int -> 'T
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + +

+
+
+
+ +

+ + + exp value + + +

+
+
+
+ Full Usage: + exp value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The exponential of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Exponential of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The exponential of the input. +

+
+
+
+ Example +
+

+

 exp 0.0   //  Evaluates to 1.0
+ exp 1.0   //  Evaluates to 2.718281828
+ exp -1.0  //  Evaluates to 0.3678794412
+ exp 2.0   //  Evaluates to 7.389056099
+
+
val exp: value: 'T -> 'T (requires member Exp)
+ + +

+
+
+
+ +

+ + + failwith message + + +

+
+
+
+ Full Usage: + failwith message +
+
+ Parameters: +
    + + + message + + : + string + - + The exception message. + +
    +
+
+ + Returns: + 'T + + Never returns. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Throw a Exception exception. +

+
+
+ + + + + +
+
+
+
+
+ + message + + : + string +
+
+

+ The exception message. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ Never returns. +

+
+
+
+ Example +
+

+

 let failingFunction() = 
+     failwith "Oh no" // Throws an exception
+     true  // Never reaches this
+   
+ failingFunction()  // Throws a System.Exception
+
+
val failingFunction: unit -> bool
+
val failwith: message: string -> 'T
+ + +

+
+
+
+ +

+ + + float value + + +

+
+
+
+ Full Usage: + float value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + float + + The converted float +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + float +
+
+

+ The converted float +

+
+
+
+ Example +
+

+

 float 'A'  // evaluates to 65.0
+ float 0xff // evaluates to 255.0
+ float -10  // evaluates to -10.0
+
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+ + +

+
+
+
+ +

+ + + float32 value + + +

+
+
+
+ Full Usage: + float32 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + float32 + + The converted float32 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + float32 +
+
+

+ The converted float32 +

+
+
+
+ Example +
+

+

 float32 'A'  // evaluates to 65.0f
+ float32 0xff // evaluates to 255.0f
+ float32 -10  // evaluates to -10.0f
+
+
Multiple items
val float32: value: 'T -> float32 (requires member op_Explicit)

--------------------
type float32 = System.Single

--------------------
type float32<'Measure> = + float32
+ + +

+
+
+
+ +

+ + + floor value + + +

+
+
+
+ Full Usage: + floor value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The floor of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Floor of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The floor of the input. +

+
+
+
+ Example +
+

+

 floor 12.1  //  Evaluates to 12.0
+ floor -1.9  //  Evaluates to -2.0
+
+
val floor: value: 'T -> 'T (requires member Floor)
+ + +

+
+
+
+ +

+ + + fst tuple + + +

+
+
+
+ Full Usage: + fst tuple +
+
+ Parameters: +
    + + + tuple + + : + 'T1 * 'T2 + - + The input tuple. + +
    +
+
+ + Returns: + 'T1 + + The first value. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2 +
+
+
+
+
+ +
+
+

+ Return the first element of a tuple, fst (a,b) = a. +

+
+
+ + + + + +
+
+
+
+
+ + tuple + + : + 'T1 * 'T2 +
+
+

+ The input tuple. +

+
+
+
+
+ + Returns: + + 'T1 +
+
+

+ The first value. +

+
+
+
+ Example +
+

+

 fst ("first", 2)  //  Evaluates to "first"
+
+
val fst: tuple: ('T1 * 'T2) -> 'T1
+ + +

+
+
+
+ +

+ + + hash obj + + +

+
+
+
+ Full Usage: + hash obj +
+
+ Parameters: +
    + + + obj + + : + 'T + - + The input object. + +
    +
+
+ + Returns: + int + + The computed hash. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + 'T +
+
+

+ The input object. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The computed hash. +

+
+
+
+ Example +
+

+

 hash "Bob Jones"  // Evaluates to -325251320
+
+
val hash: obj: 'T -> int (requires equality)
+ + +

+
+
+
+ +

+ + + id x + + +

+
+
+
+ Full Usage: + id x +
+
+ Parameters: +
    + + + x + + : + 'T + - + The input value. + +
    +
+
+ + Returns: + 'T + + The same value. +
+
+
+
+
+
+ +
+
+

+ The identity function +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + 'T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The same value. +

+
+
+
+ Example +
+

+

 id 12     //  Evaluates to 12
+ id "abc"  //  Evaluates to "abc"
+
+
val id: x: 'T -> 'T
+ + +

+
+
+
+ +

+ + + ignore value + + +

+
+
+
+ Full Usage: + ignore value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to ignore. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Ignore the passed value. This is often used to throw away results of a computation. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to ignore. +

+
+
+
+ Example +
+

+

  ignore 55555   //  Evaluates to ()
+
+
val ignore: value: 'T -> unit
+ + +

+
+
+
+ +

+ + + incr cell + + +

+
+
+
+ Full Usage: + incr cell +
+
+ Parameters: +
    + + + cell + + : + int ref + - + The reference cell. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Increment a mutable reference cell containing an integer +

+
+
+ + + + + +
+
+
+
+
+ + cell + + : + int ref +
+
+

+ The reference cell. +

+
+
+
+ Example +
+

+

 let count = ref 99  // Creates a reference cell object with a mutable Value property
+ incr count          // Increments our counter
+ count.Value         // Evaluates to 100
+
+
val count: int ref
+
Multiple items
val ref: value: 'T -> 'T ref

--------------------
type 'T ref = Ref<'T>
+
val incr: cell: int ref -> unit
+
property Ref.Value: int with get, set
+ + +

+
+
+
+ +

+ + + infinity + + +

+
+
+
+ Full Usage: + infinity +
+
+ + Returns: + float + +
+
+
+
+
+
+ +
+
+

+ Equivalent to Double.PositiveInfinity +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + float +
+
+
+
+
+
+ +

+ + + infinityf + + +

+
+
+
+ Full Usage: + infinityf +
+
+ + Returns: + float32 + +
+
+
+
+
+
+ +
+
+

+ Equivalent to Single.PositiveInfinity +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + float32 +
+
+
+
+
+
+ +

+ + + int value + + +

+
+
+
+ Full Usage: + int value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + int + + The converted int +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The converted int +

+
+
+
+ Example +
+

+

 int 'A'  // evaluates to 65
+ int 0xff // evaluates to 255
+ int -10  // evaluates to -10
+
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + int16 value + + +

+
+
+
+ Full Usage: + int16 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + int16 + + The converted int16 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + int16 +
+
+

+ The converted int16 +

+
+
+
+ Example +
+

+

 int16 'A'  // evaluates to 65s
+ int16 0xff // evaluates to 255s
+ int16 -10  // evaluates to -10s
+
+
Multiple items
val int16: value: 'T -> int16 (requires member op_Explicit)

--------------------
type int16 = System.Int16

--------------------
type int16<'Measure> = + int16
+ + +

+
+
+
+ +

+ + + int32 value + + +

+
+
+
+ Full Usage: + int32 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + int32 + + The converted int32 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + int32 +
+
+

+ The converted int32 +

+
+
+
+ Example +
+

+

 int32 'A'  // evaluates to 65
+ int32 0xff // evaluates to 255
+ int32 -10  // evaluates to -10
+
+
Multiple items
val int32: value: 'T -> int32 (requires member op_Explicit)

--------------------
type int32 = System.Int32

--------------------
type int32<'Measure> = int<'Measure>
+ + +

+
+
+
+ +

+ + + int64 value + + +

+
+
+
+ Full Usage: + int64 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + int64 + + The converted int64 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + int64 +
+
+

+ The converted int64 +

+
+
+
+ Example +
+

+

 int64 'A'  // evaluates to 65L
+ int64 0xff // evaluates to 255L
+ int64 -10  // evaluates to -10L
+
+
Multiple items
val int64: value: 'T -> int64 (requires member op_Explicit)

--------------------
type int64 = System.Int64

--------------------
type int64<'Measure> = + int64
+ + +

+
+
+
+ +

+ + + invalidArg argumentName message + + +

+
+
+
+ Full Usage: + invalidArg argumentName message +
+
+ Parameters: +
    + + + argumentName + + : + string + - + The argument name. + +
    + + + message + + : + string + - + The exception message. + +
    +
+
+ + Returns: + 'T + + Never returns. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Throw a ArgumentException exception with + the given argument name and message. +

+
+
+ + + + + +
+
+
+
+
+ + argumentName + + : + string +
+
+

+ The argument name. +

+
+
+ + message + + : + string +
+
+

+ The exception message. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ Never returns. +

+
+
+
+ Example +
+

+

 let fullName firstName lastName = 
+     if String.IsNullOrWhiteSpace(firstName) then
+         invalidArg (nameof(firstName)) "First name can't be null or blank"
+         if String.IsNullOrWhiteSpace(lastName) then
+             invalidArg (nameof(lastName)) "Last name can't be null or blank"
+     firstName + " " + lastName
+   
+ fullName null "Jones"
+
+
val fullName: firstName: string -> lastName: string -> string
+
val firstName: string
+
val lastName: string
+
module String + +from Microsoft.FSharp.Core
+
val invalidArg: argumentName: string -> message: string -> 'T
+
val nameof: 'T -> string
+ + + Throws System.ArgumentException: First name can't be null or blank (Parameter 'firstName') +

+
+
+
+ +

+ + + invalidOp message + + +

+
+
+
+ Full Usage: + invalidOp message +
+
+ Parameters: +
    + + + message + + : + string + - + The exception message. + +
    +
+
+ + Returns: + 'T + + The result value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Throw a InvalidOperationException exception +

+
+
+ + + + + +
+
+
+
+
+ + message + + : + string +
+
+

+ The exception message. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The result value. +

+
+
+
+ Example +
+

+

 type FileReader(fileName: string) = 
+     let mutable isOpen = false
+     member this.Open() = 
+       if isOpen then invalidOp "File is already open"
+       //  ... Here we may open the file ...
+       isOpen <- true
+ 
+ let reader = FileReader("journal.txt")
+ reader.Open()  //  Executes fine
+ reader.Open()  //  Throws System.InvalidOperationException: File is already open
+
+
Multiple items
type FileReader = + new: fileName: string -> FileReader + member Open: unit -> unit

--------------------
new: fileName: string -> FileReader
+
val fileName: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val mutable isOpen: bool
+
val this: FileReader
+
val invalidOp: message: string -> 'T
+
val reader: FileReader
+
member FileReader.Open: unit -> unit
+ + +

+
+
+
+ +

+ + + isNull value + + +

+
+
+
+ Full Usage: + isNull value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to check. + +
    +
+
+ + Returns: + bool + + True when value is null, false otherwise. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Determines whether the given value is null. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to check. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True when value is null, false otherwise. +

+
+
+
+ Example +
+

+

 isNull null        //  Evaluates to true
+ isNull "Not null"  //  Evaluates to false
+
+
val isNull: value: 'T -> bool (requires 'T: null)
+ + +

+
+
+
+ +

+ + + limitedHash limit obj + + +

+
+
+
+ Full Usage: + limitedHash limit obj +
+
+ Parameters: +
    + + + limit + + : + int + - + The limit of nodes. + +
    + + + obj + + : + 'T + - + The input object. + +
    +
+
+ + Returns: + int + + The computed hash. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + limit + + : + int +
+
+

+ The limit of nodes. +

+
+
+ + obj + + : + 'T +
+
+

+ The input object. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The computed hash. +

+
+
+
+
+
+ +

+ + + lock lockObject action + + +

+
+
+
+ Full Usage: + lock lockObject action +
+
+ Parameters: +
    + + + lockObject + + : + 'Lock + - + The object to be locked. + +
    + + + action + + : + unit -> 'T + - + The action to perform during the lock. + +
    +
+
+ + Returns: + 'T + + The resulting value. +
+ Modifiers: + inline +
+ Type parameters: + 'Lock, 'T +
+
+
+
+
+ +
+
+

+ Execute the function as a mutual-exclusion region using the input value as a lock. +

+
+
+ + + + + +
+
+
+
+
+ + lockObject + + : + 'Lock +
+
+

+ The object to be locked. +

+
+
+ + action + + : + unit -> 'T +
+
+

+ The action to perform during the lock. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The resulting value. +

+
+
+
+ Example +
+

+

 open System.Linq
+
+ /// A counter object, supporting unlocked and locked increment
+ type TestCounter () =
+     let mutable count = 0
+     
+     /// Increment the counter, unlocked
+     member this.IncrementWithoutLock() =
+         count <- count + 1
+
+     /// Increment the counter, locked
+     member this.IncrementWithLock() = 
+         lock this (fun () -> count <- count + 1)
+
+     /// Get the count
+     member this.Count = count
+         
+ let counter = TestCounter()
+
+ // Create a parallel sequence to that uses all our CPUs
+ (seq {1..100000}).AsParallel()
+     .ForAll(fun _ -> counter.IncrementWithoutLock())
+ 
+ // Evaluates to a number between 1-100000, non-deterministically because there is no locking
+ counter.Count
+ 
+ let counter2 = TestCounter()
+
+ //  Create a parallel sequence to that uses all our CPUs
+ (seq {1..100000}).AsParallel()
+     .ForAll(fun _ -> counter2.IncrementWithLock())
+ 
+ //  Evaluates to 100000 deterministically because the increment to the counter object is locked
+ counter2.Count
+
+
namespace System
+
namespace System.Linq
+
Multiple items
type TestCounter = + new: unit -> TestCounter + member IncrementWithLock: unit -> unit + member IncrementWithoutLock: unit -> unit + member Count: int
 A counter object, supporting unlocked and locked increment

--------------------
new: unit -> TestCounter
+
val mutable count: int
+
val this: TestCounter
+
val lock: lockObject: 'Lock -> action: (unit -> 'T) -> 'T (requires reference type)
+
val counter: TestCounter
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
member TestCounter.IncrementWithoutLock: unit -> unit
 Increment the counter, unlocked
+
property TestCounter.Count: int with get
 Get the count
+
val counter2: TestCounter
+
member TestCounter.IncrementWithLock: unit -> unit
 Increment the counter, locked
+ + +

+
+
+
+ +

+ + + log value + + +

+
+
+
+ Full Usage: + log value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The natural logarithm of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Natural logarithm of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The natural logarithm of the input. +

+
+
+
+ Example +
+

+

 let logBase baseNumber value = (log value) / (log baseNumber)
+ logBase 2.0 32.0      //  Evaluates to 5.0
+ logBase 10.0 1000.0   //  Evaluates to 3.0
+
+
val logBase: baseNumber: float -> value: float -> float
+
val baseNumber: float
+
val value: float
+
val log: value: 'T -> 'T (requires member Log)
+ + +

+
+
+
+ +

+ + + log10 value + + +

+
+
+
+ Full Usage: + log10 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The logarithm to base 10 of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Logarithm to base 10 of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The logarithm to base 10 of the input. +

+
+
+
+ Example +
+

+

 log10 1000.0    //  Evaluates to 3.0
+ log10 100000.0  //  Evaluates to 5.0
+ log10 0.0001    //  Evaluates to -4.0
+ log10 -20.0     //  Evaluates to nan
+
+
val log10: value: 'T -> 'T (requires member Log10)
+ + +

+
+
+
+ +

+ + + max e1 e2 + + +

+
+
+
+ Full Usage: + max e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + 'T + + The maximum value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Maximum based on generic comparison +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The maximum value. +

+
+
+
+ Example +
+

+

  max 1 2             //  Evaluates to 2
+  max [1;2;3] [1;2;4] //  Evaluates to [1;2;4]
+  max "zoo" "alpha"   //  Evaluates to "zoo"
+
+
val max: e1: 'T -> e2: 'T -> 'T (requires comparison)
+ + +

+
+
+
+ +

+ + + methodhandleof arg1 + + +

+
+
+
+ Full Usage: + methodhandleof arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T -> 'TResult + +
    +
+
+ + Returns: + RuntimeMethodHandle + +
+
+
+
+
+
+ +
+
An internal, library-only compiler intrinsic for compile-time 
+ generation of a RuntimeMethodHandle.
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T -> 'TResult +
+
+
+
+
+ + Returns: + + RuntimeMethodHandle +
+
+
+
+
+
+ +

+ + + min e1 e2 + + +

+
+
+
+ Full Usage: + min e1 e2 +
+
+ Parameters: +
    + + + e1 + + : + 'T + - + The first value. + +
    + + + e2 + + : + 'T + - + The second value. + +
    +
+
+ + Returns: + 'T + + The minimum value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Minimum based on generic comparison +

+
+
+ + + + + +
+
+
+
+
+ + e1 + + : + 'T +
+
+

+ The first value. +

+
+
+ + e2 + + : + 'T +
+
+

+ The second value. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The minimum value. +

+
+
+
+ Example +
+

+

  min 1 2             //  Evaluates to 1
+  min [1;2;3] [1;2;4] //  Evaluates to [1;2;3]
+  min "zoo" "alpha"   //  Evaluates to "alpha"
+
+
val min: e1: 'T -> e2: 'T -> 'T (requires comparison)
+ + +

+
+
+
+ +

+ + + nameof arg1 + + +

+
+
+
+ Full Usage: + nameof arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    +
+
+ + Returns: + string + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns the name of the given symbol. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T +
+
+
+
+
+ + Returns: + + string +
+
+
+
+ Example +
+

+

 let myVariableName = "This value doesn't matter"
+ nameof(myVariableName)   //  Evaluates to "myVariableName"
+
+
val myVariableName: string
+
val nameof: 'T -> string
+ + +

+
+
+
+ +

+ + + nan + + +

+
+
+
+ Full Usage: + nan +
+
+ + Returns: + float + +
+
+
+
+
+
+ +
+
+

+ Equivalent to Double.NaN +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + float +
+
+
+
+
+
+ +

+ + + nanf + + +

+
+
+
+ Full Usage: + nanf +
+
+ + Returns: + float32 + +
+
+
+
+
+
+ +
+
+

+ Equivalent to Single.NaN +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + float32 +
+
+
+
+
+
+ +

+ + + nativeint value + + +

+
+
+
+ Full Usage: + nativeint value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + nativeint + + The converted nativeint +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + nativeint +
+
+

+ The converted nativeint +

+
+
+
+ Example +
+

+

 nativeint 'A'  // evaluates to 65n
+ nativeint 0xff // evaluates to 255n
+ nativeint -10  // evaluates to -10n
+
+
Multiple items
val nativeint: value: 'T -> nativeint (requires member op_Explicit)

--------------------
type nativeint = System.IntPtr

--------------------
type nativeint<'Measure> = + nativeint
+ + +

+
+
+
+ +

+ + + nullArg argumentName + + +

+
+
+
+ Full Usage: + nullArg argumentName +
+
+ Parameters: +
    + + + argumentName + + : + string + - + The argument name. + +
    +
+
+ + Returns: + 'T + + Never returns. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Throw a ArgumentNullException exception +

+
+
+ + + + + +
+
+
+
+
+ + argumentName + + : + string +
+
+

+ The argument name. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ Never returns. +

+
+
+
+ Example +
+

+

 let fullName firstName lastName = 
+     if isNull firstName then nullArg (nameof(firstName))
+     if isNull lastName then nullArg (nameof(lastName))
+     firstName + " " + lastName
+   
+   fullName null "Jones"  // Throws System.ArgumentNullException: Value cannot be null. (Parameter 'firstName')
+
+
val fullName: firstName: string -> lastName: string -> string
+
val firstName: string
+
val lastName: string
+
val isNull: value: 'T -> bool (requires 'T: null)
+
val nullArg: argumentName: string -> 'T
+
val nameof: 'T -> string
+ + +

+
+
+
+ +

+ + + pown x n + + +

+
+
+
+ Full Usage: + pown x n +
+
+ Parameters: +
    + + + x + + : + ^T + - + The input base. + +
    + + + n + + : + int + - + The input exponent. + +
    +
+
+ + Returns: + ^T + + The base raised to the exponent. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded power operator. If n > 0 then equivalent to x*...*x for n occurrences of x. +

+
+
+ + + + + +
+
+
+
+
+ + x + + : + ^T +
+
+

+ The input base. +

+
+
+ + n + + : + int +
+
+

+ The input exponent. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The base raised to the exponent. +

+
+
+
+ Example +
+

+

 pown 2.0 3 // evaluates to 8.0
+
+
val pown: x: 'T -> n: int -> 'T (requires member One and member ( * ) and member (/))
+ + +

+
+
+
+ +

+ + + raise exn + + +

+
+
+
+ Full Usage: + raise exn +
+
+ Parameters: +
    + + + exn + + : + Exception + - + The exception to raise. + +
    +
+
+ + Returns: + 'T + + The result value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Raises an exception +

+
+
+ + + + + +
+
+
+
+
+ + exn + + : + Exception +
+
+

+ The exception to raise. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The result value. +

+
+
+
+ Example +
+

+

 open System.IO
+ exception FileNotFoundException of string
+ 
+ let readFile (fileName: string) = 
+     if not (File.Exists(fileName)) then
+         raise(FileNotFoundException(fileName))
+     File.ReadAllText(fileName)
+ 
+ readFile "/this-file-doest-exist"
+
+
namespace System
+
namespace System.IO
+
exception FileNotFoundException of string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val readFile: fileName: string -> string
+
val fileName: string
+
type File = + static member AppendAllBytes: path: string * bytes: byte array -> unit + 1 overload + static member AppendAllBytesAsync: path: string * bytes: byte array * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllLines: path: string * contents: IEnumerable<string> -> unit + 1 overload + static member AppendAllLinesAsync: path: string * contents: IEnumerable<string> * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllText: path: string * contents: string -> unit + 3 overloads + static member AppendAllTextAsync: path: string * contents: string * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 3 overloads + static member AppendText: path: string -> StreamWriter + static member Copy: sourceFileName: string * destFileName: string -> unit + 1 overload + static member Create: path: string -> FileStream + 2 overloads + static member CreateSymbolicLink: path: string * pathToTarget: string -> FileSystemInfo + ...
<summary>Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects.</summary>
+
File.Exists(path: string) : bool
+
val raise: exn: System.Exception -> 'T
+
File.ReadAllText(path: string) : string
File.ReadAllText(path: string, encoding: System.Text.Encoding) : string
+ + + When executed, raises a FileNotFoundException. + +

+
+
+
+ +

+ + + ref value + + +

+
+
+
+ Full Usage: + ref value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to contain in the cell. + +
    +
+
+ + Returns: + 'T ref + + The created reference cell. +
+
+
+
+
+
+ +
+
+

+ Create a mutable reference cell +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to contain in the cell. +

+
+
+
+
+ + Returns: + + 'T ref +
+
+

+ The created reference cell. +

+
+
+
+ Example +
+

+

 let count = ref 0   // Creates a reference cell object with a mutable Value property
+ count.Value         // Evaluates to 0
+ count.Value <- 1    // Updates the value
+ count.Value         // Evaluates to 1
+
+
val count: int ref
+
Multiple items
val ref: value: 'T -> 'T ref

--------------------
type 'T ref = Ref<'T>
+
property Ref.Value: int with get, set
+ + +

+
+
+
+ +

+ + + reraise () + + +

+
+
+
+ Full Usage: + reraise () +
+
+ Parameters: +
    + + + () + + : + unit + +
    +
+
+ + Returns: + 'T + + The result value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Rethrows an exception. This should only be used when handling an exception +

+
+
+ + + + + +
+
+
+
+
+ + () + + : + unit +
+
+
+
+
+ + Returns: + + 'T +
+
+

+ The result value. +

+
+
+
+ Example +
+

+

 let readFile (fileName: string) = 
+   try
+     File.ReadAllText(fileName)
+   with ex ->
+     eprintfn "Couldn't read %s" fileName
+     reraise()
+   
+ readFile "/this-file-doest-exist"  
+ //  Prints the message to stderr
+ //  Throws a System.IO.FileNotFoundException
+
+
val readFile: fileName: string -> 'a
+
val fileName: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val ex: exn
+
val eprintfn: format: Printf.TextWriterFormat<'T> -> 'T
+
val reraise: unit -> 'T
+ + +

+
+
+
+ +

+ + + round value + + +

+
+
+
+ Full Usage: + round value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The nearest integer to the input value. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Round the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The nearest integer to the input value. +

+
+
+
+ Example +
+

+

 round 3.49    //  Evaluates to 3.0
+ round -3.49   //  Evaluates to -3.0
+ round 3.5     //  Evaluates to 4.0
+ round -3.5    //  Evaluates to -4.0
+
+
val round: value: 'T -> 'T (requires member Round)
+ + +

+
+
+
+ +

+ + + sbyte value + + +

+
+
+
+ Full Usage: + sbyte value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + sbyte + + The converted sbyte +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + sbyte +
+
+

+ The converted sbyte +

+
+
+
+ Example +
+

+

 sbyte 'A'  // evaluates to 65y
+ sbyte 0xff // evaluates to -1y
+ sbyte -10  // evaluates to -10y
+
+
Multiple items
val sbyte: value: 'T -> sbyte (requires member op_Explicit)

--------------------
type sbyte = System.SByte

--------------------
type sbyte<'Measure> = + sbyte
+ + +

+
+
+
+ +

+ + + seq sequence + + +

+
+
+
+ Full Usage: + seq sequence +
+
+ Parameters: +
    + + + sequence + + : + 'T seq + - + The input sequence. + +
    +
+
+ + Returns: + 'T seq + + The result sequence. +
+
+
+
+
+
+ +
+
+

+ Builds a sequence using sequence expression syntax +

+
+
+ + + + + +
+
+
+
+
+ + sequence + + : + 'T seq +
+
+

+ The input sequence. +

+
+
+
+
+ + Returns: + + 'T seq +
+
+

+ The result sequence. +

+
+
+
+ Example +
+

+

 seq { for i in 0..10 do yield (i, i*i) }
+
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
val i: int
+ + +

+
+
+
+ +

+ + + sign value + + +

+
+
+
+ Full Usage: + sign value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + int + + -1, 0, or 1 depending on the sign of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Sign of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + int +
+
+

+ -1, 0, or 1 depending on the sign of the input. +

+
+
+
+ Example +
+

+

 sign -12.0    //  Evaluates to -1
+ sign 43       //  Evaluates to 1
+
+
val sign: value: 'T -> int (requires member Sign)
+ + +

+
+
+
+ +

+ + + sin value + + +

+
+
+
+ Full Usage: + sin value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The sine of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Sine of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The sine of the input. +

+
+
+
+ Example +
+

+

 sin (0.0 * System.Math.PI) // evaluates to 0.0
+ sin (0.5 * System.Math.PI) // evaluates to 1.0
+ sin (1.0 * System.Math.PI) // evaluates to 1.224646799e-16
+
+
val sin: value: 'T -> 'T (requires member Sin)
+
namespace System
+
type Math = + static member Abs: value: decimal -> decimal + 7 overloads + static member Acos: d: float -> float + static member Acosh: d: float -> float + static member Asin: d: float -> float + static member Asinh: d: float -> float + static member Atan: d: float -> float + static member Atan2: y: float * x: float -> float + static member Atanh: d: float -> float + static member BigMul: a: int * b: int -> int64 + 5 overloads + static member BitDecrement: x: float -> float + ...
<summary>Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.</summary>
+
field System.Math.PI: float = 3.14159265359
<summary>Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π.</summary>
+ + +

+
+
+
+ +

+ + + sinh value + + +

+
+
+
+ Full Usage: + sinh value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The hyperbolic sine of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Hyperbolic sine of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The hyperbolic sine of the input. +

+
+
+
+ Example +
+

+

 sinh -1.0 // evaluates to -1.175201194
+ sinh 0.0  // evaluates to 0.0
+ sinh 1.0  // evaluates to 1.175201194
+
+
val sinh: value: 'T -> 'T (requires member Sinh)
+ + +

+
+
+
+ +

+ + + sizeof + + +

+
+
+
+ Full Usage: + sizeof +
+
+ + Returns: + int + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns the internal size of a type in bytes. For example, sizeof<int> returns 4. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+ Example +
+

+

 sizeof<bool>                   //  Evaluates to 1
+ sizeof<byte>                   //  Evaluates to 1
+ sizeof<int>                    //  Evaluates to 4
+ sizeof<double>                 //  Evaluates to 8
+ sizeof<struct(byte * byte)>    //  Evaluates to 2
+ sizeof<nativeint>              //  Evaluates to 4 or 8 (32-bit or 64-bit) depending on your platform
+
+
val sizeof<'T> : int
+
type bool = System.Boolean
+
Multiple items
val byte: value: 'T -> byte (requires member op_Explicit)

--------------------
type byte = System.Byte

--------------------
type byte<'Measure> = + byte
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val double: value: 'T -> double (requires member op_Explicit)

--------------------
type double = System.Double

--------------------
type double<'Measure> = float<'Measure>
+
Multiple items
val nativeint: value: 'T -> nativeint (requires member op_Explicit)

--------------------
type nativeint = System.IntPtr

--------------------
type nativeint<'Measure> = + nativeint
+ + +

+
+
+
+ +

+ + + snd tuple + + +

+
+
+
+ Full Usage: + snd tuple +
+
+ Parameters: +
    + + + tuple + + : + 'T1 * 'T2 + - + The input tuple. + +
    +
+
+ + Returns: + 'T2 + + The second value. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2 +
+
+
+
+
+ +
+
+

+ Return the second element of a tuple, snd (a,b) = b. +

+
+
+ + + + + +
+
+
+
+
+ + tuple + + : + 'T1 * 'T2 +
+
+

+ The input tuple. +

+
+
+
+
+ + Returns: + + 'T2 +
+
+

+ The second value. +

+
+
+
+ Example +
+

+

 snd ("first", 2)  //  Evaluates to 2
+
+
val snd: tuple: ('T1 * 'T2) -> 'T2
+ + +

+
+
+
+ +

+ + + sqrt value + + +

+
+
+
+ Full Usage: + sqrt value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^U + + The square root of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T, ^U +
+
+
+
+
+ +
+
+

+ Square root of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^U +
+
+

+ The square root of the input. +

+
+
+
+ Example +
+

+

 sqrt 2.0  //  Evaluates to 1.414213562
+ sqrt 100.0  //  Evaluates to 10.0
+
+
val sqrt: value: 'T -> 'U (requires member Sqrt)
+ + +

+
+
+
+ +

+ + + stderr + + +

+
+
+
+ Full Usage: + stderr +
+
+ + Returns: + TextWriter + +
+
+
+
+
+
+ +
+
+

+ Reads the value of the property Console.Error. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + TextWriter +
+
+
+
+
+
+ +

+ + + stdin + + +

+
+
+
+ Full Usage: + stdin +
+
+ + Returns: + TextReader + +
+
+
+
+
+
+ +
+
+

+ Reads the value of the property Console.In. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + TextReader +
+
+
+
+
+
+ +

+ + + stdout + + +

+
+
+
+ Full Usage: + stdout +
+
+ + Returns: + TextWriter + +
+
+
+
+
+
+ +
+
+

+ Reads the value of the property Console.Out. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + TextWriter +
+
+
+
+
+
+ +

+ + + string value + + +

+
+
+
+ Full Usage: + string value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The input value. + +
    +
+
+ + Returns: + string + + The converted string. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Converts the argument to a string using ToString. +

+
+
+ + + + + +
+
+
+

+ For standard integer and floating point values and any type that implements IFormattableToString conversion uses CultureInfo.InvariantCulture. +

+
+
+ + value + + : + 'T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + string +
+
+

+ The converted string. +

+
+
+
+ Example +
+

+

 string 'A'  // evaluates to "A"
+ string 0xff // evaluates to "255"
+ string -10  // evaluates to "-10"
+
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+ + +

+
+
+
+ +

+ + + tan value + + +

+
+
+
+ Full Usage: + tan value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The tangent of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Tangent of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The tangent of the input. +

+
+
+
+ Example +
+

+

 tan (-0.5 * System.Math.PI) // evaluates to -1.633123935e+16
+ tan (0.0 * System.Math.PI)  // evaluates to 0.0
+ tan (0.5 * System.Math.PI)  // evaluates to 1.633123935e+16
+
+
val tan: value: 'T -> 'T (requires member Tan)
+
namespace System
+
type Math = + static member Abs: value: decimal -> decimal + 7 overloads + static member Acos: d: float -> float + static member Acosh: d: float -> float + static member Asin: d: float -> float + static member Asinh: d: float -> float + static member Atan: d: float -> float + static member Atan2: y: float * x: float -> float + static member Atanh: d: float -> float + static member BigMul: a: int * b: int -> int64 + 5 overloads + static member BitDecrement: x: float -> float + ...
<summary>Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions.</summary>
+
field System.Math.PI: float = 3.14159265359
<summary>Represents the ratio of the circumference of a circle to its diameter, specified by the constant, π.</summary>
+ + +

+
+
+
+ +

+ + + tanh value + + +

+
+
+
+ Full Usage: + tanh value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The hyperbolic tangent of the input. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Hyperbolic tangent of the given number +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The hyperbolic tangent of the input. +

+
+
+
+ Example +
+

+

 tanh -1.0 // evaluates to -0.761594156
+ tanh 0.0  // evaluates to 0.0
+ tanh 1.0  // evaluates to 0.761594156
+
+
val tanh: value: 'T -> 'T (requires member Tanh)
+ + +

+
+
+
+ +

+ + + truncate value + + +

+
+
+
+ Full Usage: + truncate value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + ^T + + The truncated value. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Overloaded truncate operator. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + ^T +
+
+

+ The truncated value. +

+
+
+
+ Example +
+

+

 truncate 23.92 // evaluates to 23.0
+ truncate 23.92f // evaluates to 23.0f
+
+
val truncate: value: 'T -> 'T (requires member Truncate)
+ + +

+
+
+
+ +

+ + + tryUnbox value + + +

+
+
+
+ Full Usage: + tryUnbox value +
+
+ Parameters: +
    + + + value + + : + objnull + - + The boxed value. + +
    +
+
+ + Returns: + 'T option + + The unboxed result as an option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Try to unbox a strongly typed value. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + objnull +
+
+

+ The boxed value. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The unboxed result as an option. +

+
+
+
+ Example +
+

+

 let x: int = 123
+ let obj1 = box x    //  obj1 is a generic object type
+ tryUnbox<int> obj1     //  Evaluates to Some(123)
+ tryUnbox<double> obj1  //  Evaluates to None
+
+
val x: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val obj1: obj
+
val box: value: 'T -> obj
+
val tryUnbox: value: obj -> 'T option
+
Multiple items
val double: value: 'T -> double (requires member op_Explicit)

--------------------
type double = System.Double

--------------------
type double<'Measure> = float<'Measure>
+ + +

+
+
+
+ +

+ + + typedefof + + +

+
+
+
+ Full Usage: + typedefof +
+
+ + Returns: + Type + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type +
+
+
+
+ Example +
+

+

 typeof<int list;>     // Evaluates to Microsoft.FSharp.Collections.FSharpList`1[System.Int32]
+ typedefof<int list;>  // Evaluates to Microsoft.FSharp.Collections.FSharpList`1[T]        ///
+
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T list = List<'T>
+
val typedefof<'T> : System.Type
+ + +

+
+
+
+ +

+ + + typeof + + +

+
+
+
+ Full Usage: + typeof +
+
+ + Returns: + Type + +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Generate a System.Type runtime representation of a static type. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type +
+
+
+
+ Example +
+

+

 let t = typeof<int>  // Gets the System.Type
+ t.FullName                 // Evaluates to "System.Int32"
+
+
val t: System.Type
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
property System.Type.FullName: string with get
+ + +

+
+
+
+ +

+ + + uint value + + +

+
+
+
+ Full Usage: + uint value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + uint + + The converted int +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to an 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + uint +
+
+

+ The converted int +

+
+
+
+ Example +
+

+

 uint 'A'  // evaluates to 65u
+ uint 0xff // evaluates to 255u
+ uint -10  // evaluates to 4294967286u
+
+
Multiple items
val uint: value: 'T -> uint (requires member op_Explicit)

--------------------
type uint = uint32

--------------------
type uint<'Measure> = + uint
+ + +

+
+
+
+ +

+ + + uint16 value + + +

+
+
+
+ Full Usage: + uint16 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + uint16 + + The converted uint16 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + uint16 +
+
+

+ The converted uint16 +

+
+
+
+ Example +
+

+

 uint16 'A'  // evaluates to 65us
+ uint16 0xff // evaluates to 255s
+ uint16 -10  // evaluates to 65526us
+
+
Multiple items
val uint16: value: 'T -> uint16 (requires member op_Explicit)

--------------------
type uint16 = System.UInt16

--------------------
type uint16<'Measure> = + uint16
+ + +

+
+
+
+ +

+ + + uint32 value + + +

+
+
+
+ Full Usage: + uint32 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + uint32 + + The converted uint32 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + uint32 +
+
+

+ The converted uint32 +

+
+
+
+ Example +
+

+

 uint32 'A'  // evaluates to 65u
+ uint32 0xff // evaluates to 255u
+ uint32 -10  // evaluates to 4294967286u
+
+
Multiple items
val uint32: value: 'T -> uint32 (requires member op_Explicit)

--------------------
type uint32 = System.UInt32

--------------------
type uint32<'Measure> = uint<'Measure>
+ + +

+
+
+
+ +

+ + + uint64 value + + +

+
+
+
+ Full Usage: + uint64 value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + uint64 + + The converted uint64 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + uint64 +
+
+

+ The converted uint64 +

+
+
+
+ Example +
+

+

 uint64 'A'  // evaluates to 65UL
+ uint64 0xff // evaluates to 255UL
+ uint64 -10  // evaluates to 18446744073709551606UL
+
+
Multiple items
val uint64: value: 'T -> uint64 (requires member op_Explicit)

--------------------
type uint64 = System.UInt64

--------------------
type uint64<'Measure> = + uint64
+ + +

+
+
+
+ +

+ + + unativeint value + + +

+
+
+
+ Full Usage: + unativeint value +
+
+ Parameters: +
    + + + value + + : + ^T + - + The input value. + +
    +
+
+ + Returns: + unativeint + + The converted unativeint +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + ^T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + unativeint +
+
+

+ The converted unativeint +

+
+
+
+ Example +
+

+

 unativeint 'A'  // evaluates to 65un
+ unativeint 0xff // evaluates to 255un
+ unativeint -10  // evaluates to 18446744073709551606un
+
+
Multiple items
val unativeint: value: 'T -> unativeint (requires member op_Explicit)

--------------------
type unativeint = System.UIntPtr

--------------------
type unativeint<'Measure> = + unativeint
+ + +

+
+
+
+ +

+ + + unbox value + + +

+
+
+
+ Full Usage: + unbox value +
+
+ Parameters: +
    + + + value + + : + objnull + - + The boxed value. + +
    +
+
+ + Returns: + 'T + + The unboxed result. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Unbox a strongly typed value. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + objnull +
+
+

+ The boxed value. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The unboxed result. +

+
+
+
+ Example +
+

+

 let x: int = 123
+ let obj1 = box x    //  obj1 is a generic object type
+ unbox<int> obj1     //  Evaluates to 123 (int)
+ unbox<double> obj1  //  Throws System.InvalidCastException
+
+
val x: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val obj1: obj
+
val box: value: 'T -> obj
+
val unbox: value: obj -> 'T
+
Multiple items
val double: value: 'T -> double (requires member op_Explicit)

--------------------
type double = System.Double

--------------------
type double<'Measure> = float<'Measure>
+ + +

+
+
+
+ +

+ + + using resource action + + +

+
+
+
+ Full Usage: + using resource action +
+
+ Parameters: +
    + + + resource + + : + 'T + - + The resource to be disposed after action is called. + +
    + + + action + + : + 'T -> 'U + - + The action that accepts the resource. + +
    +
+
+ + Returns: + 'U + + The resulting value. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + resource + + : + 'T +
+
+

+ The resource to be disposed after action is called. +

+
+
+ + action + + : + 'T -> 'U +
+
+

+ The action that accepts the resource. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The resulting value. +

+
+
+
+ Example +
+

+ + The following code appends 10 lines to test.txt, then closes the StreamWriter when finished. +

 open System.IO
+ 
+ using (File.AppendText "test.txt") (fun writer ->
+     for i in 1 .. 10 do
+         writer.WriteLine("Hello World {0}", i))
+
+
namespace System
+
namespace System.IO
+
val using: resource: 'T -> action: ('T -> 'U) -> 'U (requires 'T :> System.IDisposable)
+
type File = + static member AppendAllBytes: path: string * bytes: byte array -> unit + 1 overload + static member AppendAllBytesAsync: path: string * bytes: byte array * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllLines: path: string * contents: IEnumerable<string> -> unit + 1 overload + static member AppendAllLinesAsync: path: string * contents: IEnumerable<string> * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllText: path: string * contents: string -> unit + 3 overloads + static member AppendAllTextAsync: path: string * contents: string * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 3 overloads + static member AppendText: path: string -> StreamWriter + static member Copy: sourceFileName: string * destFileName: string -> unit + 1 overload + static member Create: path: string -> FileStream + 2 overloads + static member CreateSymbolicLink: path: string * pathToTarget: string -> FileSystemInfo + ...
<summary>Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects.</summary>
+
File.AppendText(path: string) : StreamWriter
+
val writer: StreamWriter
+
val i: int32
+
TextWriter.WriteLine() : unit
   (+0 other overloads)
TextWriter.WriteLine(value: uint64) : unit
   (+0 other overloads)
TextWriter.WriteLine(value: uint32) : unit
   (+0 other overloads)
TextWriter.WriteLine(value: System.Text.StringBuilder) : unit
   (+0 other overloads)
TextWriter.WriteLine(value: float32) : unit
   (+0 other overloads)
TextWriter.WriteLine(value: obj) : unit
   (+0 other overloads)
TextWriter.WriteLine(value: int64) : unit
   (+0 other overloads)
TextWriter.WriteLine(value: int) : unit
   (+0 other overloads)
TextWriter.WriteLine(value: float) : unit
   (+0 other overloads)
TextWriter.WriteLine(value: decimal) : unit
   (+0 other overloads)
+ + +

+
+
+
+
+
+

+ Active patterns +

+ + + + + + + + + + + + + + + + + + + + + +
+ Active pattern + + Description + +
+
+ +

+ + + (|Failure|_|) error + + +

+
+
+
+ Full Usage: + (|Failure|_|) error +
+
+ Parameters: +
    + + + error + + : + exn + - + The input exception. + +
    +
+
+ + Returns: + string option + + A string option. +
+
+
+
+
+
+ +
+
+

+ Matches Exception objects whose runtime type is precisely Exception +

+
+
+ + + + + +
+
+
+
+
+ + error + + : + exn +
+
+

+ The input exception. +

+
+
+
+
+ + Returns: + + string option +
+
+

+ A string option. +

+
+
+
+
+
+ +

+ + + (|KeyValue|) keyValuePair + + +

+
+
+
+ Full Usage: + (|KeyValue|) keyValuePair +
+
+ Parameters: +
    + + + keyValuePair + + : + KeyValuePair<'Key, 'Value> + - + The input key/value pair. + +
    +
+
+ + Returns: + 'Key * 'Value + + A tuple containing the key and value. +
+
+
+
+
+
+ +
+
+

+ An active pattern to match values of type KeyValuePair +

+
+
+ + + + + +
+
+
+
+
+ + keyValuePair + + : + KeyValuePair<'Key, 'Value> +
+
+

+ The input key/value pair. +

+
+
+
+
+ + Returns: + + 'Key * 'Value +
+
+

+ A tuple containing the key and value. +

+
+
+
+ Example +
+

+

 let kv = System.Collections.Generic.KeyValuePair(42, "the answer")
+ match kv with // evaluates to "found it"
+ | KeyValue (42, v) -> "found it"
+ | KeyValue (k, v) -> "keep waiting"
+
+
val kv: System.Collections.Generic.KeyValuePair<int,string>
+
namespace System
+
namespace System.Collections
+
namespace System.Collections.Generic
+
Multiple items
[<Struct>] +type KeyValuePair<'TKey,'TValue> = + new: key: 'TKey * value: 'TValue -> unit + member Deconstruct: key: byref<'TKey> * value: byref<'TValue> -> unit + member ToString: unit -> string + member Key: 'TKey + member Value: 'TValue
<summary>Defines a key/value pair that can be set or retrieved.</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TValue">The type of the value.</typeparam>


--------------------
type KeyValuePair = + static member Create<'TKey,'TValue> : key: 'TKey * value: 'TValue -> KeyValuePair<'TKey,'TValue>
<summary>Creates instances of the <see cref="T:System.Collections.Generic.KeyValuePair`2" /> struct.</summary>

--------------------
System.Collections.Generic.KeyValuePair ()
System.Collections.Generic.KeyValuePair(key: 'TKey, value: 'TValue) : System.Collections.Generic.KeyValuePair<'TKey,'TValue>
+
active recognizer KeyValue: System.Collections.Generic.KeyValuePair<'Key,'Value> -> 'Key * 'Value
+
val v: string
+
val k: int
+ + +

+
+
+
+ +

+ + + (|Null|NonNull|) value + + +

+
+
+
+ Full Usage: + (|Null|NonNull|) value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to check. + +
    +
+
+ + Returns: + Choice<unit, 'T> + + A choice indicating whether the value is null or not-null. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Determines whether the given value is null. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to check. +

+
+
+
+
+ + Returns: + + Choice<unit, 'T> +
+
+

+ A choice indicating whether the value is null or not-null. +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-optimizedclosures-fsharpfunc-3.html b/reference/fsharp-core-optimizedclosures-fsharpfunc-3.html new file mode 100644 index 000000000..18b70591b --- /dev/null +++ b/reference/fsharp-core-optimizedclosures-fsharpfunc-3.html @@ -0,0 +1,625 @@ + + + + + + + + + + + + + + + + + + FSharpFunc<'T1, 'T2, 'U> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharpFunc<'T1, 'T2, 'U> Type +

+ +
+
+
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.
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + FSharpFunc() + + +

+
+
+
+ Full Usage: + FSharpFunc() +
+
+ + Returns: + FSharpFunc<'T1, 'T2, 'U> + + The optimized function. +
+
+
+
+
+
+ +
+
+

+ Construct an optimized function value that can accept two curried + arguments without intervening execution. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + FSharpFunc<'T1, 'T2, 'U> +
+
+

+ The optimized function. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: +
    + + + arg1 + + : + 'T1 + - + The first arg. + +
    + + + arg2 + + : + 'T2 + - + The second arg. + +
    +
+
+ + Returns: + 'U + + The function result. +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Invoke the optimized function value with two curried arguments +

+
+
+ + + + + +
+
+
+
+
+ + arg1 + + : + 'T1 +
+
+

+ The first arg. +

+
+
+ + arg2 + + : + 'T2 +
+
+

+ The second arg. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The function result. +

+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + FSharpFunc.Adapt(func) + + +

+
+
+
+ Full Usage: + FSharpFunc.Adapt(func) +
+
+ Parameters: +
    + + + func + + : + 'T1 -> 'T2 -> 'U + - + The input function. + +
    +
+
+ + Returns: + FSharpFunc<'T1, 'T2, 'U> + + The adapted function. +
+
+
+
+
+
+ +
+
+

+ Adapt an F# first class function value to be an optimized function value that can + accept two curried arguments without intervening execution. +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T1 -> 'T2 -> 'U +
+
+

+ The input function. +

+
+
+
+
+ + Returns: + + FSharpFunc<'T1, 'T2, 'U> +
+
+

+ The adapted function. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-optimizedclosures-fsharpfunc-4.html b/reference/fsharp-core-optimizedclosures-fsharpfunc-4.html new file mode 100644 index 000000000..22abba8fd --- /dev/null +++ b/reference/fsharp-core-optimizedclosures-fsharpfunc-4.html @@ -0,0 +1,648 @@ + + + + + + + + + + + + + + + + + + FSharpFunc<'T1, 'T2, 'T3, 'U> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharpFunc<'T1, 'T2, 'T3, 'U> Type +

+ +
+
+
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.
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + FSharpFunc() + + +

+
+
+
+ Full Usage: + FSharpFunc() +
+
+ + Returns: + FSharpFunc<'T1, 'T2, 'T3, 'U> + + The optimized function. +
+
+
+
+
+
+ +
+
+

+ Construct an optimized function value that can accept three curried + arguments without intervening execution. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + FSharpFunc<'T1, 'T2, 'T3, 'U> +
+
+

+ The optimized function. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: +
    + + + arg1 + + : + 'T1 + - + The first arg. + +
    + + + arg2 + + : + 'T2 + - + The second arg. + +
    + + + arg3 + + : + 'T3 + - + The third arg. + +
    +
+
+ + Returns: + 'U + + The function result. +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Invoke an F# first class function value that accepts three curried arguments + without intervening execution +

+
+
+ + + + + +
+
+
+
+
+ + arg1 + + : + 'T1 +
+
+

+ The first arg. +

+
+
+ + arg2 + + : + 'T2 +
+
+

+ The second arg. +

+
+
+ + arg3 + + : + 'T3 +
+
+

+ The third arg. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The function result. +

+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + FSharpFunc.Adapt(func) + + +

+
+
+
+ Full Usage: + FSharpFunc.Adapt(func) +
+
+ Parameters: +
    + + + func + + : + 'T1 -> 'T2 -> 'T3 -> 'U + - + The input function. + +
    +
+
+ + Returns: + FSharpFunc<'T1, 'T2, 'T3, 'U> + + The adapted function. +
+
+
+
+
+
+ +
+
+

+ Adapt an F# first class function value to be an optimized function value that can + accept three curried arguments without intervening execution. +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T1 -> 'T2 -> 'T3 -> 'U +
+
+

+ The input function. +

+
+
+
+
+ + Returns: + + FSharpFunc<'T1, 'T2, 'T3, 'U> +
+
+

+ The adapted function. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-optimizedclosures-fsharpfunc-5.html b/reference/fsharp-core-optimizedclosures-fsharpfunc-5.html new file mode 100644 index 000000000..def0c6055 --- /dev/null +++ b/reference/fsharp-core-optimizedclosures-fsharpfunc-5.html @@ -0,0 +1,670 @@ + + + + + + + + + + + + + + + + + + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'U> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharpFunc<'T1, 'T2, 'T3, 'T4, 'U> Type +

+ +
+
+
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.
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + FSharpFunc() + + +

+
+
+
+ Full Usage: + FSharpFunc() +
+
+ + Returns: + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'U> + + The optimized function. +
+
+
+
+
+
+ +
+
+

+ Construct an optimized function value that can accept four curried + arguments without intervening execution. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'U> +
+
+

+ The optimized function. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: +
    + + + arg1 + + : + 'T1 + - + The first arg. + +
    + + + arg2 + + : + 'T2 + - + The second arg. + +
    + + + arg3 + + : + 'T3 + - + The third arg. + +
    + + + arg4 + + : + 'T4 + - + The fourth arg. + +
    +
+
+ + Returns: + 'U + + The function result. +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Invoke an F# first class function value that accepts four curried arguments + without intervening execution +

+
+
+ + + + + +
+
+
+
+
+ + arg1 + + : + 'T1 +
+
+

+ The first arg. +

+
+
+ + arg2 + + : + 'T2 +
+
+

+ The second arg. +

+
+
+ + arg3 + + : + 'T3 +
+
+

+ The third arg. +

+
+
+ + arg4 + + : + 'T4 +
+
+

+ The fourth arg. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The function result. +

+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + FSharpFunc.Adapt(func) + + +

+
+
+
+ Full Usage: + FSharpFunc.Adapt(func) +
+
+ Parameters: +
    + + + func + + : + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'U + - + The input function. + +
    +
+
+ + Returns: + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'U> + + The optimized function. +
+
+
+
+
+
+ +
+
+

+ Adapt an F# first class function value to be an optimized function value that can + accept four curried arguments without intervening execution. +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'U +
+
+

+ The input function. +

+
+
+
+
+ + Returns: + + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'U> +
+
+

+ The optimized function. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-optimizedclosures-fsharpfunc-6.html b/reference/fsharp-core-optimizedclosures-fsharpfunc-6.html new file mode 100644 index 000000000..b7d1ed272 --- /dev/null +++ b/reference/fsharp-core-optimizedclosures-fsharpfunc-6.html @@ -0,0 +1,692 @@ + + + + + + + + + + + + + + + + + + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'T5, 'U> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharpFunc<'T1, 'T2, 'T3, 'T4, 'T5, 'U> Type +

+ +
+
+
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.
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + FSharpFunc() + + +

+
+
+
+ Full Usage: + FSharpFunc() +
+
+ + Returns: + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'T5, 'U> + + The optimized function. +
+
+
+
+
+
+ +
+
+

+ Construct an optimized function value that can accept five curried + arguments without intervening execution. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'T5, 'U> +
+
+

+ The optimized function. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Invoke + + +

+
+
+
+ Full Usage: + this.Invoke +
+
+ Parameters: +
    + + + arg1 + + : + 'T1 + - + The first arg. + +
    + + + arg2 + + : + 'T2 + - + The second arg. + +
    + + + arg3 + + : + 'T3 + - + The third arg. + +
    + + + arg4 + + : + 'T4 + - + The fourth arg. + +
    + + + arg5 + + : + 'T5 + - + The fifth arg. + +
    +
+
+ + Returns: + 'U + + The function result. +
+ Modifiers: + abstract +
+
+
+
+
+
+ +
+
+

+ Invoke an F# first class function value that accepts five curried arguments + without intervening execution +

+
+
+ + + + + +
+
+
+
+
+ + arg1 + + : + 'T1 +
+
+

+ The first arg. +

+
+
+ + arg2 + + : + 'T2 +
+
+

+ The second arg. +

+
+
+ + arg3 + + : + 'T3 +
+
+

+ The third arg. +

+
+
+ + arg4 + + : + 'T4 +
+
+

+ The fourth arg. +

+
+
+ + arg5 + + : + 'T5 +
+
+

+ The fifth arg. +

+
+
+
+
+ + Returns: + + 'U +
+
+

+ The function result. +

+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + FSharpFunc.Adapt(func) + + +

+
+
+
+ Full Usage: + FSharpFunc.Adapt(func) +
+
+ Parameters: +
    + + + func + + : + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'T5 -> 'U + - + The input function. + +
    +
+
+ + Returns: + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'T5, 'U> + + The optimized function. +
+
+
+
+
+
+ +
+
+

+ Adapt an F# first class function value to be an optimized function value that can + accept five curried arguments without intervening execution. +

+
+
+ + + + + +
+
+
+
+
+ + func + + : + 'T1 -> 'T2 -> 'T3 -> 'T4 -> 'T5 -> 'U +
+
+

+ The input function. +

+
+
+
+
+ + Returns: + + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'T5, 'U> +
+
+

+ The optimized function. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-optimizedclosures.html b/reference/fsharp-core-optimizedclosures.html new file mode 100644 index 000000000..e55e8c180 --- /dev/null +++ b/reference/fsharp-core-optimizedclosures.html @@ -0,0 +1,406 @@ + + + + + + + + + + + + + + + + + + OptimizedClosures (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ OptimizedClosures Module +

+ +
+
+
+

+ An implementation module used to hold some private implementations of function + value invocation. +

+
+
+
+
+

+ Types +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type + + Description +
+

+ + + FSharpFunc<'T1, 'T2, 'U> + + +

+
+
+
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.
+
+ + + + + +
+
+
+

+ + + FSharpFunc<'T1, 'T2, 'T3, 'U> + + +

+
+
+
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.
+
+ + + + + +
+
+
+

+ + + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'U> + + +

+
+
+
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.
+
+ + + + + +
+
+
+

+ + + FSharpFunc<'T1, 'T2, 'T3, 'T4, 'T5, 'U> + + +

+
+
+
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.
+
+ + + + + +
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-option-1.html b/reference/fsharp-core-option-1.html new file mode 100644 index 000000000..ecacdedfb --- /dev/null +++ b/reference/fsharp-core-option-1.html @@ -0,0 +1,509 @@ + + + + + + + + + + + + + + + + + + 'T option (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ 'T option Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsNone + + +

+
+
+
+ Full Usage: + this.IsNone +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Return 'true' if the option is a 'None' value. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsSome + + +

+
+
+
+ Full Usage: + this.IsSome +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Return 'true' if the option is a 'Some' value. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Get the value of a 'Some' option. A NullReferenceException is raised if the option is 'None'. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-optionalargumentattribute.html b/reference/fsharp-core-optionalargumentattribute.html new file mode 100644 index 000000000..cb55253db --- /dev/null +++ b/reference/fsharp-core-optionalargumentattribute.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + OptionalArgumentAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ OptionalArgumentAttribute Type +

+ +
+
+
+

+ This attribute is added automatically for all optional arguments. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + OptionalArgumentAttribute() + + +

+
+
+
+ Full Usage: + OptionalArgumentAttribute() +
+
+ + Returns: + OptionalArgumentAttribute + + OptionalArgumentAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + OptionalArgumentAttribute +
+
+

+ OptionalArgumentAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-optionmodule.html b/reference/fsharp-core-optionmodule.html new file mode 100644 index 000000000..a620c1420 --- /dev/null +++ b/reference/fsharp-core-optionmodule.html @@ -0,0 +1,4050 @@ + + + + + + + + + + + + + + + + + + Option (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Option Module +

+ +
+
+
+

+ Contains operations for working with options. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Option.bind binder option + + +

+
+
+
+ Full Usage: + Option.bind binder option +
+
+ Parameters: +
    + + + binder + + : + 'T -> 'U option + - + A function that takes the value of type T from an option and transforms it into + an option containing a value of type U. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'U option + + An option of the output type of the binder. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ bind f inp evaluates to match inp with None -> None | Some x -> f x +

+
+
+ + + + + +
+
+
+
+
+ + binder + + : + 'T -> 'U option +
+
+

+ A function that takes the value of type T from an option and transforms it into + an option containing a value of type U. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'U option +
+
+

+ An option of the output type of the binder. +

+
+
+
+ Example +
+

+

 let tryParse (input: string) =
+     match System.Int32.TryParse input with
+     | true, v -> Some v
+     | false, _ -> None
+ None |> Option.bind tryParse // evaluates to None
+ Some "42" |> Option.bind tryParse // evaluates to Some 42
+ Some "Forty-two" |> Option.bind tryParse // evaluates to None
+
+
val tryParse: input: string -> int option
+
val input: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
namespace System
+
[<Struct>] +type Int32 = + member CompareTo: value: int -> int + 1 overload + member Equals: obj: int -> bool + 1 overload + member GetHashCode: unit -> int + member GetTypeCode: unit -> TypeCode + member ToString: unit -> string + 3 overloads + member TryFormat: utf8Destination: Span<byte> * bytesWritten: byref<int> * ?format: ReadOnlySpan<char> * ?provider: IFormatProvider -> bool + 1 overload + static member Abs: value: int -> int + static member BigMul: left: int * right: int -> int64 + static member Clamp: value: int * min: int * max: int -> int + static member CopySign: value: int * sign: int -> int + ...
<summary>Represents a 32-bit signed integer.</summary>
+
System.Int32.TryParse(s: string, result: byref<int>) : bool
System.Int32.TryParse(s: System.ReadOnlySpan<char>, result: byref<int>) : bool
System.Int32.TryParse(utf8Text: System.ReadOnlySpan<byte>, result: byref<int>) : bool
System.Int32.TryParse(s: string, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(s: System.ReadOnlySpan<char>, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(utf8Text: System.ReadOnlySpan<byte>, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(s: string, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(s: System.ReadOnlySpan<char>, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(utf8Text: System.ReadOnlySpan<byte>, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: byref<int>) : bool
+
val v: int
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val bind: binder: ('T -> 'U option) -> option: 'T option -> 'U option
+ + +

+
+
+
+ +

+ + + Option.contains value option + + +

+
+
+
+ Full Usage: + Option.contains value option +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to test for equality. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + bool + + True if the option is Some and contains a value equal to value, otherwise false. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Evaluates to true if option is Some and its value is equal to value. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to test for equality. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the option is Some and contains a value equal to value, otherwise false. +

+
+
+
+ Example +
+

+

 (99, None) ||> Option.contains // evaluates to false
+ (99, Some 99) ||> Option.contains // evaluates to true
+ (99, Some 100) ||> Option.contains // evaluates to false
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val contains: value: 'T -> option: 'T option -> bool (requires equality)
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.count option + + +

+
+
+
+ Full Usage: + Option.count option +
+
+ Parameters: +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + int + + A zero if the option is None, a one otherwise. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ count inp evaluates to match inp with None -> 0 | Some _ -> 1. +

+
+
+ + + + + +
+
+
+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + int +
+
+

+ A zero if the option is None, a one otherwise. +

+
+
+
+ Example +
+

+

 None |> Option.count // evaluates to 0
+ Some 99 |> Option.count // evaluates to 1
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val count: option: 'T option -> int
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.defaultValue value option + + +

+
+
+
+ Full Usage: + Option.defaultValue value option +
+
+ Parameters: +
    + + + value + + : + 'T + - + The specified default value. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'T + + The option if the option is Some, else the default value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets the value of the option if the option is Some, otherwise returns the specified default value. +

+
+
+ + + + + +
+
+
+

+ Identical to the built-in defaultArg operator, except with the arguments swapped. +

+
+
+ + value + + : + 'T +
+
+

+ The specified default value. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The option if the option is Some, else the default value. +

+
+
+
+ Example +
+

+

 (99, None) ||> Option.defaultValue // evaluates to 99
+ (99, Some 42) ||> Option.defaultValue // evaluates to 42
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val defaultValue: value: 'T -> option: 'T option -> 'T
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.defaultWith defThunk option + + +

+
+
+
+ Full Usage: + Option.defaultWith defThunk option +
+
+ Parameters: +
    + + + defThunk + + : + unit -> 'T + - + A thunk that provides a default value when evaluated. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'T + + The option if the option is Some, else the result of evaluating defThunk. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets the value of the option if the option is Some, otherwise evaluates defThunk and returns the result. +

+
+
+ + + + + +
+
+
+

+ defThunk is not evaluated unless option is None. +

+
+
+ + defThunk + + : + unit -> 'T +
+
+

+ A thunk that provides a default value when evaluated. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The option if the option is Some, else the result of evaluating defThunk. +

+
+
+
+ Example +
+

+

 None |> Option.defaultWith (fun () -> 99) // evaluates to 99
+ Some 42 |> Option.defaultWith (fun () -> 99) // evaluates to 42
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val defaultWith: defThunk: (unit -> 'T) -> option: 'T option -> 'T
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.exists predicate option + + +

+
+
+
+ Full Usage: + Option.exists predicate option +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to a boolean when given a value from the option type. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + bool + + False if the option is None, otherwise it returns the result of applying the predicate + to the option value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ exists p inp evaluates to match inp with None -> false | Some x -> p x. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to a boolean when given a value from the option type. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ False if the option is None, otherwise it returns the result of applying the predicate + to the option value. +

+
+
+
+ Example +
+

+

 None |> Option.exists (fun x -> x >= 5) // evaluates to false
+ Some 42 |> Option.exists (fun x -> x >= 5) // evaluates to true
+ Some 4 |> Option.exists (fun x -> x >= 5) // evaluates to false
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val exists: predicate: ('T -> bool) -> option: 'T option -> bool
+
val x: int
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.filter predicate option + + +

+
+
+
+ Full Usage: + Option.filter predicate option +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates whether the value contained in the option should remain, or be filtered out. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'T option + + The input if the predicate evaluates to true; otherwise, None. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ filter f inp evaluates to match inp with None -> None | Some x -> if f x then Some x else None. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates whether the value contained in the option should remain, or be filtered out. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The input if the predicate evaluates to true; otherwise, None. +

+
+
+
+ Example +
+

+

 None |> Option.filter (fun x -> x >= 5) // evaluates to None
+ Some 42 |> Option.filter (fun x -> x >= 5) // evaluates to Some 42
+ Some 4 |> Option.filter (fun x -> x >= 5) // evaluates to None
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val filter: predicate: ('T -> bool) -> option: 'T option -> 'T option
+
val x: int
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.flatten option + + +

+
+
+
+ Full Usage: + Option.flatten option +
+
+ Parameters: +
    + + + option + + : + 'T option option + - + The input option. + +
    +
+
+ + Returns: + 'T option + + The input value if the value is Some; otherwise, None. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ flatten inp evaluates to match inp with None -> None | Some x -> x +

+
+
+ + + + + +
+
+
+

+ flatten is equivalent to bind id. +

+
+
+ + option + + : + 'T option option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The input value if the value is Some; otherwise, None. +

+
+
+
+ Example +
+

+

 (None: int option option) |> Option.flatten // evaluates to None
+ (Some ((None: int option))) |> Option.flatten // evaluates to None
+ (Some (Some 42)) |> Option.flatten // evaluates to Some 42
+
+
union case Option.None: Option<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T option = Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val flatten: option: 'T option option -> 'T option
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.fold folder state option + + +

+
+
+
+ Full Usage: + Option.fold folder state option +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T -> 'State + - + A function to update the state data when given a value from an option. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'State + + The original state if the option is None, otherwise it returns the updated state with the folder + and the option value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'State +
+
+
+
+
+ +
+
+

+ fold f s inp evaluates to match inp with None -> s | Some x -> f s x. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T -> 'State +
+
+

+ A function to update the state data when given a value from an option. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The original state if the option is None, otherwise it returns the updated state with the folder + and the option value. +

+
+
+
+ Example +
+

+

 (0, None) ||> Option.fold (fun accum x -> accum + x * 2) // evaluates to 0
+ (0, Some 1) ||> Option.fold (fun accum x -> accum + x * 2) // evaluates to 2
+ (10, Some 1) ||> Option.fold (fun accum x -> accum + x * 2) // evaluates to 12
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val fold<'T,'State> : folder: ('State -> 'T -> 'State) -> state: 'State -> option: 'T option -> 'State
+
val accum: int
+
val x: int
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.foldBack folder option state + + +

+
+
+
+ Full Usage: + Option.foldBack folder option state +
+
+ Parameters: +
    + + + folder + + : + 'T -> 'State -> 'State + - + A function to update the state data when given a value from an option. + +
    + + + option + + : + 'T option + - + The input option. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State + + The original state if the option is None, otherwise it returns the updated state with the folder + and the option value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'State +
+
+
+
+
+ +
+
+

+ fold f inp s evaluates to match inp with None -> s | Some x -> f x s. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'T -> 'State -> 'State +
+
+

+ A function to update the state data when given a value from an option. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The original state if the option is None, otherwise it returns the updated state with the folder + and the option value. +

+
+
+
+ Example +
+

+

 (None, 0) ||> Option.foldBack (fun x accum -> accum + x * 2) // evaluates to 0
+ (Some 1, 0) ||> Option.foldBack (fun x accum -> accum + x * 2) // evaluates to 2
+ (Some 1, 10) ||> Option.foldBack (fun x accum -> accum + x * 2) // evaluates to 12
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val foldBack: folder: ('T -> 'State -> 'State) -> option: 'T option -> state: 'State -> 'State
+
val x: int
+
val accum: int
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.forall predicate option + + +

+
+
+
+ Full Usage: + Option.forall predicate option +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to a boolean when given a value from the option type. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + bool + + True if the option is None, otherwise it returns the result of applying the predicate + to the option value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ forall p inp evaluates to match inp with None -> true | Some x -> p x. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to a boolean when given a value from the option type. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the option is None, otherwise it returns the result of applying the predicate + to the option value. +

+
+
+
+ Example +
+

+

 None |> Option.forall (fun x -> x >= 5) // evaluates to true
+ Some 42 |> Option.forall (fun x -> x >= 5) // evaluates to true
+ Some 4 |> Option.forall (fun x -> x >= 5) // evaluates to false
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val forall: predicate: ('T -> bool) -> option: 'T option -> bool
+
val x: int
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.get option + + +

+
+
+
+ Full Usage: + Option.get option +
+
+ Parameters: +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'T + + The value within the option. +
+
+
+
+
+
+ +
+
+

+ Gets the value associated with the option. +

+
+
+ + + + + +
+
+
+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value within the option. +

+
+
+
+ Example +
+

+

 Some 42 |> Option.get // evaluates to 42
+ (None: int option) |> Option.get // throws exception!
+
+
union case Option.Some: Value: 'T -> Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val get: option: 'T option -> 'T
+
union case Option.None: Option<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T option = Option<'T>
+ + +

+
+
+
+ +

+ + + Option.isNone option + + +

+
+
+
+ Full Usage: + Option.isNone option +
+
+ Parameters: +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + bool + + True if the option is None. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns true if the option is None. +

+
+
+ + + + + +
+
+
+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the option is None. +

+
+
+
+ Example +
+

+

 None |> Option.isNone // evaluates to true
+ Some 42 |> Option.isNone // evaluates to false
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val isNone: option: 'T option -> bool
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.isSome option + + +

+
+
+
+ Full Usage: + Option.isSome option +
+
+ Parameters: +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + bool + + True if the option is not None. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns true if the option is not None. +

+
+
+ + + + + +
+
+
+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the option is not None. +

+
+
+
+ Example +
+

+

 None |> Option.isSome // evaluates to false
+ Some 42 |> Option.isSome // evaluates to true
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val isSome: option: 'T option -> bool
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.iter action option + + +

+
+
+
+ Full Usage: + Option.iter action option +
+
+ Parameters: +
    + + + action + + : + 'T -> unit + - + A function to apply to the option value. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ iter f inp executes match inp with None -> () | Some x -> f x. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T -> unit +
+
+

+ A function to apply to the option value. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+ Example +
+

+

 None |> Option.iter (printfn "%s") // does nothing
+ Some "Hello world" |> Option.iter (printfn "%s") // prints "Hello world"
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val iter: action: ('T -> unit) -> option: 'T option -> unit
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.map mapping option + + +

+
+
+
+ Full Usage: + Option.map mapping option +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + A function to apply to the option value. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'U option + + An option of the input value after applying the mapping function, or None if the input is None. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ map f inp evaluates to match inp with None -> None | Some x -> Some (f x). +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ A function to apply to the option value. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'U option +
+
+

+ An option of the input value after applying the mapping function, or None if the input is None. +

+
+
+
+ Example +
+

+

 None |> Option.map (fun x -> x * 2) // evaluates to None
+ Some 42 |> Option.map (fun x -> x * 2) // evaluates to Some 84
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val map: mapping: ('T -> 'U) -> option: 'T option -> 'U option
+
val x: int
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.map2 mapping option1 option2 + + +

+
+
+
+ Full Usage: + Option.map2 mapping option1 option2 +
+
+ Parameters: +
    + + + mapping + + : + 'T1 -> 'T2 -> 'U + - + A function to apply to the option values. + +
    + + + option1 + + : + 'T1 option + - + The first option. + +
    + + + option2 + + : + 'T2 option + - + The second option. + +
    +
+
+ + Returns: + 'U option + + An option of the input values after applying the mapping function, or None if either input is None. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'U +
+
+
+
+
+ +
+
+

+ map f option1 option2 evaluates to match option1, option2 with Some x, Some y -> Some (f x y) | _ -> None. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T1 -> 'T2 -> 'U +
+
+

+ A function to apply to the option values. +

+
+
+ + option1 + + : + 'T1 option +
+
+

+ The first option. +

+
+
+ + option2 + + : + 'T2 option +
+
+

+ The second option. +

+
+
+
+
+ + Returns: + + 'U option +
+
+

+ An option of the input values after applying the mapping function, or None if either input is None. +

+
+
+
+ Example +
+

+

 (None, None) ||> Option.map2 (fun x y -> x + y) // evaluates to None
+ (Some 5, None) ||> Option.map2 (fun x y -> x + y) // evaluates to None
+ (None, Some 10) ||> Option.map2 (fun x y -> x + y) // evaluates to None
+ (Some 5, Some 10) ||> Option.map2 (fun x y -> x + y) // evaluates to Some 15
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val map2: mapping: ('T1 -> 'T2 -> 'U) -> option1: 'T1 option -> option2: 'T2 option -> 'U option
+
val x: int
+
val y: int
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.map3 mapping option1 option2 option3 + + +

+
+
+
+ Full Usage: + Option.map3 mapping option1 option2 option3 +
+
+ Parameters: +
    + + + mapping + + : + 'T1 -> 'T2 -> 'T3 -> 'U + - + A function to apply to the option values. + +
    + + + option1 + + : + 'T1 option + - + The first option. + +
    + + + option2 + + : + 'T2 option + - + The second option. + +
    + + + option3 + + : + 'T3 option + - + The third option. + +
    +
+
+ + Returns: + 'U option + + An option of the input values after applying the mapping function, or None if any input is None. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'U +
+
+
+
+
+ +
+
+

+ map f option1 option2 option3 evaluates to match option1, option2, option3 with Some x, Some y, Some z -> Some (f x y z) | _ -> None. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T1 -> 'T2 -> 'T3 -> 'U +
+
+

+ A function to apply to the option values. +

+
+
+ + option1 + + : + 'T1 option +
+
+

+ The first option. +

+
+
+ + option2 + + : + 'T2 option +
+
+

+ The second option. +

+
+
+ + option3 + + : + 'T3 option +
+
+

+ The third option. +

+
+
+
+
+ + Returns: + + 'U option +
+
+

+ An option of the input values after applying the mapping function, or None if any input is None. +

+
+
+
+ Example +
+

+

 (None, None, None) |||> Option.map3 (fun x y z -> x + y + z) // evaluates to None
+ (Some 100, None, None) |||> Option.map3 (fun x y z -> x + y + z) // evaluates to None
+ (None, Some 100, None) |||> Option.map3 (fun x y z -> x + y + z) // evaluates to None
+ (None, None, Some 100) |||> Option.map3 (fun x y z -> x + y + z) // evaluates to None
+ (Some 5, Some 100, Some 10) |||> Option.map3 (fun x y z -> x + y + z) // evaluates to Some 115
+
+
union case Option.None: Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val map3: mapping: ('T1 -> 'T2 -> 'T3 -> 'U) -> option1: 'T1 option -> option2: 'T2 option -> option3: 'T3 option -> 'U option
+
val x: int
+
val y: int
+
val z: int
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.ofNullable value + + +

+
+
+
+ Full Usage: + Option.ofNullable value +
+
+ Parameters: +
    + + + value + + : + Nullable<'T> + - + The input nullable value. + +
    +
+
+ + Returns: + 'T option + + The result option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert a Nullable value to an option. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<'T> +
+
+

+ The input nullable value. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The result option. +

+
+
+
+ Example +
+

+

 System.Nullable<int>() |> Option.ofNullable // evaluates to None
+ System.Nullable(42) |> Option.ofNullable // evaluates to Some 42
+
+
namespace System
+
Multiple items
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
System.Nullable ()
System.Nullable(value: 'T) : System.Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
module Option + +from Microsoft.FSharp.Core
+
val ofNullable: value: System.Nullable<'T> -> 'T option (requires default constructor and value type and 'T :> System.ValueType)
+ + +

+
+
+
+ +

+ + + Option.ofObj value + + +

+
+
+
+ Full Usage: + Option.ofObj value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The input value. + +
    +
+
+ + Returns: + 'T option + + The result option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert a potentially null value to an option. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The result option. +

+
+
+
+ Example +
+

+

 (null: string) |> Option.ofObj // evaluates to None
+ "not a null string" |> Option.ofObj // evaluates to (Some "not a null string")
+
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
module Option + +from Microsoft.FSharp.Core
+
val ofObj: value: 'T -> 'T option (requires 'T: null)
+ + +

+
+
+
+ +

+ + + Option.ofValueOption voption + + +

+
+
+
+ Full Usage: + Option.ofValueOption voption +
+
+ Parameters: +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + 'T option + + The resulting option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert a value option to an option. +

+
+
+ + + + + +
+
+
+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The resulting option. +

+
+
+
+ Example +
+

+

 ValueSome 42 |> Option.ofValueOption // evaluates to Some 42
+ (ValueNone: int voption) |> Option.ofValueOption // evaluates to None
+
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+
module Option + +from Microsoft.FSharp.Core
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T voption = ValueOption<'T>
+ + +

+
+
+
+ +

+ + + Option.orElse ifNone option + + +

+
+
+
+ Full Usage: + Option.orElse ifNone option +
+
+ Parameters: +
    + + + ifNone + + : + 'T option + - + The value to use if option is None. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'T option + + The option if the option is Some, else the alternate option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns option if it is Some, otherwise returns ifNone. +

+
+
+ + + + + +
+
+
+
+
+ + ifNone + + : + 'T option +
+
+

+ The value to use if option is None. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The option if the option is Some, else the alternate option. +

+
+
+
+ Example +
+

+

 ((None: int Option), None) ||> Option.orElse // evaluates to None
+ (Some 99, None) ||> Option.orElse // evaluates to Some 99
+ (None, Some 42) ||> Option.orElse // evaluates to Some 42
+ (Some 99, Some 42) ||> Option.orElse // evaluates to Some 42
+
+
union case Option.None: Option<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
module Option + +from Microsoft.FSharp.Core
+
val orElse: ifNone: 'T option -> option: 'T option -> 'T option
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.orElseWith ifNoneThunk option + + +

+
+
+
+ Full Usage: + Option.orElseWith ifNoneThunk option +
+
+ Parameters: +
    + + + ifNoneThunk + + : + unit -> 'T option + - + A thunk that provides an alternate option when evaluated. + +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'T option + + The option if the option is Some, else the result of evaluating ifNoneThunk. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns option if it is Some, otherwise evaluates ifNoneThunk and returns the result. +

+
+
+ + + + + +
+
+
+

+ ifNoneThunk is not evaluated unless option is None. +

+
+
+ + ifNoneThunk + + : + unit -> 'T option +
+
+

+ A thunk that provides an alternate option when evaluated. +

+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The option if the option is Some, else the result of evaluating ifNoneThunk. +

+
+
+
+ Example +
+

+

 (None: int Option) |> Option.orElseWith (fun () -> None) // evaluates to None
+ None |> Option.orElseWith (fun () -> (Some 99)) // evaluates to Some 99
+ Some 42 |> Option.orElseWith (fun () -> None) // evaluates to Some 42
+ Some 42 |> Option.orElseWith (fun () -> (Some 99)) // evaluates to Some 42
+
+
union case Option.None: Option<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
module Option + +from Microsoft.FSharp.Core
+
val orElseWith: ifNoneThunk: (unit -> 'T option) -> option: 'T option -> 'T option
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.toArray option + + +

+
+
+
+ Full Usage: + Option.toArray option +
+
+ Parameters: +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert the option to an array of length 0 or 1. +

+
+
+ + + + + +
+
+
+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+
+ Example +
+

+

 (None: int option) |> Option.toArray // evaluates to [||]
+ Some 42 |> Option.toArray // evaluates to [|42|]
+
+
union case Option.None: Option<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T option = Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val toArray: option: 'T option -> 'T array
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.toList option + + +

+
+
+
+ Full Usage: + Option.toList option +
+
+ Parameters: +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert the option to a list of length 0 or 1. +

+
+
+ + + + + +
+
+
+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 (None: int option) |> Option.toList // evaluates to []
+ Some 42 |> Option.toList // evaluates to [42]
+
+
union case Option.None: Option<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T option = Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val toList: option: 'T option -> 'T list
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.toNullable option + + +

+
+
+
+ Full Usage: + Option.toNullable option +
+
+ Parameters: +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + Nullable<'T> + + The result value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert the option to a Nullable value. +

+
+
+ + + + + +
+
+
+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + Nullable<'T> +
+
+

+ The result value. +

+
+
+
+ Example +
+

+

 (None: int option) |> Option.toNullable // evaluates to new System.Nullable<int>()
+ Some 42 |> Option.toNullable // evaluates to new System.Nullable(42)
+
+
union case Option.None: Option<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T option = Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val toNullable: option: 'T option -> System.Nullable<'T> (requires default constructor and value type and 'T :> System.ValueType)
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.toObj value + + +

+
+
+
+ Full Usage: + Option.toObj value +
+
+ Parameters: +
    + + + value + + : + 'T option + - + The input value. + +
    +
+
+ + Returns: + 'T + + The result value, which is null if the input was None. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert an option to a potentially null value. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T option +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The result value, which is null if the input was None. +

+
+
+
+ Example +
+

+

 (None: string option) |> Option.toObj // evaluates to null
+ Some "not a null string" |> Option.toObj // evaluates to "not a null string"
+
+
union case Option.None: Option<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
type 'T option = Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
val toObj: value: 'T option -> 'T (requires 'T: null)
+
union case Option.Some: Value: 'T -> Option<'T>
+ + +

+
+
+
+ +

+ + + Option.toValueOption option + + +

+
+
+
+ Full Usage: + Option.toValueOption option +
+
+ Parameters: +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'T voption + + The resulting value option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert an option to a value option. +

+
+
+ + + + + +
+
+
+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T voption +
+
+

+ The resulting value option. +

+
+
+
+ Example +
+

+

 Some 42 |> Option.toValueOption // evaluates to ValueSome 42
+ (None: int option) |> Option.toValueOption // evaluates to ValueNone
+
+
union case Option.Some: Value: 'T -> Option<'T>
+
module Option + +from Microsoft.FSharp.Core
+
union case Option.None: Option<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T option = Option<'T>
+ + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-outref-1.html b/reference/fsharp-core-outref-1.html new file mode 100644 index 000000000..977c815c2 --- /dev/null +++ b/reference/fsharp-core-outref-1.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + outref<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ outref<'T> Type +

+ +
+
+
+

+ Represents a out-argument managed pointer in F# code. This type should only be used with F# 4.5+. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-printfformat-4.html b/reference/fsharp-core-printfformat-4.html new file mode 100644 index 000000000..194a347f2 --- /dev/null +++ b/reference/fsharp-core-printfformat-4.html @@ -0,0 +1,736 @@ + + + + + + + + + + + + + + + + + + PrintfFormat<'Printer, 'State, 'Residue, 'Result> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ PrintfFormat<'Printer, 'State, 'Residue, 'Result> Type +

+ +
+
+
+

+ Type of a formatting expression. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + PrintfFormat(value, captures, captureTys) + + +

+
+
+
+ Full Usage: + PrintfFormat(value, captures, captureTys) +
+
+ Parameters: +
    + + + value + + : + string + - + The input string. + +
    + + + captures + + : + objnull array + - + The captured expressions in an interpolated string. + +
    + + + captureTys + + : + Type array + - + The types of expressions for %A expression gaps in interpolated string. + +
    +
+
+ + Returns: + PrintfFormat<'Printer, 'State, 'Residue, 'Result> + + The PrintfFormat containing the formatted result. +
+
+
+
+
+
+ +
+
+

+ Construct a format string +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + string +
+
+

+ The input string. +

+
+
+ + captures + + : + objnull array +
+
+

+ The captured expressions in an interpolated string. +

+
+
+ + captureTys + + : + Type array +
+
+

+ The types of expressions for %A expression gaps in interpolated string. +

+
+
+
+
+ + Returns: + + PrintfFormat<'Printer, 'State, 'Residue, 'Result> +
+
+

+ The PrintfFormat containing the formatted result. +

+
+
+
+
+
+ +

+ + + PrintfFormat(value) + + +

+
+
+
+ Full Usage: + PrintfFormat(value) +
+
+ Parameters: +
    + + + value + + : + string + - + The input string. + +
    +
+
+ + Returns: + PrintfFormat<'Printer, 'State, 'Residue, 'Result> + + The PrintfFormat containing the formatted result. +
+
+
+
+
+
+ +
+
+

+ Construct a format string +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + PrintfFormat<'Printer, 'State, 'Residue, 'Result> +
+
+

+ The PrintfFormat containing the formatted result. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CaptureTypes + + +

+
+
+
+ Full Usage: + this.CaptureTypes +
+
+ + Returns: + Type array + +
+
+
+
+
+
+ +
+
+

+ The capture types associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type array +
+
+
+
+
+
+ +

+ + + this.Captures + + +

+
+
+
+ Full Usage: + this.Captures +
+
+ + Returns: + objnull array + +
+
+
+
+
+
+ +
+
+

+ The captures associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + objnull array +
+
+
+
+
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The raw text of the format string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-printfformat-5.html b/reference/fsharp-core-printfformat-5.html new file mode 100644 index 000000000..f348351b9 --- /dev/null +++ b/reference/fsharp-core-printfformat-5.html @@ -0,0 +1,534 @@ + + + + + + + + + + + + + + + + + + PrintfFormat<'Printer, 'State, 'Residue, 'Result, 'Tuple> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ PrintfFormat<'Printer, 'State, 'Residue, 'Result, 'Tuple> Type +

+ +
+
+
+

+ Type of a formatting expression. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + PrintfFormat(value, captures, captureTys) + + +

+
+
+
+ Full Usage: + PrintfFormat(value, captures, captureTys) +
+
+ Parameters: +
    + + + value + + : + string + - + The input string. + +
    + + + captures + + : + objnull array + - + The captured expressions in an interpolated string. + +
    + + + captureTys + + : + Type array + - + The types of expressions for %A expression gaps in interpolated string. + +
    +
+
+ + Returns: + PrintfFormat<'Printer, 'State, 'Residue, 'Result, 'Tuple> + + The created format string. +
+
+
+
+
+
+ +
+
+

+ Construct a format string +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + string +
+
+

+ The input string. +

+
+
+ + captures + + : + objnull array +
+
+

+ The captured expressions in an interpolated string. +

+
+
+ + captureTys + + : + Type array +
+
+

+ The types of expressions for %A expression gaps in interpolated string. +

+
+
+
+
+ + Returns: + + PrintfFormat<'Printer, 'State, 'Residue, 'Result, 'Tuple> +
+
+

+ The created format string. +

+
+
+
+
+
+ +

+ + + PrintfFormat(value) + + +

+
+
+
+ Full Usage: + PrintfFormat(value) +
+
+ Parameters: +
    + + + value + + : + string + - + The input string. + +
    +
+
+ + Returns: + PrintfFormat<'Printer, 'State, 'Residue, 'Result, 'Tuple> + + The created format string. +
+
+
+
+
+
+ +
+
+

+ Construct a format string +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + PrintfFormat<'Printer, 'State, 'Residue, 'Result, 'Tuple> +
+
+

+ The created format string. +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-printfmodule-builderformat-1.html b/reference/fsharp-core-printfmodule-builderformat-1.html new file mode 100644 index 000000000..38531552f --- /dev/null +++ b/reference/fsharp-core-printfmodule-builderformat-1.html @@ -0,0 +1,496 @@ + + + + + + + + + + + + + + + + + + BuilderFormat<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ BuilderFormat<'T> Type +

+ +
+
+
+

+ Represents a statically-analyzed format associated with writing to a StringBuilder. The type parameter indicates the + arguments and return type of the format operation. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CaptureTypes + + +

+
+
+
+ Full Usage: + this.CaptureTypes +
+
+ + Returns: + Type array + +
+
+
+
+
+
+ +
+
+

+ The capture types associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type array +
+
+
+
+
+
+ +

+ + + this.Captures + + +

+
+
+
+ Full Usage: + this.Captures +
+
+ + Returns: + objnull array + +
+
+
+
+
+
+ +
+
+

+ The captures associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + objnull array +
+
+
+
+
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The raw text of the format string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-printfmodule-builderformat-2.html b/reference/fsharp-core-printfmodule-builderformat-2.html new file mode 100644 index 000000000..038f7c347 --- /dev/null +++ b/reference/fsharp-core-printfmodule-builderformat-2.html @@ -0,0 +1,496 @@ + + + + + + + + + + + + + + + + + + BuilderFormat<'T, 'Result> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ BuilderFormat<'T, 'Result> Type +

+ +
+
+
+

+ Represents a statically-analyzed format associated with writing to a StringBuilder. The first type parameter indicates the + arguments of the format operation and the last the overall return type. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CaptureTypes + + +

+
+
+
+ Full Usage: + this.CaptureTypes +
+
+ + Returns: + Type array + +
+
+
+
+
+
+ +
+
+

+ The capture types associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type array +
+
+
+
+
+
+ +

+ + + this.Captures + + +

+
+
+
+ Full Usage: + this.Captures +
+
+ + Returns: + objnull array + +
+
+
+
+
+
+ +
+
+

+ The captures associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + objnull array +
+
+
+
+
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The raw text of the format string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-printfmodule-stringformat-1.html b/reference/fsharp-core-printfmodule-stringformat-1.html new file mode 100644 index 000000000..3cc2740c9 --- /dev/null +++ b/reference/fsharp-core-printfmodule-stringformat-1.html @@ -0,0 +1,492 @@ + + + + + + + + + + + + + + + + + + StringFormat<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ StringFormat<'T> Type +

+ +
+
+
Represents a statically-analyzed format when formatting builds a string. The type parameter indicates the
+ arguments and return type of the format operation.
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CaptureTypes + + +

+
+
+
+ Full Usage: + this.CaptureTypes +
+
+ + Returns: + Type array + +
+
+
+
+
+
+ +
+
+

+ The capture types associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type array +
+
+
+
+
+
+ +

+ + + this.Captures + + +

+
+
+
+ Full Usage: + this.Captures +
+
+ + Returns: + objnull array + +
+
+
+
+
+
+ +
+
+

+ The captures associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + objnull array +
+
+
+
+
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The raw text of the format string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-printfmodule-stringformat-2.html b/reference/fsharp-core-printfmodule-stringformat-2.html new file mode 100644 index 000000000..200ff8c0b --- /dev/null +++ b/reference/fsharp-core-printfmodule-stringformat-2.html @@ -0,0 +1,492 @@ + + + + + + + + + + + + + + + + + + StringFormat<'T, 'Result> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ StringFormat<'T, 'Result> 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.
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CaptureTypes + + +

+
+
+
+ Full Usage: + this.CaptureTypes +
+
+ + Returns: + Type array + +
+
+
+
+
+
+ +
+
+

+ The capture types associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type array +
+
+
+
+
+
+ +

+ + + this.Captures + + +

+
+
+
+ Full Usage: + this.Captures +
+
+ + Returns: + objnull array + +
+
+
+
+
+
+ +
+
+

+ The captures associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + objnull array +
+
+
+
+
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The raw text of the format string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-printfmodule-textwriterformat-1.html b/reference/fsharp-core-printfmodule-textwriterformat-1.html new file mode 100644 index 000000000..1dcef1c96 --- /dev/null +++ b/reference/fsharp-core-printfmodule-textwriterformat-1.html @@ -0,0 +1,496 @@ + + + + + + + + + + + + + + + + + + TextWriterFormat<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TextWriterFormat<'T> Type +

+ +
+
+
+

+ Represents a statically-analyzed format associated with writing to a TextWriter. The type parameter indicates the + arguments and return type of the format operation. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CaptureTypes + + +

+
+
+
+ Full Usage: + this.CaptureTypes +
+
+ + Returns: + Type array + +
+
+
+
+
+
+ +
+
+

+ The capture types associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type array +
+
+
+
+
+
+ +

+ + + this.Captures + + +

+
+
+
+ Full Usage: + this.Captures +
+
+ + Returns: + objnull array + +
+
+
+
+
+
+ +
+
+

+ The captures associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + objnull array +
+
+
+
+
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The raw text of the format string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-printfmodule-textwriterformat-2.html b/reference/fsharp-core-printfmodule-textwriterformat-2.html new file mode 100644 index 000000000..b9eeef186 --- /dev/null +++ b/reference/fsharp-core-printfmodule-textwriterformat-2.html @@ -0,0 +1,496 @@ + + + + + + + + + + + + + + + + + + TextWriterFormat<'T, 'Result> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TextWriterFormat<'T, 'Result> Type +

+ +
+
+
+

+ Represents a statically-analyzed format associated with writing to a TextWriter. The first type parameter indicates the + arguments of the format operation and the last the overall return type. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CaptureTypes + + +

+
+
+
+ Full Usage: + this.CaptureTypes +
+
+ + Returns: + Type array + +
+
+
+
+
+
+ +
+
+

+ The capture types associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type array +
+
+
+
+
+
+ +

+ + + this.Captures + + +

+
+
+
+ Full Usage: + this.Captures +
+
+ + Returns: + objnull array + +
+
+
+
+
+
+ +
+
+

+ The captures associated with an interpolated string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + objnull array +
+
+
+
+
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The raw text of the format string. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-printfmodule.html b/reference/fsharp-core-printfmodule.html new file mode 100644 index 000000000..b1b7c5a0a --- /dev/null +++ b/reference/fsharp-core-printfmodule.html @@ -0,0 +1,2411 @@ + + + + + + + + + + + + + + + + + + Printf (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Printf Module +

+ +
+
+
+

+ 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]. +

+
+
+

+ Types +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type + + Description +
+

+ + + BuilderFormat<'T, 'Result> + + +

+
+
+
+

+ Represents a statically-analyzed format associated with writing to a StringBuilder. The first type parameter indicates the + arguments of the format operation and the last the overall return type. +

+
+
+ + + + + +
+
+
+

+ + + BuilderFormat<'T> + + +

+
+
+
+

+ Represents a statically-analyzed format associated with writing to a StringBuilder. The type parameter indicates the + arguments and return type of the format operation. +

+
+
+ + + + + +
+
+
+

+ + + StringFormat<'T, 'Result> + + +

+
+
+
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.
+
+ + + + + +
+
+
+

+ + + StringFormat<'T> + + +

+
+
+
Represents a statically-analyzed format when formatting builds a string. The type parameter indicates the
+ arguments and return type of the format operation.
+
+ + + + + +
+
+
+

+ + + TextWriterFormat<'T, 'Result> + + +

+
+
+
+

+ Represents a statically-analyzed format associated with writing to a TextWriter. The first type parameter indicates the + arguments of the format operation and the last the overall return type. +

+
+
+ + + + + +
+
+
+

+ + + TextWriterFormat<'T> + + +

+
+
+
+

+ Represents a statically-analyzed format associated with writing to a TextWriter. The type parameter indicates the + arguments and return type of the format operation. +

+
+
+ + + + + +
+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + bprintf builder format + + +

+
+
+
+ Full Usage: + bprintf builder format +
+
+ Parameters: +
    + + + builder + + : + StringBuilder + - + The StringBuilder to print to. + +
    + + + format + + : + BuilderFormat<'T> + - + The input format or interpolated string. + +
    +
+
+ + Returns: + 'T + + The return type and arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ Print to a StringBuilder +

+
+
+ + + + + +
+
+
+
+
+ + builder + + : + StringBuilder +
+
+

+ The StringBuilder to print to. +

+
+
+ + format + + : + BuilderFormat<'T> +
+
+

+ The input format or interpolated string. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The return type and arguments of the formatter. +

+
+
+
+ Example +
+

+ Using interpolated strings: +

 open Printf
+ open System.Text
+
+ let buffer = new StringBuilder()
+
+ bprintf buffer $"Write three = {1+2}"
+ buffer.ToString()
+
+
module Printf + +from Microsoft.FSharp.Core
+
namespace System
+
namespace System.Text
+
val buffer: StringBuilder
+
Multiple items
type StringBuilder = + interface ISerializable + new: unit -> unit + 5 overloads + member Append: value: bool -> StringBuilder + 25 overloads + member AppendFormat: provider: IFormatProvider * format: string * arg0: obj -> StringBuilder + 14 overloads + member AppendJoin: separator: char * [<ParamArray>] values: obj array -> StringBuilder + 9 overloads + member AppendLine: unit -> StringBuilder + 3 overloads + member Clear: unit -> StringBuilder + member CopyTo: sourceIndex: int * destination: char array * destinationIndex: int * count: int -> unit + 1 overload + member EnsureCapacity: capacity: int -> int + member Equals: span: ReadOnlySpan<char> -> bool + 1 overload + ...
<summary>Represents a mutable string of characters. This class cannot be inherited.</summary>

--------------------
StringBuilder() : StringBuilder
StringBuilder(capacity: int) : StringBuilder
StringBuilder(value: string) : StringBuilder
StringBuilder(capacity: int, maxCapacity: int) : StringBuilder
StringBuilder(value: string, capacity: int) : StringBuilder
StringBuilder(value: string, startIndex: int, length: int, capacity: int) : StringBuilder
+
val bprintf: builder: StringBuilder -> format: BuilderFormat<'T> -> 'T
+
StringBuilder.ToString() : string
StringBuilder.ToString(startIndex: int, length: int) : string
+ + + Evaluates to "Write three = 3". + +

+
+ Example +
+

+ Using % format patterns: +

 open Printf
+ open System.Text
+
+ let buffer = new StringBuilder()
+
+ bprintf buffer "Write five = %d" (3+2)
+ buffer.ToString()
+
+
module Printf + +from Microsoft.FSharp.Core
+
namespace System
+
namespace System.Text
+
val buffer: StringBuilder
+
Multiple items
type StringBuilder = + interface ISerializable + new: unit -> unit + 5 overloads + member Append: value: bool -> StringBuilder + 25 overloads + member AppendFormat: provider: IFormatProvider * format: string * arg0: obj -> StringBuilder + 14 overloads + member AppendJoin: separator: char * [<ParamArray>] values: obj array -> StringBuilder + 9 overloads + member AppendLine: unit -> StringBuilder + 3 overloads + member Clear: unit -> StringBuilder + member CopyTo: sourceIndex: int * destination: char array * destinationIndex: int * count: int -> unit + 1 overload + member EnsureCapacity: capacity: int -> int + member Equals: span: ReadOnlySpan<char> -> bool + 1 overload + ...
<summary>Represents a mutable string of characters. This class cannot be inherited.</summary>

--------------------
StringBuilder() : StringBuilder
StringBuilder(capacity: int) : StringBuilder
StringBuilder(value: string) : StringBuilder
StringBuilder(capacity: int, maxCapacity: int) : StringBuilder
StringBuilder(value: string, capacity: int) : StringBuilder
StringBuilder(value: string, startIndex: int, length: int, capacity: int) : StringBuilder
+
val bprintf: builder: StringBuilder -> format: BuilderFormat<'T> -> 'T
+
StringBuilder.ToString() : string
StringBuilder.ToString(startIndex: int, length: int) : string
+ + + Evaluates to "Write five = 5". + +

+
+
+
+ +

+ + + eprintf format + + +

+
+
+
+ Full Usage: + eprintf format +
+
+ Parameters: + +
+ + Returns: + 'T + + The return type and arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ Formatted printing to stderr +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The return type and arguments of the formatter. +

+
+
+
+ Example +
+

+ Using interpolated strings: +

 eprintf $"Write three = {1+2}"
+
+
val eprintf: format: Printf.TextWriterFormat<'T> -> 'T
+ + + After evaluation the text "Write three = 3" is written to stderr. + +

+
+ Example +
+

+ Using % format patterns: +

 eprintf "Write five = %d" (3+2)
+
+
val eprintf: format: Printf.TextWriterFormat<'T> -> 'T
+ + + After evaluation the text "Write five = 5" is written to stderr. + +

+
+
+
+ +

+ + + eprintfn format + + +

+
+
+
+ Full Usage: + eprintfn format +
+
+ Parameters: + +
+ + Returns: + 'T + + The return type and arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ Formatted printing to stderr, adding a newline +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The return type and arguments of the formatter. +

+
+
+
+ Example +
+

+ Using interpolated strings: +

 eprintfn $"Write three = {1+2}"
+ eprintfn $"Write four = {2+2}"
+
+
val eprintfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + After evaluation two lines are written to stderr. + +

+
+ Example +
+

+ Using % format patterns: +

 eprintfn "Write five = %d" (3+2)
+ eprintfn "Write six = %d" (3+3)
+
+
val eprintfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + After evaluation two lines are written to stderr. + +

+
+
+
+ +

+ + + failwithf format + + +

+
+
+
+ Full Usage: + failwithf format +
+
+ Parameters: +
    + + + format + + : + StringFormat<'T, 'Result> + - + The input formatter. + +
    +
+
+ + Returns: + 'T + + The arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ Print to a string buffer and raise an exception with the given + result. Helper printers must return strings. +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + StringFormat<'T, 'Result> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The arguments of the formatter. +

+
+
+
+ Example +
+

+

 failwithf "That's wrong. Five = %d and six = %d" (3+2) (3+3)
+
+
val failwithf: format: Printf.StringFormat<'T,'Result> -> 'T
+ + + Throws Exception with message "That's wrong. Five = 5 and six = 6". + +

+
+
+
+ +

+ + + fprintf textWriter format + + +

+
+
+
+ Full Usage: + fprintf textWriter format +
+
+ Parameters: +
    + + + textWriter + + : + TextWriter + - + The TextWriter to print to. + +
    + + + format + + : + TextWriterFormat<'T> + - + The input formatter. + +
    +
+
+ + Returns: + 'T + + The return type and arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ Print to a text writer. +

+
+
+ + + + + +
+
+
+
+
+ + textWriter + + : + TextWriter +
+
+

+ The TextWriter to print to. +

+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The return type and arguments of the formatter. +

+
+
+
+ Example +
+

+ Using interpolated strings: +

 open Printf
+ open System.IO
+
+ let file = File.CreateText("out.txt")
+
+ fprintf file $"Write three = {1+2}"
+ file.Close()
+
+
module Printf + +from Microsoft.FSharp.Core
+
namespace System
+
namespace System.IO
+
val file: StreamWriter
+
type File = + static member AppendAllBytes: path: string * bytes: byte array -> unit + 1 overload + static member AppendAllBytesAsync: path: string * bytes: byte array * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllLines: path: string * contents: IEnumerable<string> -> unit + 1 overload + static member AppendAllLinesAsync: path: string * contents: IEnumerable<string> * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllText: path: string * contents: string -> unit + 3 overloads + static member AppendAllTextAsync: path: string * contents: string * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 3 overloads + static member AppendText: path: string -> StreamWriter + static member Copy: sourceFileName: string * destFileName: string -> unit + 1 overload + static member Create: path: string -> FileStream + 2 overloads + static member CreateSymbolicLink: path: string * pathToTarget: string -> FileSystemInfo + ...
<summary>Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects.</summary>
+
File.CreateText(path: string) : StreamWriter
+
val fprintf: textWriter: TextWriter -> format: TextWriterFormat<'T> -> 'T
+
StreamWriter.Close() : unit
+ + + After evaluation the file contains the text "Write three = 3". + +

+
+ Example +
+

+ Using % format patterns: +

 open Printf
+ open System.IO
+
+ let file = File.CreateText("out.txt")
+
+ fprintf file "Write five = %d" (3+2)
+ file.Close()
+
+
module Printf + +from Microsoft.FSharp.Core
+
namespace System
+
namespace System.IO
+
val file: StreamWriter
+
type File = + static member AppendAllBytes: path: string * bytes: byte array -> unit + 1 overload + static member AppendAllBytesAsync: path: string * bytes: byte array * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllLines: path: string * contents: IEnumerable<string> -> unit + 1 overload + static member AppendAllLinesAsync: path: string * contents: IEnumerable<string> * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllText: path: string * contents: string -> unit + 3 overloads + static member AppendAllTextAsync: path: string * contents: string * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 3 overloads + static member AppendText: path: string -> StreamWriter + static member Copy: sourceFileName: string * destFileName: string -> unit + 1 overload + static member Create: path: string -> FileStream + 2 overloads + static member CreateSymbolicLink: path: string * pathToTarget: string -> FileSystemInfo + ...
<summary>Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects.</summary>
+
File.CreateText(path: string) : StreamWriter
+
val fprintf: textWriter: TextWriter -> format: TextWriterFormat<'T> -> 'T
+
StreamWriter.Close() : unit
+ + + After evaluation the file contains the text "Write five = 5". + +

+
+
+
+ +

+ + + fprintfn textWriter format + + +

+
+
+
+ Full Usage: + fprintfn textWriter format +
+
+ Parameters: +
    + + + textWriter + + : + TextWriter + - + The TextWriter to print to. + +
    + + + format + + : + TextWriterFormat<'T> + - + The input formatter. + +
    +
+
+ + Returns: + 'T + + The return type and arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ Print to a text writer, adding a newline +

+
+
+ + + + + +
+
+
+
+
+ + textWriter + + : + TextWriter +
+
+

+ The TextWriter to print to. +

+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The return type and arguments of the formatter. +

+
+
+
+ Example +
+

+ Using interpolated strings: +

 open Printf
+ open System.IO
+
+ let file = File.CreateText("out.txt")
+
+ fprintfn file $"Write three = {1+2}"
+ fprintfn file $"Write four = {2+2}"
+ file.Close()
+
+
module Printf + +from Microsoft.FSharp.Core
+
namespace System
+
namespace System.IO
+
val file: StreamWriter
+
type File = + static member AppendAllBytes: path: string * bytes: byte array -> unit + 1 overload + static member AppendAllBytesAsync: path: string * bytes: byte array * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllLines: path: string * contents: IEnumerable<string> -> unit + 1 overload + static member AppendAllLinesAsync: path: string * contents: IEnumerable<string> * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllText: path: string * contents: string -> unit + 3 overloads + static member AppendAllTextAsync: path: string * contents: string * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 3 overloads + static member AppendText: path: string -> StreamWriter + static member Copy: sourceFileName: string * destFileName: string -> unit + 1 overload + static member Create: path: string -> FileStream + 2 overloads + static member CreateSymbolicLink: path: string * pathToTarget: string -> FileSystemInfo + ...
<summary>Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects.</summary>
+
File.CreateText(path: string) : StreamWriter
+
val fprintfn: textWriter: TextWriter -> format: TextWriterFormat<'T> -> 'T
+
StreamWriter.Close() : unit
+ + + After evaluation the file contains two lines. + +

+
+ Example +
+

+ Using % format patterns: +

 open Printf
+ open System.IO
+
+ let file = File.CreateText("out.txt")
+
+ fprintfn file "Write five = %d" (3+2)
+ fprintfn file "Write six = %d" (3+3)
+ file.Close()
+
+
module Printf + +from Microsoft.FSharp.Core
+
namespace System
+
namespace System.IO
+
val file: StreamWriter
+
type File = + static member AppendAllBytes: path: string * bytes: byte array -> unit + 1 overload + static member AppendAllBytesAsync: path: string * bytes: byte array * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllLines: path: string * contents: IEnumerable<string> -> unit + 1 overload + static member AppendAllLinesAsync: path: string * contents: IEnumerable<string> * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllText: path: string * contents: string -> unit + 3 overloads + static member AppendAllTextAsync: path: string * contents: string * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 3 overloads + static member AppendText: path: string -> StreamWriter + static member Copy: sourceFileName: string * destFileName: string -> unit + 1 overload + static member Create: path: string -> FileStream + 2 overloads + static member CreateSymbolicLink: path: string * pathToTarget: string -> FileSystemInfo + ...
<summary>Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects.</summary>
+
File.CreateText(path: string) : StreamWriter
+
val fprintfn: textWriter: TextWriter -> format: TextWriterFormat<'T> -> 'T
+
StreamWriter.Close() : unit
+ + + After evaluation the file contains two lines. + +

+
+
+
+ +

+ + + kbprintf continuation builder format + + +

+
+
+
+ Full Usage: + kbprintf continuation builder format +
+
+ Parameters: +
    + + + continuation + + : + unit -> 'Result + - + The function called after formatting to generate the format result. + +
    + + + builder + + : + StringBuilder + - + The input StringBuilder. + +
    + + + format + + : + BuilderFormat<'T, 'Result> + - + The input formatter. + +
    +
+
+ + Returns: + 'T + + The arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ bprintf, but call the given 'final' function to generate the result. + See kprintf. +

+
+
+ + + + + +
+
+
+
+
+ + continuation + + : + unit -> 'Result +
+
+

+ The function called after formatting to generate the format result. +

+
+
+ + builder + + : + StringBuilder +
+
+

+ The input StringBuilder. +

+
+
+ + format + + : + BuilderFormat<'T, 'Result> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The arguments of the formatter. +

+
+
+
+ Example +
+

+ Using % format patterns: +

 open Printf
+ open System.Text
+
+ let buffer = new StringBuilder()
+
+ kbprintf (fun () -> buffer.ToString()) buffer "Write five = %d" (3+2)
+
+
module Printf + +from Microsoft.FSharp.Core
+
namespace System
+
namespace System.Text
+
val buffer: StringBuilder
+
Multiple items
type StringBuilder = + interface ISerializable + new: unit -> unit + 5 overloads + member Append: value: bool -> StringBuilder + 25 overloads + member AppendFormat: provider: IFormatProvider * format: string * arg0: obj -> StringBuilder + 14 overloads + member AppendJoin: separator: char * [<ParamArray>] values: obj array -> StringBuilder + 9 overloads + member AppendLine: unit -> StringBuilder + 3 overloads + member Clear: unit -> StringBuilder + member CopyTo: sourceIndex: int * destination: char array * destinationIndex: int * count: int -> unit + 1 overload + member EnsureCapacity: capacity: int -> int + member Equals: span: ReadOnlySpan<char> -> bool + 1 overload + ...
<summary>Represents a mutable string of characters. This class cannot be inherited.</summary>

--------------------
StringBuilder() : StringBuilder
StringBuilder(capacity: int) : StringBuilder
StringBuilder(value: string) : StringBuilder
StringBuilder(capacity: int, maxCapacity: int) : StringBuilder
StringBuilder(value: string, capacity: int) : StringBuilder
StringBuilder(value: string, startIndex: int, length: int, capacity: int) : StringBuilder
+
val kbprintf: continuation: (unit -> 'Result) -> builder: StringBuilder -> format: BuilderFormat<'T,'Result> -> 'T
+
StringBuilder.ToString() : string
StringBuilder.ToString(startIndex: int, length: int) : string
+ + + Evaluates to "Write five = 5". + +

+
+
+
+ +

+ + + kfprintf continuation textWriter format + + +

+
+
+
+ Full Usage: + kfprintf continuation textWriter format +
+
+ Parameters: +
    + + + continuation + + : + unit -> 'Result + - + The function called after formatting to generate the format result. + +
    + + + textWriter + + : + TextWriter + - + The input TextWriter. + +
    + + + format + + : + TextWriterFormat<'T, 'Result> + - + The input formatter. + +
    +
+
+ + Returns: + 'T + + The arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ fprintf, but call the given 'final' function to generate the result. + See kprintf. +

+
+
+ + + + + +
+
+
+
+
+ + continuation + + : + unit -> 'Result +
+
+

+ The function called after formatting to generate the format result. +

+
+
+ + textWriter + + : + TextWriter +
+
+

+ The input TextWriter. +

+
+
+ + format + + : + TextWriterFormat<'T, 'Result> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The arguments of the formatter. +

+
+
+
+ Example +
+

+ Using % format patterns: +

 open Printf
+ open System.IO
+
+ let file = File.CreateText("out.txt")
+
+ kfprintf (fun () -> file.Close()) file $"Write three = {1+2}"
+
+
module Printf + +from Microsoft.FSharp.Core
+
namespace System
+
namespace System.IO
+
val file: StreamWriter
+
type File = + static member AppendAllBytes: path: string * bytes: byte array -> unit + 1 overload + static member AppendAllBytesAsync: path: string * bytes: byte array * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllLines: path: string * contents: IEnumerable<string> -> unit + 1 overload + static member AppendAllLinesAsync: path: string * contents: IEnumerable<string> * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 1 overload + static member AppendAllText: path: string * contents: string -> unit + 3 overloads + static member AppendAllTextAsync: path: string * contents: string * encoding: Encoding * ?cancellationToken: CancellationToken -> Task + 3 overloads + static member AppendText: path: string -> StreamWriter + static member Copy: sourceFileName: string * destFileName: string -> unit + 1 overload + static member Create: path: string -> FileStream + 2 overloads + static member CreateSymbolicLink: path: string * pathToTarget: string -> FileSystemInfo + ...
<summary>Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of <see cref="T:System.IO.FileStream" /> objects.</summary>
+
File.CreateText(path: string) : StreamWriter
+
val kfprintf: continuation: (unit -> 'Result) -> textWriter: TextWriter -> format: TextWriterFormat<'T,'Result> -> 'T
+
StreamWriter.Close() : unit
+ + + Writes "Write three = 3" to out.txt. + +

+
+
+
+ +

+ + + kprintf continuation format + + +

+
+
+
+ Full Usage: + kprintf continuation format +
+
+ Parameters: +
    + + + continuation + + : + string -> 'Result + - + The function called after formatting to generate the format result. + +
    + + + format + + : + StringFormat<'T, 'Result> + - + The input formatter. + +
    +
+
+ + Returns: + 'T + + 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. +

+
+
+ + + + + +
+
+
+
+
+ + continuation + + : + string -> 'Result +
+
+

+ The function called after formatting to generate the format result. +

+
+
+ + format + + : + StringFormat<'T, 'Result> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The arguments of the formatter. +

+
+
+
+ Example +
+

+ Using % format patterns: +

 open Printf
+
+ kprintf (fun s -> s + ", done!") $"Write three = {1+2}"
+
+
module Printf + +from Microsoft.FSharp.Core
+
val kprintf: continuation: (string -> 'Result) -> format: StringFormat<'T,'Result> -> 'T
+
val s: string
+ + + Evaluates to "Write three = 3, done!". + +

+
+
+
+ +

+ + + ksprintf continuation format + + +

+
+
+
+ Full Usage: + ksprintf continuation format +
+
+ Parameters: +
    + + + continuation + + : + string -> 'Result + - + The function called to generate a result from the formatted string. + +
    + + + format + + : + StringFormat<'T, 'Result> + - + The input formatter. + +
    +
+
+ + Returns: + 'T + + The arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ sprintf, but call the given 'final' function to generate the result. + See kprintf. +

+
+
+ + + + + +
+
+
+
+
+ + continuation + + : + string -> 'Result +
+
+

+ The function called to generate a result from the formatted string. +

+
+
+ + format + + : + StringFormat<'T, 'Result> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The arguments of the formatter. +

+
+
+
+ Example +
+

+ Using % format patterns: +

 open Printf
+
+ ksprintf (fun s -> s + ", done!") $"Write three = {1+2}"
+
+
module Printf + +from Microsoft.FSharp.Core
+
val ksprintf: continuation: (string -> 'Result) -> format: StringFormat<'T,'Result> -> 'T
+
val s: string
+ + + Evaluates to "Write three = 3, done!". + +

+
+
+
+ +

+ + + printf format + + +

+
+
+
+ Full Usage: + printf format +
+
+ Parameters: + +
+ + Returns: + 'T + + The return type and arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ Formatted printing to stdout +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The return type and arguments of the formatter. +

+
+
+
+ Example +
+

+ Using interpolated strings: +

 printf $"Write three = {1+2}"
+
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+ + + After evaluation the text "Write three = 3" is written to stdout. + +

+
+ Example +
+

+ Using % format patterns: +

 printf "Write five = %d" (3+2)
+
+
val printf: format: Printf.TextWriterFormat<'T> -> 'T
+ + + After evaluation the text "Write five = 5" is written to stdout. + +

+
+
+
+ +

+ + + printfn format + + +

+
+
+
+ Full Usage: + printfn format +
+
+ Parameters: + +
+ + Returns: + 'T + + The return type and arguments of the formatter. +
+
+
+
+
+
+ +
+
+

+ Formatted printing to stdout, adding a newline. +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + TextWriterFormat<'T> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The return type and arguments of the formatter. +

+
+
+
+ Example +
+

+ Using interpolated strings: +

 printfn $"Write three = {1+2}"
+ printfn $"Write four = {2+2}"
+
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + After evaluation the two lines are written to stdout. + +

+
+ Example +
+

+ Using % format patterns: +

 printfn "Write five = %d" (3+2)
+ printfn "Write six = %d" (3+3)
+
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+ + + After evaluation the two lines are written to stdout. + +

+
+
+
+ +

+ + + sprintf format + + +

+
+
+
+ Full Usage: + sprintf format +
+
+ Parameters: +
    + + + format + + : + StringFormat<'T> + - + The input formatter. + +
    +
+
+ + Returns: + 'T + + The formatted string. +
+
+
+
+
+
+ +
+
+

+ Print to a string via an internal string buffer and return + the result as a string. Helper printers must return strings. +

+
+
+ + + + + +
+
+
+
+
+ + format + + : + StringFormat<'T> +
+
+

+ The input formatter. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The formatted string. +

+
+
+
+ Example +
+

+

 sprintf "Write five = %d and six = %d" (3+2) (3+3)
+
+
val sprintf: format: Printf.StringFormat<'T> -> 'T
+ + + Evaluates to "Write five = 5 and six = 6". + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-projectionparameterattribute.html b/reference/fsharp-core-projectionparameterattribute.html new file mode 100644 index 000000000..81ebda1f3 --- /dev/null +++ b/reference/fsharp-core-projectionparameterattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + ProjectionParameterAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ProjectionParameterAttribute Type +

+ +
+
+
+

+ 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 +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + ProjectionParameterAttribute() + + +

+
+
+
+ Full Usage: + ProjectionParameterAttribute() +
+
+ + Returns: + ProjectionParameterAttribute + + ProjectionParameterAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + ProjectionParameterAttribute +
+
+

+ ProjectionParameterAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-ref-1.html b/reference/fsharp-core-ref-1.html new file mode 100644 index 000000000..bc1cc84b3 --- /dev/null +++ b/reference/fsharp-core-ref-1.html @@ -0,0 +1,360 @@ + + + + + + + + + + + + + + + + + + 'T ref (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ 'T ref Type +

+ +
+
+
+

+ The type of mutable references. Use the functions [!] and [:=] to get and + set values of this type. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+
+
+
+
+
+
+

+ The current value of the reference cell +

+
+
+ + + + + +
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-referenceequalityattribute.html b/reference/fsharp-core-referenceequalityattribute.html new file mode 100644 index 000000000..5f222facc --- /dev/null +++ b/reference/fsharp-core-referenceequalityattribute.html @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + ReferenceEqualityAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ReferenceEqualityAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + ReferenceEqualityAttribute() + + +

+
+
+
+ Full Usage: + ReferenceEqualityAttribute() +
+
+ + Returns: + ReferenceEqualityAttribute + + ReferenceEqualityAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + ReferenceEqualityAttribute +
+
+

+ ReferenceEqualityAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-reflecteddefinitionattribute.html b/reference/fsharp-core-reflecteddefinitionattribute.html new file mode 100644 index 000000000..5267745af --- /dev/null +++ b/reference/fsharp-core-reflecteddefinitionattribute.html @@ -0,0 +1,547 @@ + + + + + + + + + + + + + + + + + + ReflectedDefinitionAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ReflectedDefinitionAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + ReflectedDefinitionAttribute(includeValue) + + +

+
+
+
+ Full Usage: + ReflectedDefinitionAttribute(includeValue) +
+
+ Parameters: +
    + + + includeValue + + : + bool + - + Indicates whether to include the evaluated value of the definition as the outer node of the quotation + +
    +
+
+ + Returns: + ReflectedDefinitionAttribute + + ReflectedDefinitionAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + includeValue + + : + bool +
+
+

+ Indicates whether to include the evaluated value of the definition as the outer node of the quotation +

+
+
+
+
+ + Returns: + + ReflectedDefinitionAttribute +
+
+

+ ReflectedDefinitionAttribute +

+
+
+
+
+
+ +

+ + + ReflectedDefinitionAttribute() + + +

+
+
+
+ Full Usage: + ReflectedDefinitionAttribute() +
+
+ + Returns: + ReflectedDefinitionAttribute + + ReflectedDefinitionAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + ReflectedDefinitionAttribute +
+
+

+ ReflectedDefinitionAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IncludeValue + + +

+
+
+
+ Full Usage: + this.IncludeValue +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The value of the attribute, indicating whether to include the evaluated value of the definition as the outer node of the quotation +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-requirequalifiedaccessattribute.html b/reference/fsharp-core-requirequalifiedaccessattribute.html new file mode 100644 index 000000000..6843b6504 --- /dev/null +++ b/reference/fsharp-core-requirequalifiedaccessattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + RequireQualifiedAccessAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ RequireQualifiedAccessAttribute Type +

+ +
+
+
+

+ This attribute is used to indicate that references to the elements of a module, record or union + type require explicit qualified access. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + RequireQualifiedAccessAttribute() + + +

+
+
+
+ Full Usage: + RequireQualifiedAccessAttribute() +
+
+ + Returns: + RequireQualifiedAccessAttribute + + RequireQualifiedAccessAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + RequireQualifiedAccessAttribute +
+
+

+ RequireQualifiedAccessAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-requiresexplicittypeargumentsattribute.html b/reference/fsharp-core-requiresexplicittypeargumentsattribute.html new file mode 100644 index 000000000..16f001646 --- /dev/null +++ b/reference/fsharp-core-requiresexplicittypeargumentsattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + RequiresExplicitTypeArgumentsAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ RequiresExplicitTypeArgumentsAttribute Type +

+ +
+
+
+

+ Adding this attribute to a type, value or member requires that + uses of the construct must explicitly instantiate any generic type parameters. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + RequiresExplicitTypeArgumentsAttribute() + + +

+
+
+
+ Full Usage: + RequiresExplicitTypeArgumentsAttribute() +
+
+ + Returns: + RequiresExplicitTypeArgumentsAttribute + + RequiresExplicitTypeArgumentsAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + RequiresExplicitTypeArgumentsAttribute +
+
+

+ RequiresExplicitTypeArgumentsAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-resultmodule.html b/reference/fsharp-core-resultmodule.html new file mode 100644 index 000000000..61e13ae99 --- /dev/null +++ b/reference/fsharp-core-resultmodule.html @@ -0,0 +1,2749 @@ + + + + + + + + + + + + + + + + + + Result (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Result Module +

+ +
+
+
+

+ Contains operations for working with values of type Result. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + bind binder result + + +

+
+
+
+ Full Usage: + bind binder result +
+
+ Parameters: +
    + + + binder + + : + 'T -> Result<'U, 'TError> + - + A function that takes the value of type T from a result and transforms it into + a result containing a value of type U. + +
    + + + result + + : + Result<'T, 'TError> + - + The input result. + +
    +
+
+ + Returns: + Result<'U, 'TError> + + A result of the output type of the binder. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U, 'TError +
+
+
+
+
+ +
+
+

+ bind f inp evaluates to match inp with Error e -> Error e | Ok x -> f x +

+
+
+ + + + + +
+
+
+
+
+ + binder + + : + 'T -> Result<'U, 'TError> +
+
+

+ A function that takes the value of type T from a result and transforms it into + a result containing a value of type U. +

+
+
+ + result + + : + Result<'T, 'TError> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + Result<'U, 'TError> +
+
+

+ A result of the output type of the binder. +

+
+
+
+ Example +
+

+

 let tryParse (input: string) =
+     match System.Int32.TryParse input with
+     | true, v -> Ok v
+     | false, _ -> Error "couldn't parse"
+
+ Error "message" |> Result.bind tryParse // evaluates to Error "message"
+
+ Ok "42" |> Result.bind tryParse // evaluates to Ok 42
+
+ Ok "Forty-two" |> Result.bind tryParse // evaluates to Error "couldn't parse"
+
+
val tryParse: input: string -> Result<int,string>
+
val input: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
namespace System
+
[<Struct>] +type Int32 = + member CompareTo: value: int -> int + 1 overload + member Equals: obj: int -> bool + 1 overload + member GetHashCode: unit -> int + member GetTypeCode: unit -> TypeCode + member ToString: unit -> string + 3 overloads + member TryFormat: utf8Destination: Span<byte> * bytesWritten: byref<int> * ?format: ReadOnlySpan<char> * ?provider: IFormatProvider -> bool + 1 overload + static member Abs: value: int -> int + static member BigMul: left: int * right: int -> int64 + static member Clamp: value: int * min: int * max: int -> int + static member CopySign: value: int * sign: int -> int + ...
<summary>Represents a 32-bit signed integer.</summary>
+
System.Int32.TryParse(s: string, result: byref<int>) : bool
System.Int32.TryParse(s: System.ReadOnlySpan<char>, result: byref<int>) : bool
System.Int32.TryParse(utf8Text: System.ReadOnlySpan<byte>, result: byref<int>) : bool
System.Int32.TryParse(s: string, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(s: System.ReadOnlySpan<char>, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(utf8Text: System.ReadOnlySpan<byte>, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(s: string, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(s: System.ReadOnlySpan<char>, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(utf8Text: System.ReadOnlySpan<byte>, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: byref<int>) : bool
+
val v: int
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val bind: binder: ('T -> Result<'U,'TError>) -> result: Result<'T,'TError> -> Result<'U,'TError>
+ + +

+
+
+
+ +

+ + + contains value result + + +

+
+
+
+ Full Usage: + contains value result +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to test for equality. + +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + bool + + True if the result is Ok and contains a value equal to value, otherwise false. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ Evaluates to true if result is Ok and its value is equal to value. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to test for equality. +

+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the result is Ok and contains a value equal to value, otherwise false. +

+
+
+
+ Example +
+

+

 (99, Error 99) ||> Result.contains // evaluates to false
+ (99, Ok 99) ||> Result.contains // evaluates to true
+ (99, Ok 100) ||> Result.contains // evaluates to false
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val contains: value: 'T -> result: Result<'T,'Error> -> bool (requires equality)
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + count result + + +

+
+
+
+ Full Usage: + count result +
+
+ Parameters: +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + int + + A zero if the result is Error, a one otherwise. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ count inp evaluates to match inp with Error _ -> 0 | Ok _ -> 1. +

+
+
+ + + + + +
+
+
+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + int +
+
+

+ A zero if the result is Error, a one otherwise. +

+
+
+
+ Example +
+

+

 Error 99 |> Result.count // evaluates to 0
+ Ok 99 |> Result.count // evaluates to 1
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val count: result: Result<'T,'Error> -> int
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + defaultValue value result + + +

+
+
+
+ Full Usage: + defaultValue value result +
+
+ Parameters: +
    + + + value + + : + 'T + - + The specified default value. + +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + 'T + + The result if the result is Ok, else the default value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ Gets the value of the result if the result is Ok, otherwise returns the specified default value. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The specified default value. +

+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The result if the result is Ok, else the default value. +

+
+
+
+ Example +
+

+

 Result.defaultValue 2 (Error 3) // evaluates to 2
+ Result.defaultValue 2 (Ok 1) // evaluates to 1
+
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val defaultValue: value: 'T -> result: Result<'T,'Error> -> 'T
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + defaultWith defThunk result + + +

+
+
+
+ Full Usage: + defaultWith defThunk result +
+
+ Parameters: +
    + + + defThunk + + : + 'Error -> 'T + - + A thunk that provides a default value when evaluated. + +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + 'T + + The result if the result is Ok, else the result of evaluating defThunk. +
+ Modifiers: + inline +
+ Type parameters: + 'Error, 'T +
+
+
+
+
+ +
+
+

+ Gets the value of the result if the result is Ok, otherwise evaluates defThunk and returns the result. +

+
+
+ + + + + +
+
+
+

+ defThunk is not evaluated unless result is Error. +

+
+
+ + defThunk + + : + 'Error -> 'T +
+
+

+ A thunk that provides a default value when evaluated. +

+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The result if the result is Ok, else the result of evaluating defThunk. +

+
+
+
+ Example +
+

+

 Ok 1 |> Result.defaultWith (fun error -> 99) // evaluates to 1
+ Error 2 |> Result.defaultWith (fun error -> 99) // evaluates to 99
+
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val defaultWith: defThunk: ('Error -> 'T) -> result: Result<'T,'Error> -> 'T
+
val error: obj
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
val error: int
+ + +

+
+
+
+ +

+ + + exists predicate result + + +

+
+
+
+ Full Usage: + exists predicate result +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to a boolean when given a value from the result type. + +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + bool + + False if the result is Error, otherwise it returns the result of applying the predicate + to the result value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ exists p inp evaluates to match inp with Error _ -> false | Ok x -> p x. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to a boolean when given a value from the result type. +

+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ False if the result is Error, otherwise it returns the result of applying the predicate + to the result value. +

+
+
+
+ Example +
+

+

 Error 6 |> Result.exists (fun x -> x >= 5) // evaluates to false
+ Ok 42 |> Result.exists (fun x -> x >= 5) // evaluates to true
+ Ok 4 |> Result.exists (fun x -> x >= 5) // evaluates to false
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val exists: predicate: ('T -> bool) -> result: Result<'T,'Error> -> bool
+
val x: int
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + fold folder state result + + +

+
+
+
+ Full Usage: + fold folder state result +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T -> 'State + - + A function to update the state data when given a value from an result. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + 'State + + The original state if the result is Error, otherwise it returns the updated state with the folder + and the result value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error, 'State +
+
+
+
+
+ +
+
+

+ fold f s inp evaluates to match inp with Error _ -> s | Ok x -> f s x. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T -> 'State +
+
+

+ A function to update the state data when given a value from an result. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The original state if the result is Error, otherwise it returns the updated state with the folder + and the result value. +

+
+
+
+ Example +
+

+

 (0, Error 2) ||> Result.fold (fun accum x -> accum + x * 2) // evaluates to 0
+ (0, Ok 1) ||> Result.fold (fun accum x -> accum + x * 2) // evaluates to 2
+ (10, Ok 1) ||> Result.fold (fun accum x -> accum + x * 2) // evaluates to 12
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val fold<'T,'Error,'State> : folder: ('State -> 'T -> 'State) -> state: 'State -> result: Result<'T,'Error> -> 'State
+
val accum: int
+
val x: int
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + foldBack folder result state + + +

+
+
+
+ Full Usage: + foldBack folder result state +
+
+ Parameters: +
    + + + folder + + : + 'T -> 'State -> 'State + - + A function to update the state data when given a value from an result. + +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State + + The original state if the result is Error, otherwise it returns the updated state with the folder + and the result value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error, 'State +
+
+
+
+
+ +
+
+

+ foldBack f inp s evaluates to match inp with Error _ -> s | Ok x -> f x s. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'T -> 'State -> 'State +
+
+

+ A function to update the state data when given a value from an result. +

+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The original state if the result is Error, otherwise it returns the updated state with the folder + and the result value. +

+
+
+
+ Example +
+

+

 (Error 2, 0) ||> Result.foldBack (fun x accum -> accum + x * 2) // evaluates to 0
+ (Ok 1, 0) ||> Result.foldBack (fun x accum -> accum + x * 2) // evaluates to 2
+ (Ok 1, 10) ||> Result.foldBack (fun x accum -> accum + x * 2) // evaluates to 12
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val foldBack<'T,'Error,'State> : folder: ('T -> 'State -> 'State) -> result: Result<'T,'Error> -> state: 'State -> 'State
+
val x: int
+
val accum: int
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + forall predicate result + + +

+
+
+
+ Full Usage: + forall predicate result +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to a boolean when given a value from the result type. + +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + bool + + True if the result is Error, otherwise it returns the result of applying the predicate + to the result value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ forall p inp evaluates to match inp with Error _ -> true | Ok x -> p x. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to a boolean when given a value from the result type. +

+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the result is Error, otherwise it returns the result of applying the predicate + to the result value. +

+
+
+
+ Example +
+

+

 Error 1 |> Result.forall (fun x -> x >= 5) // evaluates to true
+ Ok 42 |> Result.forall (fun x -> x >= 5) // evaluates to true
+ Ok 4 |> Result.forall (fun x -> x >= 5) // evaluates to false
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val forall: predicate: ('T -> bool) -> result: Result<'T,'Error> -> bool
+
val x: int
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + isError result + + +

+
+
+
+ Full Usage: + isError result +
+
+ Parameters: +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + bool + + True if the result is Error. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ Returns true if the result is Error. +

+
+
+ + + + + +
+
+
+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the result is Error. +

+
+
+
+ Example +
+

+

 Ok 42 |> Result.isError // evaluates to false
+ Error 42 |> Result.isError // evaluates to true
+
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val isError: result: Result<'T,'Error> -> bool
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + isOk result + + +

+
+
+
+ Full Usage: + isOk result +
+
+ Parameters: +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + bool + + True if the result is OK. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ Returns true if the result is Ok. +

+
+
+ + + + + +
+
+
+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the result is OK. +

+
+
+
+ Example +
+

+

 Ok 42 |> Result.isOk // evaluates to true
+ Error 42 |> Result.isOk // evaluates to false
+
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val isOk: result: Result<'T,'Error> -> bool
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + iter action result + + +

+
+
+
+ Full Usage: + iter action result +
+
+ Parameters: +
    + + + action + + : + 'T -> unit + - + A function to apply to the result value. + +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ iter f inp executes match inp with Error _ -> () | Ok x -> f x. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T -> unit +
+
+

+ A function to apply to the result value. +

+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+ Example +
+

+

 Error "Hello world" |> Result.iter (printfn "%s") // does nothing
+ Ok "Hello world" |> Result.iter (printfn "%s") // prints "Hello world"
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val iter: action: ('T -> unit) -> result: Result<'T,'Error> -> unit
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + map mapping result + + +

+
+
+
+ Full Usage: + map mapping result +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + A function to apply to the OK result value. + +
    + + + result + + : + Result<'T, 'TError> + - + The input result. + +
    +
+
+ + Returns: + Result<'U, 'TError> + + A result of the input value after applying the mapping function, or Error if the input is Error. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U, 'TError +
+
+
+
+
+ +
+
+

+ map f inp evaluates to match inp with Error e -> Error e | Ok x -> Ok (f x). +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ A function to apply to the OK result value. +

+
+
+ + result + + : + Result<'T, 'TError> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + Result<'U, 'TError> +
+
+

+ A result of the input value after applying the mapping function, or Error if the input is Error. +

+
+
+
+ Example +
+

+

 Ok 1 |> Result.map (fun x -> "perfect") // evaluates to Ok "perfect"
+
+ Error "message" |> Result.map (fun x -> "perfect") // evaluates to Error "message"
+
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val map: mapping: ('T -> 'U) -> result: Result<'T,'TError> -> Result<'U,'TError>
+
val x: int
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
val x: obj
+ + +

+
+
+
+ +

+ + + mapError mapping result + + +

+
+
+
+ Full Usage: + mapError mapping result +
+
+ Parameters: +
    + + + mapping + + : + 'TError -> 'U + - + A function to apply to the Error result value. + +
    + + + result + + : + Result<'T, 'TError> + - + The input result. + +
    +
+
+ + Returns: + Result<'T, 'U> + + A result of the error value after applying the mapping function, or Ok if the input is Ok. +
+ Modifiers: + inline +
+ Type parameters: + 'TError, 'U, 'T +
+
+
+
+
+ +
+
+

+ map f inp evaluates to match inp with Error x -> Error (f x) | Ok v -> Ok v. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'TError -> 'U +
+
+

+ A function to apply to the Error result value. +

+
+
+ + result + + : + Result<'T, 'TError> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + Result<'T, 'U> +
+
+

+ A result of the error value after applying the mapping function, or Ok if the input is Ok. +

+
+
+
+ Example +
+

+

 Ok 1 |> Result.mapError (fun x -> "bar") // evaluates to Ok 1
+
+ Error "foo" |> Result.mapError (fun x -> "bar") // evaluates to Error "bar"
+
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val mapError: mapping: ('TError -> 'U) -> result: Result<'T,'TError> -> Result<'T,'U>
+
val x: obj
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
val x: string
+ + +

+
+
+
+ +

+ + + toArray result + + +

+
+
+
+ Full Usage: + toArray result +
+
+ Parameters: +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ Convert the result to an array of length 0 or 1. +

+
+
+ + + + + +
+
+
+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+
+ Example +
+

+

 Error 42 |> Result.toArray // evaluates to [||]
+ Ok 42 |> Result.toArray // evaluates to [| 42 |]
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val toArray: result: Result<'T,'Error> -> 'T array
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + toList result + + +

+
+
+
+ Full Usage: + toList result +
+
+ Parameters: +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ Convert the result to a list of length 0 or 1. +

+
+
+ + + + + +
+
+
+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 Error 42 |> Result.toList // evaluates to []
+ Ok 42 |> Result.toList // evaluates to [ 42 ]
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val toList: result: Result<'T,'Error> -> 'T list
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + toOption result + + +

+
+
+
+ Full Usage: + toOption result +
+
+ Parameters: +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + 'T option + + The option value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ Convert the result to an Option value. +

+
+
+ + + + + +
+
+
+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The option value. +

+
+
+
+ Example +
+

+

 Error 42 |> Result.toOption // evaluates to None
+ Ok 42 |> Result.toOption // evaluates to Some 42
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val toOption: result: Result<'T,'Error> -> 'T option
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+ +

+ + + toValueOption result + + +

+
+
+
+ Full Usage: + toValueOption result +
+
+ Parameters: +
    + + + result + + : + Result<'T, 'Error> + - + The input result. + +
    +
+
+ + Returns: + 'T voption + + The result value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Error +
+
+
+
+
+ +
+
+

+ Convert the result to an Option value. +

+
+
+ + + + + +
+
+
+
+
+ + result + + : + Result<'T, 'Error> +
+
+

+ The input result. +

+
+
+
+
+ + Returns: + + 'T voption +
+
+

+ The result value. +

+
+
+
+ Example +
+

+

 Error 42 |> Result.toOption // evaluates to ValueNone
+ Ok 42 |> Result.toOption // evaluates to ValueSome 42
+
+
union case Result.Error: ErrorValue: 'TError -> Result<'T,'TError>
+
Multiple items
module Result + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type Result<'T,'TError> = + | Ok of ResultValue: 'T + | Error of ErrorValue: 'TError
+
val toOption: result: Result<'T,'Error> -> 'T option
+
union case Result.Ok: ResultValue: 'T -> Result<'T,'TError>
+ + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-sbyte-1.html b/reference/fsharp-core-sbyte-1.html new file mode 100644 index 000000000..7b565061b --- /dev/null +++ b/reference/fsharp-core-sbyte-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + sbyte<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ sbyte<'Measure> Type +

+ +
+
+
+

+ 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 + SByte. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-sbyte.html b/reference/fsharp-core-sbyte.html new file mode 100644 index 000000000..fe6149689 --- /dev/null +++ b/reference/fsharp-core-sbyte.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + sbyte (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ sbyte Type +

+ +
+
+
+

+ An abbreviation for the CLI type SByte. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-sealedattribute.html b/reference/fsharp-core-sealedattribute.html new file mode 100644 index 000000000..d3608539c --- /dev/null +++ b/reference/fsharp-core-sealedattribute.html @@ -0,0 +1,546 @@ + + + + + + + + + + + + + + + + + + SealedAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ SealedAttribute Type +

+ +
+
+
+

+ Adding this attribute to class definition makes it sealed, which means it may not + be extended or implemented. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + SealedAttribute(value) + + +

+
+
+
+ Full Usage: + SealedAttribute(value) +
+
+ Parameters: +
    + + + value + + : + bool + - + Indicates whether the class is sealed. + +
    +
+
+ + Returns: + SealedAttribute + + SealedAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + bool +
+
+

+ Indicates whether the class is sealed. +

+
+
+
+
+ + Returns: + + SealedAttribute +
+
+

+ SealedAttribute +

+
+
+
+
+
+ +

+ + + SealedAttribute() + + +

+
+
+
+ Full Usage: + SealedAttribute() +
+
+ + Returns: + SealedAttribute + + The created attribute. +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + SealedAttribute +
+
+

+ The created attribute. +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The value of the attribute, indicating whether the type is sealed or not. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-single-1.html b/reference/fsharp-core-single-1.html new file mode 100644 index 000000000..20b426bd4 --- /dev/null +++ b/reference/fsharp-core-single-1.html @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + single<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ single<'Measure> Type +

+ +
+
+
+

+ The type of single-precision 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 + Single. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-single.html b/reference/fsharp-core-single.html new file mode 100644 index 000000000..6fb69f21c --- /dev/null +++ b/reference/fsharp-core-single.html @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + single (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ single Type +

+ +
+
+
+

+ An abbreviation for the CLI type Single. Identical to float32. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-sourceconstructflags.html b/reference/fsharp-core-sourceconstructflags.html new file mode 100644 index 000000000..f6a4127ab --- /dev/null +++ b/reference/fsharp-core-sourceconstructflags.html @@ -0,0 +1,1014 @@ + + + + + + + + + + + + + + + + + + SourceConstructFlags (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ SourceConstructFlags Type +

+ +
+
+
+

+ Indicates the relationship between a compiled entity in a CLI binary and an element in F# source code. +

+
+
+
+
+
+
+
+
+

+ Record fields +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Record Field + + Description + +
+
+ +

+ + + Closure + + +

+
+
+
+ Full Usage: + Closure +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity is part of the representation of an F# closure. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + Exception + + +

+
+
+
+ Full Usage: + Exception +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity is part of the representation of an F# exception declaration. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + Field + + +

+
+
+
+ Full Usage: + Field +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity is part of the representation of an F# record or union case field declaration. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + KindMask + + +

+
+
+
+ Full Usage: + KindMask +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ The mask of values related to the kind of the compiled entity. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + Module + + +

+
+
+
+ Full Usage: + Module +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity is part of the representation of an F# module declaration. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + NonPublicRepresentation + + +

+
+
+
+ Full Usage: + NonPublicRepresentation +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity had private or internal representation in F# source code. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + None + + +

+
+
+
+ Full Usage: + None +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity has no relationship to an element in F# source code. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + ObjectType + + +

+
+
+
+ Full Usage: + ObjectType +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity is part of the representation of an F# class or other object type declaration. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + RecordType + + +

+
+
+
+ Full Usage: + RecordType +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity is part of the representation of an F# record type declaration. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + SumType + + +

+
+
+
+ Full Usage: + SumType +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity is part of the representation of an F# union type declaration. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + UnionCase + + +

+
+
+
+ Full Usage: + UnionCase +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity is part of the representation of an F# union case declaration. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+ +

+ + + Value + + +

+
+
+
+ Full Usage: + Value +
+
+ + Field type: + SourceConstructFlags + +
+ Modifiers: + static +
+
+
+
+
+
+ +
+
+

+ Indicates that the compiled entity is part of the representation of an F# value declaration. +

+
+
+ + + +
+
+
+
+
+ + Field type: + + SourceConstructFlags +
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-stringmodule.html b/reference/fsharp-core-stringmodule.html new file mode 100644 index 000000000..0dfb1107d --- /dev/null +++ b/reference/fsharp-core-stringmodule.html @@ -0,0 +1,2107 @@ + + + + + + + + + + + + + + + + + + String (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ String Module +

+ +
+
+
+

+ 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. + +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + String.collect mapping str + + +

+
+
+
+ Full Usage: + String.collect mapping str +
+
+ Parameters: +
    + + + mapping + + : + char -> string + - + The function to produce a string from each character of the input string. + +
    + + + str + + : + string + - + The input string. + +
    +
+
+ + Returns: + string + + The concatenated string. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + char -> string +
+
+

+ The function to produce a string from each character of the input string. +

+
+
+ + str + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + string +
+
+

+ The concatenated string. +

+
+
+
+ Example +
+

+ The following samples shows how to interspace spaces in a text +

 let input = "Stefan says: Hi!"
+
+ input |> String.collect (sprintf "%c ")
+
+
val input: string
+
module String + +from Microsoft.FSharp.Core
+
val collect: mapping: (char -> string) -> str: string -> string
+
val sprintf: format: Printf.StringFormat<'T> -> 'T
+ + + The sample evaluates to "S t e f a n s a y s : H i ! " +

+
+ Example +
+

+ How to show the ASCII representation of a very secret text +

 "Secret" |> String.collect (fun chr -> int chr |> sprintf "%d ")
+
+
module String + +from Microsoft.FSharp.Core
+
val collect: mapping: (char -> string) -> str: string -> string
+
val chr: char
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val sprintf: format: Printf.StringFormat<'T> -> 'T
+ + + The sample evaluates to "83 101 99 114 101 116 " +

+
+
+
+ +

+ + + String.concat sep strings + + +

+
+
+
+ Full Usage: + String.concat sep strings +
+
+ Parameters: +
    + + + sep + + : + string + - + The separator string to be inserted between the strings + of the input sequence. + +
    + + + strings + + : + string seq + - + The sequence of strings to be concatenated. + +
    +
+
+ + Returns: + string + + A new string consisting of the concatenated strings separated by + the separation string. +
+
+
+
+
+
+ +
+
+

+ Returns a new string made by concatenating the given strings + with separator sep, that is a1 + sep + ... + sep + aN. +

+
+
+ + + + + +
+
+
+
+
+ + sep + + : + string +
+
+

+ The separator string to be inserted between the strings + of the input sequence. +

+
+
+ + strings + + : + string seq +
+
+

+ The sequence of strings to be concatenated. +

+
+
+
+
+ + Returns: + + string +
+
+

+ A new string consisting of the concatenated strings separated by + the separation string. +

+
+
+ + + + + +
+ + ArgumentNullException + + + Thrown when strings is null. +
+
+ Example +
+

+

 let input1 = ["Stefan"; "says:"; "Hello"; "there!"]
+
+ input1 |> String.concat " "  // evaluates "Stefan says: Hello there!"
+
+ let input2 = [0..9] |> List.map string
+
+ input2 |> String.concat ""    // evaluates "0123456789"
+ input2 |> String.concat ", "  // evaluates "0, 1, 2, 3, 4, 5, 6, 7, 8, 9"
+
+ let input3 = ["No comma"]
+
+ input3 |> String.concat ","   // evaluates "No comma"
+
+
val input1: string list
+
module String + +from Microsoft.FSharp.Core
+
val concat: sep: string -> strings: string seq -> string
+
val input2: string list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val map: mapping: ('T -> 'U) -> list: 'T list -> 'U list
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val input3: string list
+ + +

+
+
+
+ +

+ + + String.exists predicate str + + +

+
+
+
+ Full Usage: + String.exists predicate str +
+
+ Parameters: +
    + + + predicate + + : + char -> bool + - + The function to test each character of the string. + +
    + + + str + + : + string + - + The input string. + +
    +
+
+ + Returns: + bool + + True if any character returns true for the predicate and false otherwise. +
+
+
+
+
+
+ +
+
+

+ Tests if any character of the string satisfies the given predicate. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + char -> bool +
+
+

+ The function to test each character of the string. +

+
+
+ + str + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if any character returns true for the predicate and false otherwise. +

+
+
+
+ Example +
+

+ Looking for uppercase characters +

 open System
+
+ "Yoda" |> String.exists Char.IsUpper  // evaluates true
+
+ "nope" |> String.exists Char.IsUpper  // evaluates false
+
+
namespace System
+
Multiple items
type String = + interface IEnumerable<char> + interface IEnumerable + interface ICloneable + interface IComparable + interface IComparable<string> + interface IConvertible + interface IEquatable<string> + interface IParsable<string> + interface ISpanParsable<string> + new: value: nativeptr<char> -> unit + 8 overloads + ...
<summary>Represents text as a sequence of UTF-16 code units.</summary>

--------------------
String(value: nativeptr<char>) : String
String(value: char array) : String
String(value: ReadOnlySpan<char>) : String
String(value: nativeptr<sbyte>) : String
String(c: char, count: int) : String
String(value: nativeptr<char>, startIndex: int, length: int) : String
String(value: char array, startIndex: int, length: int) : String
String(value: nativeptr<sbyte>, startIndex: int, length: int) : String
String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: Text.Encoding) : String
+
val exists: predicate: (char -> bool) -> str: string -> bool
+
[<Struct>] +type Char = + member CompareTo: value: char -> int + 1 overload + member Equals: obj: char -> bool + 1 overload + member GetHashCode: unit -> int + member GetTypeCode: unit -> TypeCode + member ToString: unit -> string + 2 overloads + static member ConvertFromUtf32: utf32: int -> string + static member ConvertToUtf32: highSurrogate: char * lowSurrogate: char -> int + 1 overload + static member GetNumericValue: c: char -> float + 1 overload + static member GetUnicodeCategory: c: char -> UnicodeCategory + 1 overload + static member IsAscii: c: char -> bool + ...
<summary>Represents a character as a UTF-16 code unit.</summary>
+
Char.IsUpper(c: char) : bool
Char.IsUpper(s: string, index: int) : bool
+ + +

+
+
+
+ +

+ + + String.filter predicate str + + +

+
+
+
+ Full Usage: + String.filter predicate str +
+
+ Parameters: +
    + + + predicate + + : + char -> bool + - + A function to test whether each character in the input sequence should be included in the output string. + +
    + + + str + + : + string + - + The input string. + +
    +
+
+ + Returns: + string + + The resulting string. +
+
+
+
+
+
+ +
+
+

+ Builds a new string containing only the characters of the input string + for which the given predicate returns "true". +

+
+
+ + + + + +
+
+
+

+ Returns an empty string if the input string is null +

+
+
+ + predicate + + : + char -> bool +
+
+

+ A function to test whether each character in the input sequence should be included in the output string. +

+
+
+ + str + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + string +
+
+

+ The resulting string. +

+
+
+
+ Example +
+

+ Filtering out just alphanumeric characters +

 open System
+
+ let input = "0 1 2 3 4 5 6 7 8 9 a A m M"
+
+ input |> String.filter Uri.IsHexDigit  // evaluates "123456789aA"
+
+
namespace System
+
val input: string
+
Multiple items
type String = + interface IEnumerable<char> + interface IEnumerable + interface ICloneable + interface IComparable + interface IComparable<string> + interface IConvertible + interface IEquatable<string> + interface IParsable<string> + interface ISpanParsable<string> + new: value: nativeptr<char> -> unit + 8 overloads + ...
<summary>Represents text as a sequence of UTF-16 code units.</summary>

--------------------
String(value: nativeptr<char>) : String
String(value: char array) : String
String(value: ReadOnlySpan<char>) : String
String(value: nativeptr<sbyte>) : String
String(c: char, count: int) : String
String(value: nativeptr<char>, startIndex: int, length: int) : String
String(value: char array, startIndex: int, length: int) : String
String(value: nativeptr<sbyte>, startIndex: int, length: int) : String
String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: Text.Encoding) : String
+
val filter: predicate: (char -> bool) -> str: string -> string
+
Multiple items
type Uri = + interface IFormattable + interface ISpanFormattable + interface IEquatable<Uri> + interface ISerializable + new: uriString: string -> unit + 6 overloads + member Equals: comparand: obj -> bool + 1 overload + member GetComponents: components: UriComponents * format: UriFormat -> string + member GetHashCode: unit -> int + member GetLeftPart: part: UriPartial -> string + member IsBaseOf: uri: Uri -> bool + ...
<summary>Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.</summary>

--------------------
Uri(uriString: string) : Uri
Uri(uriString: string, creationOptions: inref<UriCreationOptions>) : Uri
Uri(uriString: string, uriKind: UriKind) : Uri
Uri(baseUri: Uri, relativeUri: string) : Uri
Uri(baseUri: Uri, relativeUri: Uri) : Uri
+
Uri.IsHexDigit(character: char) : bool
+ + +

+
+ Example +
+

+ Filtering out just digits +

 open System
+
+ "hello" |> String.filter Char.IsDigit  // evaluates ""
+
+
namespace System
+
Multiple items
type String = + interface IEnumerable<char> + interface IEnumerable + interface ICloneable + interface IComparable + interface IComparable<string> + interface IConvertible + interface IEquatable<string> + interface IParsable<string> + interface ISpanParsable<string> + new: value: nativeptr<char> -> unit + 8 overloads + ...
<summary>Represents text as a sequence of UTF-16 code units.</summary>

--------------------
String(value: nativeptr<char>) : String
String(value: char array) : String
String(value: ReadOnlySpan<char>) : String
String(value: nativeptr<sbyte>) : String
String(c: char, count: int) : String
String(value: nativeptr<char>, startIndex: int, length: int) : String
String(value: char array, startIndex: int, length: int) : String
String(value: nativeptr<sbyte>, startIndex: int, length: int) : String
String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: Text.Encoding) : String
+
val filter: predicate: (char -> bool) -> str: string -> string
+
[<Struct>] +type Char = + member CompareTo: value: char -> int + 1 overload + member Equals: obj: char -> bool + 1 overload + member GetHashCode: unit -> int + member GetTypeCode: unit -> TypeCode + member ToString: unit -> string + 2 overloads + static member ConvertFromUtf32: utf32: int -> string + static member ConvertToUtf32: highSurrogate: char * lowSurrogate: char -> int + 1 overload + static member GetNumericValue: c: char -> float + 1 overload + static member GetUnicodeCategory: c: char -> UnicodeCategory + 1 overload + static member IsAscii: c: char -> bool + ...
<summary>Represents a character as a UTF-16 code unit.</summary>
+
Char.IsDigit(c: char) : bool
Char.IsDigit(s: string, index: int) : bool
+ + +

+
+
+
+ +

+ + + String.forall predicate str + + +

+
+
+
+ Full Usage: + String.forall predicate str +
+
+ Parameters: +
    + + + predicate + + : + char -> bool + - + The function to test each character of the string. + +
    + + + str + + : + string + - + The input string. + +
    +
+
+ + Returns: + bool + + True if all characters return true for the predicate and false otherwise. +
+
+
+
+
+
+ +
+
+

+ Tests if all characters in the string satisfy the given predicate. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + char -> bool +
+
+

+ The function to test each character of the string. +

+
+
+ + str + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if all characters return true for the predicate and false otherwise. +

+
+
+
+ Example +
+

+ Looking for lowercase characters +

 open System
+
+ "all are lower" |> String.forall Char.IsLower  // evaluates false
+
+ "allarelower" |> String.forall Char.IsLower    // evaluates true
+
+
namespace System
+
Multiple items
type String = + interface IEnumerable<char> + interface IEnumerable + interface ICloneable + interface IComparable + interface IComparable<string> + interface IConvertible + interface IEquatable<string> + interface IParsable<string> + interface ISpanParsable<string> + new: value: nativeptr<char> -> unit + 8 overloads + ...
<summary>Represents text as a sequence of UTF-16 code units.</summary>

--------------------
String(value: nativeptr<char>) : String
String(value: char array) : String
String(value: ReadOnlySpan<char>) : String
String(value: nativeptr<sbyte>) : String
String(c: char, count: int) : String
String(value: nativeptr<char>, startIndex: int, length: int) : String
String(value: char array, startIndex: int, length: int) : String
String(value: nativeptr<sbyte>, startIndex: int, length: int) : String
String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: Text.Encoding) : String
+
val forall: predicate: (char -> bool) -> str: string -> bool
+
[<Struct>] +type Char = + member CompareTo: value: char -> int + 1 overload + member Equals: obj: char -> bool + 1 overload + member GetHashCode: unit -> int + member GetTypeCode: unit -> TypeCode + member ToString: unit -> string + 2 overloads + static member ConvertFromUtf32: utf32: int -> string + static member ConvertToUtf32: highSurrogate: char * lowSurrogate: char -> int + 1 overload + static member GetNumericValue: c: char -> float + 1 overload + static member GetUnicodeCategory: c: char -> UnicodeCategory + 1 overload + static member IsAscii: c: char -> bool + ...
<summary>Represents a character as a UTF-16 code unit.</summary>
+
Char.IsLower(c: char) : bool
Char.IsLower(s: string, index: int) : bool
+ + +

+
+
+
+ +

+ + + String.init count initializer + + +

+
+
+
+ Full Usage: + String.init count initializer +
+
+ Parameters: +
    + + + count + + : + int + - + The number of strings to initialize. + +
    + + + initializer + + : + int -> string + - + The function to take an index and produce a string to + be concatenated with the others. + +
    +
+
+ + Returns: + string + + The constructed string. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of strings to initialize. +

+
+
+ + initializer + + : + int -> string +
+
+

+ The function to take an index and produce a string to + be concatenated with the others. +

+
+
+
+
+ + Returns: + + string +
+
+

+ The constructed string. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when count is negative. +
+
+ Example +
+

+ Enumerate digits ASCII codes +

 String.init 10 (fun i -> int '0' + i |> sprintf "%d ")
+
+
module String + +from Microsoft.FSharp.Core
+
val init: count: int -> initializer: (int -> string) -> string
+
val i: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val sprintf: format: Printf.StringFormat<'T> -> 'T
+ + + The sample evaluates to: "48 49 50 51 52 53 54 55 56 57 " +

+
+
+
+ +

+ + + String.iter action str + + +

+
+
+
+ Full Usage: + String.iter action str +
+
+ Parameters: +
    + + + action + + : + char -> unit + - + The function to be applied to each character of the string. + +
    + + + str + + : + string + - + The input string. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the function action to each character in the string. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + char -> unit +
+
+

+ The function to be applied to each character of the string. +

+
+
+ + str + + : + string +
+
+

+ The input string. +

+
+
+
+ Example +
+

+ Printing the ASCII code for each character in the string +

 let input = "Hello"
+ input |> String.iter (fun c -> printfn "%c %d" c (int c))
+
+
val input: string
+
module String + +from Microsoft.FSharp.Core
+
val iter: action: (char -> unit) -> str: string -> unit
+
val c: char
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + The sample evaluates as unit, but prints: +
 H 72
+ e 101
+ l 108
+ l 108
+ o 111
+
+ + +

+
+
+
+ +

+ + + String.iteri action str + + +

+
+
+
+ Full Usage: + String.iteri action str +
+
+ Parameters: +
    + + + action + + : + int -> char -> unit + - + The function to apply to each character and index of the string. + +
    + + + str + + : + string + - + The input string. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Applies the function action to the index of each character in the string and the + character itself. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + int -> char -> unit +
+
+

+ The function to apply to each character and index of the string. +

+
+
+ + str + + : + string +
+
+

+ The input string. +

+
+
+
+ Example +
+

+ Numbering the characters and printing the associated ASCII code + for each character in the input string +

 let input = "Hello"
+ input |> String.iteri (fun i c -> printfn "%d. %c %d" (i + 1) c (int c))
+
+
val input: string
+
module String + +from Microsoft.FSharp.Core
+
val iteri: action: (int -> char -> unit) -> str: string -> unit
+
val i: int
+
val c: char
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + The sample evaluates as unit, but prints: +
 1. H 72
+ 2. e 101
+ 3. l 108
+ 4. l 108
+ 5. o 111
+
+ + +

+
+
+
+ +

+ + + String.length str + + +

+
+
+
+ Full Usage: + String.length str +
+
+ Parameters: +
    + + + str + + : + string + - + The input string. + +
    +
+
+ + Returns: + int + + The number of characters in the string. +
+
+
+
+
+
+ +
+
+

+ Returns the length of the string. +

+
+
+ + + + + +
+
+
+
+
+ + str + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + int +
+
+

+ The number of characters in the string. +

+
+
+
+ Example +
+

+ Getting the length of different strings +

 String.length null   // evaluates 0
+ String.length ""     // evaluates 0
+ String.length "123"  // evaluates 3
+
+
module String + +from Microsoft.FSharp.Core
+
val length: str: string -> int
+ + +

+
+
+
+ +

+ + + String.map mapping str + + +

+
+
+
+ Full Usage: + String.map mapping str +
+
+ Parameters: +
    + + + mapping + + : + char -> char + - + The function to apply to the characters of the string. + +
    + + + str + + : + string + - + The input string. + +
    +
+
+ + Returns: + string + + The resulting string. +
+
+
+
+
+
+ +
+
+

+ Builds a new string whose characters are the results of applying the function mapping + to each of the characters of the input string. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + char -> char +
+
+

+ The function to apply to the characters of the string. +

+
+
+ + str + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + string +
+
+

+ The resulting string. +

+
+
+
+ Example +
+

+ Changing case to upper for all characters in the input string +

 open System
+
+ let input = "Hello there!"
+
+ input |> String.map Char.ToUpper  // evaluates "HELLO THERE!"
+
+
namespace System
+
val input: string
+
Multiple items
type String = + interface IEnumerable<char> + interface IEnumerable + interface ICloneable + interface IComparable + interface IComparable<string> + interface IConvertible + interface IEquatable<string> + interface IParsable<string> + interface ISpanParsable<string> + new: value: nativeptr<char> -> unit + 8 overloads + ...
<summary>Represents text as a sequence of UTF-16 code units.</summary>

--------------------
String(value: nativeptr<char>) : String
String(value: char array) : String
String(value: ReadOnlySpan<char>) : String
String(value: nativeptr<sbyte>) : String
String(c: char, count: int) : String
String(value: nativeptr<char>, startIndex: int, length: int) : String
String(value: char array, startIndex: int, length: int) : String
String(value: nativeptr<sbyte>, startIndex: int, length: int) : String
String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: Text.Encoding) : String
+
val map: mapping: (char -> char) -> str: string -> string
+
[<Struct>] +type Char = + member CompareTo: value: char -> int + 1 overload + member Equals: obj: char -> bool + 1 overload + member GetHashCode: unit -> int + member GetTypeCode: unit -> TypeCode + member ToString: unit -> string + 2 overloads + static member ConvertFromUtf32: utf32: int -> string + static member ConvertToUtf32: highSurrogate: char * lowSurrogate: char -> int + 1 overload + static member GetNumericValue: c: char -> float + 1 overload + static member GetUnicodeCategory: c: char -> UnicodeCategory + 1 overload + static member IsAscii: c: char -> bool + ...
<summary>Represents a character as a UTF-16 code unit.</summary>
+
Char.ToUpper(c: char) : char
Char.ToUpper(c: char, culture: Globalization.CultureInfo) : char
+ + +

+
+
+
+ +

+ + + String.mapi mapping str + + +

+
+
+
+ Full Usage: + String.mapi mapping str +
+
+ Parameters: +
    + + + mapping + + : + int -> char -> char + - + The function to apply to each character and index of the string. + +
    + + + str + + : + string + - + The input string. + +
    +
+
+ + Returns: + string + + The resulting string. +
+
+
+
+
+
+ +
+
+

+ Builds a new string whose characters are the results of applying the function mapping + to each character and index of the input string. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + int -> char -> char +
+
+

+ The function to apply to each character and index of the string. +

+
+
+ + str + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + string +
+
+

+ The resulting string. +

+
+
+
+ Example +
+

+

 input |> String.mapi (fun i c -> (i, c))
+
+
module String + +from Microsoft.FSharp.Core
+
val mapi: mapping: (int -> char -> char) -> str: string -> string
+
val i: int
+
val c: char
+ + + Evaluates to [ (0, 'O'); (1, 'K'); (2, '!') ]. + +

+
+
+
+ +

+ + + String.replicate count str + + +

+
+
+
+ Full Usage: + String.replicate count str +
+
+ Parameters: +
    + + + count + + : + int + - + The number of copies of the input string will be copied. + +
    + + + str + + : + string + - + The input string. + +
    +
+
+ + Returns: + string + + The concatenated string. +
+
+
+
+
+
+ +
+
+

+ Returns a string by concatenating count instances of str. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of copies of the input string will be copied. +

+
+
+ + str + + : + string +
+
+

+ The input string. +

+
+
+
+
+ + Returns: + + string +
+
+

+ The concatenated string. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when count is negative. +
+
+ Example +
+

+

 "Do it!" |> String.replicate 3
+
+
module String + +from Microsoft.FSharp.Core
+
val replicate: count: int -> str: string -> string
+ + + Evaluates to "Do it!Do it!Do it!". + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-structattribute.html b/reference/fsharp-core-structattribute.html new file mode 100644 index 000000000..3da4cebad --- /dev/null +++ b/reference/fsharp-core-structattribute.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + StructAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ StructAttribute Type +

+ +
+
+
+

+ Adding this attribute to a type causes it to be represented using a CLI struct. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + StructAttribute() + + +

+
+
+
+ Full Usage: + StructAttribute() +
+
+ + Returns: + StructAttribute + + StructAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + StructAttribute +
+
+

+ StructAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-structuralcomparisonattribute.html b/reference/fsharp-core-structuralcomparisonattribute.html new file mode 100644 index 000000000..9db933c8b --- /dev/null +++ b/reference/fsharp-core-structuralcomparisonattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + StructuralComparisonAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ StructuralComparisonAttribute Type +

+ +
+
+
+

+ Adding this attribute to a record, union, exception, or struct type confirms the + automatic generation of implementations for 'System.IComparable' for the type. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + StructuralComparisonAttribute() + + +

+
+
+
+ Full Usage: + StructuralComparisonAttribute() +
+
+ + Returns: + StructuralComparisonAttribute + + StructuralComparisonAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + StructuralComparisonAttribute +
+
+

+ StructuralComparisonAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-structuralequalityattribute.html b/reference/fsharp-core-structuralequalityattribute.html new file mode 100644 index 000000000..6a19d0dc8 --- /dev/null +++ b/reference/fsharp-core-structuralequalityattribute.html @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + StructuralEqualityAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ StructuralEqualityAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + StructuralEqualityAttribute() + + +

+
+
+
+ Full Usage: + StructuralEqualityAttribute() +
+
+ + Returns: + StructuralEqualityAttribute + + StructuralEqualityAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + StructuralEqualityAttribute +
+
+

+ StructuralEqualityAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-structuredformatdisplayattribute.html b/reference/fsharp-core-structuredformatdisplayattribute.html new file mode 100644 index 000000000..da3aeceda --- /dev/null +++ b/reference/fsharp-core-structuredformatdisplayattribute.html @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + StructuredFormatDisplayAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ StructuredFormatDisplayAttribute Type +

+ +
+
+
+

+ 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# valid values are of the form PreText {PropertyName1} PostText {PropertyName2} ... {PropertyNameX} PostText. + The property names indicate properties to evaluate and to display instead of the object itself. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + StructuredFormatDisplayAttribute(value) + + +

+
+
+
+ Full Usage: + StructuredFormatDisplayAttribute(value) +
+
+ Parameters: +
    + + + value + + : + string + - + Indicates the text to display when using the '%A' printf formatting. + +
    +
+
+ + Returns: + StructuredFormatDisplayAttribute + + StructuredFormatDisplayAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + string +
+
+

+ Indicates the text to display when using the '%A' printf formatting. +

+
+
+
+
+ + Returns: + + StructuredFormatDisplayAttribute +
+
+

+ StructuredFormatDisplayAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
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.
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-tailcallattribute.html b/reference/fsharp-core-tailcallattribute.html new file mode 100644 index 000000000..e3d290e92 --- /dev/null +++ b/reference/fsharp-core-tailcallattribute.html @@ -0,0 +1,375 @@ + + + + + + + + + + + + + + + + + + TailCallAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ TailCallAttribute Type +

+ +
+
+
+

+ Indicates a function that should be called in a tail recursive way inside its recursive scope. + A warning is emitted if the function is analyzed as not tail recursive after the optimization phase. +

+
+
+
+ Example +
+

+

 let mul x y = x * y
+ [<TailCall>]
+ let rec fact n acc =
+     if n = 0
+     then acc
+     else (fact (n - 1) (mul n acc)) + 23 // warning because of the addition after the call to fact
+
+
val mul: x: int -> y: int -> int
+
val x: int
+
val y: int
+
Multiple items
type TailCallAttribute = + inherit Attribute + new: unit -> TailCallAttribute

--------------------
new: unit -> TailCallAttribute
+
val fact: n: int -> acc: int -> int
+
val n: int
+
val acc: int
+ + +

+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + TailCallAttribute() + + +

+
+
+
+ Full Usage: + TailCallAttribute() +
+
+ + Returns: + TailCallAttribute + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + TailCallAttribute +
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-uint-1.html b/reference/fsharp-core-uint-1.html new file mode 100644 index 000000000..aabdef054 --- /dev/null +++ b/reference/fsharp-core-uint-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + uint<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ uint<'Measure> Type +

+ +
+
+
+

+ The type of 32-bit unsigned 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 + UInt32. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-uint.html b/reference/fsharp-core-uint.html new file mode 100644 index 000000000..36c1290a0 --- /dev/null +++ b/reference/fsharp-core-uint.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + uint (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ uint Type +

+ +
+
+
+

+ An abbreviation for the CLI type UInt32. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-uint16-1.html b/reference/fsharp-core-uint16-1.html new file mode 100644 index 000000000..e9d1fc83a --- /dev/null +++ b/reference/fsharp-core-uint16-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + uint16<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ uint16<'Measure> Type +

+ +
+
+
+

+ The type of 16-bit unsigned 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 + UInt16. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-uint16.html b/reference/fsharp-core-uint16.html new file mode 100644 index 000000000..d0e84094a --- /dev/null +++ b/reference/fsharp-core-uint16.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + uint16 (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ uint16 Type +

+ +
+
+
+

+ An abbreviation for the CLI type UInt16. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-uint32-1.html b/reference/fsharp-core-uint32-1.html new file mode 100644 index 000000000..2afca91ec --- /dev/null +++ b/reference/fsharp-core-uint32-1.html @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + uint32<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ uint32<'Measure> Type +

+ +
+
+
+

+ The type of 32-bit unsigned 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 + UInt32. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-uint32.html b/reference/fsharp-core-uint32.html new file mode 100644 index 000000000..f6ac45e48 --- /dev/null +++ b/reference/fsharp-core-uint32.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + uint32 (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ uint32 Type +

+ +
+
+
+

+ An abbreviation for the CLI type UInt32. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-uint64-1.html b/reference/fsharp-core-uint64-1.html new file mode 100644 index 000000000..c1f0a3a23 --- /dev/null +++ b/reference/fsharp-core-uint64-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + uint64<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ uint64<'Measure> Type +

+ +
+
+
+

+ The type of 64-bit unsigned 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 + UInt64. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-uint64.html b/reference/fsharp-core-uint64.html new file mode 100644 index 000000000..b8b270609 --- /dev/null +++ b/reference/fsharp-core-uint64.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + uint64 (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ uint64 Type +

+ +
+
+
+

+ An abbreviation for the CLI type UInt64. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-uint8-1.html b/reference/fsharp-core-uint8-1.html new file mode 100644 index 000000000..7592281fa --- /dev/null +++ b/reference/fsharp-core-uint8-1.html @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + uint8<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ uint8<'Measure> Type +

+ +
+
+
+

+ The type of 8-bit unsigned 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 + Byte. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-uint8.html b/reference/fsharp-core-uint8.html new file mode 100644 index 000000000..12b258ad7 --- /dev/null +++ b/reference/fsharp-core-uint8.html @@ -0,0 +1,342 @@ + + + + + + + + + + + + + + + + + + uint8 (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ uint8 Type +

+ +
+
+
+

+ An abbreviation for the CLI type Byte. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-unativeint-1.html b/reference/fsharp-core-unativeint-1.html new file mode 100644 index 000000000..24472cb09 --- /dev/null +++ b/reference/fsharp-core-unativeint-1.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + unativeint<'Measure> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ unativeint<'Measure> Type +

+ +
+
+
+

+ The type of machine-sized unsigned 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 + UIntPtr. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-unit-0.html b/reference/fsharp-core-unit-0.html new file mode 100644 index 000000000..fcb75785c --- /dev/null +++ b/reference/fsharp-core-unit-0.html @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + unit (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ unit Type +

+ +
+
+
+

+ The type 'unit', which has only one value "()". This value is special and + always uses the representation 'null'. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-unverifiableattribute.html b/reference/fsharp-core-unverifiableattribute.html new file mode 100644 index 000000000..d8a3c6593 --- /dev/null +++ b/reference/fsharp-core-unverifiableattribute.html @@ -0,0 +1,374 @@ + + + + + + + + + + + + + + + + + + UnverifiableAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ UnverifiableAttribute Type +

+ +
+
+
+

+ 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. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + UnverifiableAttribute() + + +

+
+
+
+ Full Usage: + UnverifiableAttribute() +
+
+ + Returns: + UnverifiableAttribute + + UnverifiableAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + UnverifiableAttribute +
+
+

+ UnverifiableAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-valueoption.html b/reference/fsharp-core-valueoption.html new file mode 100644 index 000000000..feda03806 --- /dev/null +++ b/reference/fsharp-core-valueoption.html @@ -0,0 +1,4296 @@ + + + + + + + + + + + + + + + + + + ValueOption (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ValueOption Module +

+ +
+
+
+

+ Contains operations for working with value options. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + ValueOption.bind binder voption + + +

+
+
+
+ Full Usage: + ValueOption.bind binder voption +
+
+ Parameters: +
    + + + binder + + : + 'T -> 'U voption + - + A function that takes the value of type T from a value option and transforms it into + a value option containing a value of type U. + +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + 'U voption + + An option of the output type of the binder. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ bind f inp evaluates to match inp with ValueNone -> ValueNone | ValueSome x -> f x +

+
+
+ + + + + +
+
+
+
+
+ + binder + + : + 'T -> 'U voption +
+
+

+ A function that takes the value of type T from a value option and transforms it into + a value option containing a value of type U. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'U voption +
+
+

+ An option of the output type of the binder. +

+
+
+
+ Example +
+

+

 let tryParse input =
+     match System.Int32.TryParse (input: string) with
+     | true, v -> ValueSome v
+     | false, _ -> ValueNone
+ ValueNone |> ValueOption.bind tryParse // evaluates to ValueNone
+ ValueSome "42" |> ValueOption.bind tryParse // evaluates to ValueSome 42
+ ValueSome "Forty-two" |> ValueOption.bind tryParse // evaluates to ValueNone
+
+
val tryParse: input: string -> int voption
+
val input: string
+
namespace System
+
[<Struct>] +type Int32 = + member CompareTo: value: int -> int + 1 overload + member Equals: obj: int -> bool + 1 overload + member GetHashCode: unit -> int + member GetTypeCode: unit -> TypeCode + member ToString: unit -> string + 3 overloads + member TryFormat: utf8Destination: Span<byte> * bytesWritten: byref<int> * ?format: ReadOnlySpan<char> * ?provider: IFormatProvider -> bool + 1 overload + static member Abs: value: int -> int + static member BigMul: left: int * right: int -> int64 + static member Clamp: value: int * min: int * max: int -> int + static member CopySign: value: int * sign: int -> int + ...
<summary>Represents a 32-bit signed integer.</summary>
+
System.Int32.TryParse(s: string, result: byref<int>) : bool
System.Int32.TryParse(s: System.ReadOnlySpan<char>, result: byref<int>) : bool
System.Int32.TryParse(utf8Text: System.ReadOnlySpan<byte>, result: byref<int>) : bool
System.Int32.TryParse(s: string, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(s: System.ReadOnlySpan<char>, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(utf8Text: System.ReadOnlySpan<byte>, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(s: string, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(s: System.ReadOnlySpan<char>, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: byref<int>) : bool
System.Int32.TryParse(utf8Text: System.ReadOnlySpan<byte>, style: System.Globalization.NumberStyles, provider: System.IFormatProvider, result: byref<int>) : bool
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
val v: int
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val bind: binder: ('T -> 'U voption) -> voption: 'T voption -> 'U voption
+ + +

+
+
+
+ +

+ + + ValueOption.contains value voption + + +

+
+
+
+ Full Usage: + ValueOption.contains value voption +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value to test for equality. + +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + bool + + True if the option is ValueSome and contains a value equal to value, otherwise false. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Evaluates to true if voption is ValueSome and its value is equal to value. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value to test for equality. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the option is ValueSome and contains a value equal to value, otherwise false. +

+
+
+
+ Example +
+

+

 (99, ValueNone) ||> ValueOption.contains // evaluates to false
+ (99, ValueSome 99) ||> ValueOption.contains // evaluates to true
+ (99, ValueSome 100) ||> ValueOption.contains // evaluates to false
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val contains: value: 'T -> voption: 'T voption -> bool (requires equality)
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.count voption + + +

+
+
+
+ Full Usage: + ValueOption.count voption +
+
+ Parameters: +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + int + + A zero if the option is ValueNone, a one otherwise. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ count inp evaluates to match inp with ValueNone -> 0 | ValueSome _ -> 1. +

+
+
+ + + + + +
+
+
+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + int +
+
+

+ A zero if the option is ValueNone, a one otherwise. +

+
+
+
+ Example +
+

+

 ValueNone |> ValueOption.count // evaluates to 0
+ ValueSome 99 |> ValueOption.count // evaluates to 1
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val count: voption: 'T voption -> int
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.defaultValue value voption + + +

+
+
+
+ Full Usage: + ValueOption.defaultValue value voption +
+
+ Parameters: +
    + + + value + + : + 'T + - + The specified default value. + +
    + + + voption + + : + 'T voption + - + The input voption. + +
    +
+
+ + Returns: + 'T + + The voption if the voption is ValueSome, else the default value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets the value of the value option if the option is ValueSome, otherwise returns the specified default value. +

+
+
+ + + + + +
+
+
+

+ Identical to the built-in defaultArg operator, except with the arguments swapped. +

+
+
+ + value + + : + 'T +
+
+

+ The specified default value. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input voption. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The voption if the voption is ValueSome, else the default value. +

+
+
+
+ Example +
+

+

 (99, ValueNone) ||> ValueOption.defaultValue // evaluates to 99
+ (99, ValueSome 42) ||> ValueOption.defaultValue // evaluates to 42
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val defaultValue: value: 'T -> voption: 'T voption -> 'T
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.defaultWith defThunk voption + + +

+
+
+
+ Full Usage: + ValueOption.defaultWith defThunk voption +
+
+ Parameters: +
    + + + defThunk + + : + unit -> 'T + - + A thunk that provides a default value when evaluated. + +
    + + + voption + + : + 'T voption + - + The input voption. + +
    +
+
+ + Returns: + 'T + + The voption if the voption is ValueSome, else the result of evaluating defThunk. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets the value of the voption if the voption is ValueSome, otherwise evaluates defThunk and returns the result. +

+
+
+ + + + + +
+
+
+

+ defThunk is not evaluated unless voption is ValueNone. +

+
+
+ + defThunk + + : + unit -> 'T +
+
+

+ A thunk that provides a default value when evaluated. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input voption. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The voption if the voption is ValueSome, else the result of evaluating defThunk. +

+
+
+
+ Example +
+

+

 ValueNone |> ValueOption.defaultWith (fun () -> 99) // evaluates to 99
+ ValueSome 42 |> ValueOption.defaultWith (fun () -> 99) // evaluates to 42
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val defaultWith: defThunk: (unit -> 'T) -> voption: 'T voption -> 'T
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.exists predicate voption + + +

+
+
+
+ Full Usage: + ValueOption.exists predicate voption +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to a boolean when given a value from the option type. + +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + bool + + False if the option is ValueNone, otherwise it returns the result of applying the predicate + to the option value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ exists p inp evaluates to match inp with ValueNone -> false | ValueSome x -> p x. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to a boolean when given a value from the option type. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ False if the option is ValueNone, otherwise it returns the result of applying the predicate + to the option value. +

+
+
+
+ Example +
+

+

 ValueNone |> ValueOption.exists (fun x -> x >= 5) // evaluates to false
+ ValueSome 42 |> ValueOption.exists (fun x -> x >= 5) // evaluates to true
+ ValueSome 4 |> ValueOption.exists (fun x -> x >= 5) // evaluates to false
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val exists: predicate: ('T -> bool) -> voption: 'T voption -> bool
+
val x: int
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.filter predicate voption + + +

+
+
+
+ Full Usage: + ValueOption.filter predicate voption +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates whether the value contained in the value option should remain, or be filtered out. + +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + 'T voption + + The input if the predicate evaluates to true; otherwise, ValueNone. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ filter f inp evaluates to match inp with ValueNone -> ValueNone | ValueSome x -> if f x then ValueSome x else ValueNone. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates whether the value contained in the value option should remain, or be filtered out. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'T voption +
+
+

+ The input if the predicate evaluates to true; otherwise, ValueNone. +

+
+
+
+ Example +
+

+

 ValueNone |> ValueOption.filter (fun x -> x >= 5) // evaluates to ValueNone
+ ValueSome 42 |> ValueOption.filter (fun x -> x >= 5) // evaluates to ValueSome 42
+ ValueSome 4 |> ValueOption.filter (fun x -> x >= 5) // evaluates to ValueNone
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val filter: predicate: ('T -> bool) -> voption: 'T voption -> 'T voption
+
val x: int
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.flatten voption + + +

+
+
+
+ Full Usage: + ValueOption.flatten voption +
+
+ Parameters: +
    + + + voption + + : + 'T voption voption + - + The input value option. + +
    +
+
+ + Returns: + 'T voption + + The input value if the value is Some; otherwise, ValueNone. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ flatten inp evaluates to match inp with ValueNone -> ValueNone | ValueSome x -> x +

+
+
+ + + + + +
+
+
+

+ flatten is equivalent to bind id. +

+
+
+ + voption + + : + 'T voption voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'T voption +
+
+

+ The input value if the value is Some; otherwise, ValueNone. +

+
+
+
+ Example +
+

+

 (ValueNone: int ValueOption ValueOption) |> ValueOption.flatten // evaluates to ValueNone
+ (ValueSome ((ValueNone: int ValueOption))) |> ValueOption.flatten // evaluates to ValueNone
+ (ValueSome (ValueSome 42)) |> ValueOption.flatten // evaluates to ValueSome 42
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val flatten: voption: 'T voption voption -> 'T voption
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.fold folder state voption + + +

+
+
+
+ Full Usage: + ValueOption.fold folder state voption +
+
+ Parameters: +
    + + + folder + + : + 'State -> 'T -> 'State + - + A function to update the state data when given a value from a value option. + +
    + + + state + + : + 'State + - + The initial state. + +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + 'State + + The original state if the option is ValueNone, otherwise it returns the updated state with the folder + and the voption value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'State +
+
+
+
+
+ +
+
+

+ fold f s inp evaluates to match inp with ValueNone -> s | ValueSome x -> f s x. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'State -> 'T -> 'State +
+
+

+ A function to update the state data when given a value from a value option. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The original state if the option is ValueNone, otherwise it returns the updated state with the folder + and the voption value. +

+
+
+
+ Example +
+

+

 (0, ValueNone) ||> ValueOption.fold (fun accum x -> accum + x * 2) // evaluates to 0
+ (0, ValueSome 1) ||> ValueOption.fold (fun accum x -> accum + x * 2) // evaluates to 2
+ (10, ValueSome 1) ||> ValueOption.fold (fun accum x -> accum + x * 2) // evaluates to 12
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val fold<'T,'State> : folder: ('State -> 'T -> 'State) -> state: 'State -> voption: 'T voption -> 'State
+
val accum: int
+
val x: int
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.foldBack folder voption state + + +

+
+
+
+ Full Usage: + ValueOption.foldBack folder voption state +
+
+ Parameters: +
    + + + folder + + : + 'T -> 'State -> 'State + - + A function to update the state data when given a value from a value option. + +
    + + + voption + + : + 'T voption + - + The input value option. + +
    + + + state + + : + 'State + - + The initial state. + +
    +
+
+ + Returns: + 'State + + The original state if the option is ValueNone, otherwise it returns the updated state with the folder + and the voption value. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'State +
+
+
+
+
+ +
+
+

+ fold f inp s evaluates to match inp with ValueNone -> s | ValueSome x -> f x s. +

+
+
+ + + + + +
+
+
+
+
+ + folder + + : + 'T -> 'State -> 'State +
+
+

+ A function to update the state data when given a value from a value option. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+ + state + + : + 'State +
+
+

+ The initial state. +

+
+
+
+
+ + Returns: + + 'State +
+
+

+ The original state if the option is ValueNone, otherwise it returns the updated state with the folder + and the voption value. +

+
+
+
+ Example +
+

+

 (ValueNone, 0) ||> ValueOption.foldBack (fun x accum -> accum + x * 2) // evaluates to 0
+ (ValueSome 1, 0) ||> ValueOption.foldBack (fun x accum -> accum + x * 2) // evaluates to 2
+ (ValueSome 1, 10) ||> ValueOption.foldBack (fun x accum -> accum + x * 2) // evaluates to 12
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val foldBack: folder: ('T -> 'State -> 'State) -> voption: 'T voption -> state: 'State -> 'State
+
val x: int
+
val accum: int
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.forall predicate voption + + +

+
+
+
+ Full Usage: + ValueOption.forall predicate voption +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + - + A function that evaluates to a boolean when given a value from the value option type. + +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + bool + + True if the option is None, otherwise it returns the result of applying the predicate + to the option value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ forall p inp evaluates to match inp with ValueNone -> true | ValueSome x -> p x. +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+

+ A function that evaluates to a boolean when given a value from the value option type. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the option is None, otherwise it returns the result of applying the predicate + to the option value. +

+
+
+
+ Example +
+

+

 ValueNone |> ValueOption.forall (fun x -> x >= 5) // evaluates to true
+ ValueSome 42 |> ValueOption.forall (fun x -> x >= 5) // evaluates to true
+ ValueSome 4 |> ValueOption.forall (fun x -> x >= 5) // evaluates to false
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val forall: predicate: ('T -> bool) -> voption: 'T voption -> bool
+
val x: int
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.get voption + + +

+
+
+
+ Full Usage: + ValueOption.get voption +
+
+ Parameters: +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + 'T + + The value within the option. +
+
+
+
+
+
+ +
+
+

+ Gets the value associated with the option. +

+
+
+ + + + + +
+
+
+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value within the option. +

+
+
+
+ Example +
+

+

 ValueSome 42 |> ValueOption.get // evaluates to 42
+ (ValueNone: int ValueOption) |> ValueOption.get // throws exception!
+
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val get: voption: 'T voption -> 'T
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + ValueOption.isNone voption + + +

+
+
+
+ Full Usage: + ValueOption.isNone voption +
+
+ Parameters: +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + bool + + True if the voption is ValueNone. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns true if the value option is ValueNone. +

+
+
+ + + + + +
+
+
+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the voption is ValueNone. +

+
+
+
+ Example +
+

+

 ValueNone |> ValueOption.isNone // evaluates to true
+ ValueSome 42 |> ValueOption.isNone // evaluates to false
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val isNone: voption: 'T voption -> bool
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.isSome voption + + +

+
+
+
+ Full Usage: + ValueOption.isSome voption +
+
+ Parameters: +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + bool + + True if the value option is not ValueNone. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns true if the value option is not ValueNone. +

+
+
+ + + + + +
+
+
+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the value option is not ValueNone. +

+
+
+
+ Example +
+

+

 ValueNone |> ValueOption.isSome // evaluates to false
+ ValueSome 42 |> ValueOption.isSome // evaluates to true
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val isSome: voption: 'T voption -> bool
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.iter action voption + + +

+
+
+
+ Full Usage: + ValueOption.iter action voption +
+
+ Parameters: +
    + + + action + + : + 'T -> unit + - + A function to apply to the voption value. + +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ iter f inp executes match inp with ValueNone -> () | ValueSome x -> f x. +

+
+
+ + + + + +
+
+
+
+
+ + action + + : + 'T -> unit +
+
+

+ A function to apply to the voption value. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+ Example +
+

+

 ValueNone |> ValueOption.iter (printfn "%s") // does nothing
+ ValueSome "Hello world" |> ValueOption.iter (printfn "%s") // prints "Hello world"
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val iter: action: ('T -> unit) -> voption: 'T voption -> unit
+
val printfn: format: Printf.TextWriterFormat<'T> -> 'T
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.map mapping voption + + +

+
+
+
+ Full Usage: + ValueOption.map mapping voption +
+
+ Parameters: +
    + + + mapping + + : + 'T -> 'U + - + A function to apply to the voption value. + +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + 'U voption + + A value option of the input value after applying the mapping function, or ValueNone if the input is ValueNone. +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'U +
+
+
+
+
+ +
+
+

+ map f inp evaluates to match inp with ValueNone -> ValueNone | ValueSome x -> ValueSome (f x). +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T -> 'U +
+
+

+ A function to apply to the voption value. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'U voption +
+
+

+ A value option of the input value after applying the mapping function, or ValueNone if the input is ValueNone. +

+
+
+
+ Example +
+

+

 ValueNone |> ValueOption.map (fun x -> x * 2) // evaluates to ValueNone
+ ValueSome 42 |> ValueOption.map (fun x -> x * 2) // evaluates to ValueSome 84
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val map: mapping: ('T -> 'U) -> voption: 'T voption -> 'U voption
+
val x: int
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.map2 mapping voption1 voption2 + + +

+
+
+
+ Full Usage: + ValueOption.map2 mapping voption1 voption2 +
+
+ Parameters: +
    + + + mapping + + : + 'T1 -> 'T2 -> 'U + - + A function to apply to the voption values. + +
    + + + voption1 + + : + 'T1 voption + - + The first value option. + +
    + + + voption2 + + : + 'T2 voption + - + The second value option. + +
    +
+
+ + Returns: + 'U voption + + A value option of the input values after applying the mapping function, or ValueNone if either input is ValueNone. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'U +
+
+
+
+
+ +
+
+

+ map f voption1 voption2 evaluates to match voption1, voption2 with ValueSome x, ValueSome y -> ValueSome (f x y) | _ -> ValueNone. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T1 -> 'T2 -> 'U +
+
+

+ A function to apply to the voption values. +

+
+
+ + voption1 + + : + 'T1 voption +
+
+

+ The first value option. +

+
+
+ + voption2 + + : + 'T2 voption +
+
+

+ The second value option. +

+
+
+
+
+ + Returns: + + 'U voption +
+
+

+ A value option of the input values after applying the mapping function, or ValueNone if either input is ValueNone. +

+
+
+
+ Example +
+

+

 (ValueNone, ValueNone) ||> ValueOption.map2 (fun x y -> x + y) // evaluates to ValueNone
+ (ValueSome 5, ValueNone) ||> ValueOption.map2 (fun x y -> x + y) // evaluates to ValueNone
+ (ValueNone, ValueSome 10) ||> ValueOption.map2 (fun x y -> x + y) // evaluates to ValueNone
+ (ValueSome 5, ValueSome 10) ||> ValueOption.map2 (fun x y -> x + y) // evaluates to ValueSome 15
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val map2: mapping: ('T1 -> 'T2 -> 'U) -> voption1: 'T1 voption -> voption2: 'T2 voption -> 'U voption
+
val x: int
+
val y: int
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.map3 mapping voption1 voption2 voption3 + + +

+
+
+
+ Full Usage: + ValueOption.map3 mapping voption1 voption2 voption3 +
+
+ Parameters: +
    + + + mapping + + : + 'T1 -> 'T2 -> 'T3 -> 'U + - + A function to apply to the value option values. + +
    + + + voption1 + + : + 'T1 voption + - + The first value option. + +
    + + + voption2 + + : + 'T2 voption + - + The second value option. + +
    + + + voption3 + + : + 'T3 voption + - + The third value option. + +
    +
+
+ + Returns: + 'U voption + + A value option of the input values after applying the mapping function, or ValueNone if any input is ValueNone. +
+ Modifiers: + inline +
+ Type parameters: + 'T1, 'T2, 'T3, 'U +
+
+
+
+
+ +
+
+

+ map f voption1 voption2 voption3 evaluates to match voption1, voption2, voption3 with ValueSome x, ValueSome y, ValueSome z -> ValueSome (f x y z) | _ -> ValueNone. +

+
+
+ + + + + +
+
+
+
+
+ + mapping + + : + 'T1 -> 'T2 -> 'T3 -> 'U +
+
+

+ A function to apply to the value option values. +

+
+
+ + voption1 + + : + 'T1 voption +
+
+

+ The first value option. +

+
+
+ + voption2 + + : + 'T2 voption +
+
+

+ The second value option. +

+
+
+ + voption3 + + : + 'T3 voption +
+
+

+ The third value option. +

+
+
+
+
+ + Returns: + + 'U voption +
+
+

+ A value option of the input values after applying the mapping function, or ValueNone if any input is ValueNone. +

+
+
+
+ Example +
+

+

 (ValueNone, ValueNone, ValueNone) |||> ValueOption.map3 (fun x y z -> x + y + z) // evaluates to ValueNone
+ (ValueSome 100, ValueNone, ValueNone) |||> ValueOption.map3 (fun x y z -> x + y + z) // evaluates to ValueNone
+ (ValueNone, ValueSome 100, ValueNone) |||> ValueOption.map3 (fun x y z -> x + y + z) // evaluates to ValueNone
+ (ValueNone, ValueNone, ValueSome 100) |||> ValueOption.map3 (fun x y z -> x + y + z) // evaluates to ValueNone
+ (ValueSome 5, ValueSome 100, ValueSome 10) |||> ValueOption.map3 (fun x y z -> x + y + z) // evaluates to ValueSome 115
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val map3: mapping: ('T1 -> 'T2 -> 'T3 -> 'U) -> voption1: 'T1 voption -> voption2: 'T2 voption -> voption3: 'T3 voption -> 'U voption
+
val x: int
+
val y: int
+
val z: int
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.ofNullable value + + +

+
+
+
+ Full Usage: + ValueOption.ofNullable value +
+
+ Parameters: +
    + + + value + + : + Nullable<'T> + - + The input nullable value. + +
    +
+
+ + Returns: + 'T voption + + The result value option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert a Nullable value to a value option. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<'T> +
+
+

+ The input nullable value. +

+
+
+
+
+ + Returns: + + 'T voption +
+
+

+ The result value option. +

+
+
+
+ Example +
+

+

 System.Nullable<int>() |> ValueOption.ofNullable // evaluates to ValueNone
+ System.Nullable(42) |> ValueOption.ofNullable // evaluates to ValueSome 42
+
+
namespace System
+
Multiple items
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
System.Nullable ()
System.Nullable(value: 'T) : System.Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val ofNullable: value: System.Nullable<'T> -> 'T voption (requires default constructor and value type and 'T :> System.ValueType)
+ + +

+
+
+
+ +

+ + + ValueOption.ofObj value + + +

+
+
+
+ Full Usage: + ValueOption.ofObj value +
+
+ Parameters: +
    + + + value + + : + 'T + - + The input value. + +
    +
+
+ + Returns: + 'T voption + + The result value option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert a potentially null value to a value option. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + 'T voption +
+
+

+ The result value option. +

+
+
+
+ Example +
+

+

 (null: string) |> ValueOption.ofObj // evaluates to ValueNone
+ "not a null string" |> ValueOption.ofObj // evaluates to (ValueSome "not a null string")
+
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val ofObj: value: 'T -> 'T voption (requires 'T: null)
+ + +

+
+
+
+ +

+ + + ValueOption.ofOption option + + +

+
+
+
+ Full Usage: + ValueOption.ofOption option +
+
+ Parameters: +
    + + + option + + : + 'T option + - + The input option. + +
    +
+
+ + Returns: + 'T voption + + The resulting value option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert an option to a value option. +

+
+
+ + + + + +
+
+
+
+
+ + option + + : + 'T option +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T voption +
+
+

+ The resulting value option. +

+
+
+
+ Example +
+

+

 Some 42 |> ValueOption.ofOption // evaluates to ValueSome 42
+ (None: int option) |> ValueOption.ofOption // evaluates to ValueNone
+
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
union case Option.None: Option<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T option = Option<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.orElse ifNone voption + + +

+
+
+
+ Full Usage: + ValueOption.orElse ifNone voption +
+
+ Parameters: +
    + + + ifNone + + : + 'T voption + - + The value to use if voption is None. + +
    + + + voption + + : + 'T voption + - + The input option. + +
    +
+
+ + Returns: + 'T voption + + The option if the option is Some, else the alternate option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns voption if it is Some, otherwise returns ifNone. +

+
+
+ + + + + +
+
+
+
+
+ + ifNone + + : + 'T voption +
+
+

+ The value to use if voption is None. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input option. +

+
+
+
+
+ + Returns: + + 'T voption +
+
+

+ The option if the option is Some, else the alternate option. +

+
+
+
+ Example +
+

+

 ((ValueNone: int ValueOption), ValueNone) ||> ValueOption.orElse // evaluates to ValueNone
+ (ValueSome 99, ValueNone) ||> ValueOption.orElse // evaluates to ValueSome 99
+ (ValueNone, ValueSome 42) ||> ValueOption.orElse // evaluates to ValueSome 42
+ (ValueSome 99, ValueSome 42) ||> ValueOption.orElse // evaluates to ValueSome 42
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val orElse: ifNone: 'T voption -> voption: 'T voption -> 'T voption
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.orElseWith ifNoneThunk voption + + +

+
+
+
+ Full Usage: + ValueOption.orElseWith ifNoneThunk voption +
+
+ Parameters: +
    + + + ifNoneThunk + + : + unit -> 'T voption + - + A thunk that provides an alternate value option when evaluated. + +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + 'T voption + + The voption if the voption is ValueSome, else the result of evaluating ifNoneThunk. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns voption if it is Some, otherwise evaluates ifNoneThunk and returns the result. +

+
+
+ + + + + +
+
+
+

+ ifNoneThunk is not evaluated unless voption is ValueNone. +

+
+
+ + ifNoneThunk + + : + unit -> 'T voption +
+
+

+ A thunk that provides an alternate value option when evaluated. +

+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'T voption +
+
+

+ The voption if the voption is ValueSome, else the result of evaluating ifNoneThunk. +

+
+
+
+ Example +
+

+

 (ValueNone: int ValueOption) |> ValueOption.orElseWith (fun () -> ValueNone) // evaluates to ValueNone
+ ValueNone |> ValueOption.orElseWith (fun () -> (ValueSome 99)) // evaluates to ValueSome 99
+ ValueSome 42 |> ValueOption.orElseWith (fun () -> ValueNone) // evaluates to ValueSome 42
+ ValueSome 42 |> ValueOption.orElseWith (fun () -> (ValueSome 99)) // evaluates to ValueSome 42
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val orElseWith: ifNoneThunk: (unit -> 'T voption) -> voption: 'T voption -> 'T voption
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.toArray voption + + +

+
+
+
+ Full Usage: + ValueOption.toArray voption +
+
+ Parameters: +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + 'T array + + The result array. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert the value option to an array of length 0 or 1. +

+
+
+ + + + + +
+
+
+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'T array +
+
+

+ The result array. +

+
+
+
+ Example +
+

+

 (ValueNone: int ValueOption) |> ValueOption.toArray // evaluates to [||]
+ ValueSome 42 |> ValueOption.toArray // evaluates to [|42|]
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val toArray: voption: 'T voption -> 'T array
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.toList voption + + +

+
+
+
+ Full Usage: + ValueOption.toList voption +
+
+ Parameters: +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + 'T list + + The result list. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert the value option to a list of length 0 or 1. +

+
+
+ + + + + +
+
+
+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'T list +
+
+

+ The result list. +

+
+
+
+ Example +
+

+

 (ValueNone: int ValueOption) |> ValueOption.toList // evaluates to []
+ ValueSome 42 |> ValueOption.toList // evaluates to [42]
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val toList: voption: 'T voption -> 'T list
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.toNullable voption + + +

+
+
+
+ Full Usage: + ValueOption.toNullable voption +
+
+ Parameters: +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + Nullable<'T> + + The result value. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert the value option to a Nullable value. +

+
+
+ + + + + +
+
+
+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + Nullable<'T> +
+
+

+ The result value. +

+
+
+
+ Example +
+

+

 (ValueNone: int ValueOption) |> ValueOption.toNullable // evaluates to new System.Nullable<int>()
+ ValueSome 42 |> ValueOption.toNullable // evaluates to new System.Nullable(42)
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val toNullable: voption: 'T voption -> System.Nullable<'T> (requires default constructor and value type and 'T :> System.ValueType)
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.toObj value + + +

+
+
+
+ Full Usage: + ValueOption.toObj value +
+
+ Parameters: +
    + + + value + + : + 'T voption + - + The input value. + +
    +
+
+ + Returns: + 'T + + The result value, which is null if the input was ValueNone. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert an option to a potentially null value. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T voption +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The result value, which is null if the input was ValueNone. +

+
+
+
+ Example +
+

+

 (ValueNone: string ValueOption) |> ValueOption.toObj // evaluates to null
+ ValueSome "not a null string" |> ValueOption.toObj // evaluates to "not a null string"
+
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
val toObj: value: 'T voption -> 'T (requires 'T: null)
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+ + +

+
+
+
+ +

+ + + ValueOption.toOption voption + + +

+
+
+
+ Full Usage: + ValueOption.toOption voption +
+
+ Parameters: +
    + + + voption + + : + 'T voption + - + The input value option. + +
    +
+
+ + Returns: + 'T option + + The resulting option. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Convert a value option to an option. +

+
+
+ + + + + +
+
+
+
+
+ + voption + + : + 'T voption +
+
+

+ The input value option. +

+
+
+
+
+ + Returns: + + 'T option +
+
+

+ The resulting option. +

+
+
+
+ Example +
+

+

 ValueSome 42 |> ValueOption.toOption // evaluates to Some 42
+ (ValueNone: int voption) |> ValueOption.toOption // evaluates to None
+
+
union case ValueOption.ValueSome: 'T -> ValueOption<'T>
+
Multiple items
module ValueOption + +from Microsoft.FSharp.Core

--------------------
[<Struct>] +type ValueOption<'T> = + | ValueNone + | ValueSome of 'T + static member Some: value: 'T -> 'T voption + static member op_Implicit: value: 'T -> 'T voption + member IsNone: bool + member IsSome: bool + member Value: 'T + static member None: 'T voption
+
union case ValueOption.ValueNone: ValueOption<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T voption = ValueOption<'T>
+ + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-voidptr.html b/reference/fsharp-core-voidptr.html new file mode 100644 index 000000000..f67b98d67 --- /dev/null +++ b/reference/fsharp-core-voidptr.html @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + voidptr (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ voidptr Type +

+ +
+
+
+

+ Represents an untyped 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. +

+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-volatilefieldattribute.html b/reference/fsharp-core-volatilefieldattribute.html new file mode 100644 index 000000000..a77e8846b --- /dev/null +++ b/reference/fsharp-core-volatilefieldattribute.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + VolatileFieldAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ VolatileFieldAttribute Type +

+ +
+
+
+

+ Adding this attribute to an F# mutable binding causes the "volatile" + prefix to be used for all accesses to the field. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + VolatileFieldAttribute() + + +

+
+
+
+ Full Usage: + VolatileFieldAttribute() +
+
+ + Returns: + VolatileFieldAttribute + + VolatileFieldAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + VolatileFieldAttribute +
+
+

+ VolatileFieldAttribute +

+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-voption-1.html b/reference/fsharp-core-voption-1.html new file mode 100644 index 000000000..9b5054ffd --- /dev/null +++ b/reference/fsharp-core-voption-1.html @@ -0,0 +1,596 @@ + + + + + + + + + + + + + + + + + + 'T voption (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ 'T voption Type +

+ +
+
+
+

+ The type of optional values, represented as structs. +

+
+
+

+ Use the constructors ValueSome and ValueNone to create values of this type. + Use the values in the ValueOption module to manipulate values of this type, + or pattern match against the values directly. +

+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsNone + + +

+
+
+
+ Full Usage: + this.IsNone +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Return 'true' if the value option is a 'ValueNone' value. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsSome + + +

+
+
+
+ Full Usage: + this.IsSome +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Return 'true' if the value option is a 'ValueSome' value. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsValueNone + + +

+
+
+
+ Full Usage: + this.IsValueNone +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.IsValueSome + + +

+
+
+
+ Full Usage: + this.IsValueSome +
+
+ + Returns: + bool + +
+
+
+
+
+
+
+ + + +
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + this.Value + + +

+
+
+
+ Full Usage: + this.Value +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ Get the value of a 'ValueSome' option. An InvalidOperationException is raised if the option is 'ValueNone'. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core-warnonwithoutnullargumentattribute.html b/reference/fsharp-core-warnonwithoutnullargumentattribute.html new file mode 100644 index 000000000..5257c26bd --- /dev/null +++ b/reference/fsharp-core-warnonwithoutnullargumentattribute.html @@ -0,0 +1,479 @@ + + + + + + + + + + + + + + + + + + WarnOnWithoutNullArgumentAttribute (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ WarnOnWithoutNullArgumentAttribute Type +

+ +
+
+
+

+ When used in a compilation with null-checking enabled, indicates that a function is meant to be used only with potentially-nullable values and warns accordingly. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + WarnOnWithoutNullArgumentAttribute(warningMessage) + + +

+
+
+
+ Full Usage: + WarnOnWithoutNullArgumentAttribute(warningMessage) +
+
+ Parameters: +
    + + + warningMessage + + : + string + - + The message displayed when the annotated function is used with a value known to be without null + +
    +
+
+ + Returns: + WarnOnWithoutNullArgumentAttribute + + WarnOnWithoutNullArgumentAttribute +
+
+
+
+
+
+ +
+
+

+ Creates an instance of the attribute +

+
+
+ + + + + +
+
+
+
+
+ + warningMessage + + : + string +
+
+

+ The message displayed when the annotated function is used with a value known to be without null +

+
+
+
+
+ + Returns: + + WarnOnWithoutNullArgumentAttribute +
+
+

+ WarnOnWithoutNullArgumentAttribute +

+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.WarningMessage + + +

+
+
+
+ Full Usage: + this.WarningMessage +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ Warning message displayed when the annotated function is used with a value known to be without null +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-core.html b/reference/fsharp-core.html new file mode 100644 index 000000000..7f96484ab --- /dev/null +++ b/reference/fsharp-core.html @@ -0,0 +1,4550 @@ + + + + + + + + + + + + + + + + + + FSharp.Core | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Core Namespace +

+
+

+ Basic definitions of operators, options, functions, results, choices, attributes and plain text formatting. +

+
+

+ Contents +

+ +

+ + Basic Types + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type + + Description +
+

+ + + 'T array + + +

+
+
+
+

+ Single dimensional, zero-based arrays, written int array, string array etc. +

+
+
+ + + + + +
+
+
+

+ + + bool + + +

+
+
+
+

+ An abbreviation for the CLI type Boolean. +

+
+
+ + + + + +
+
+
+

+ + + byte + + +

+
+
+
+

+ An abbreviation for the CLI type Byte. +

+
+
+ + + + + +
+
+
+

+ + + char + + +

+
+
+
+

+ An abbreviation for the CLI type Char. +

+
+
+ + + + + +
+
+
+

+ + + double + + +

+
+
+
+

+ An abbreviation for the CLI type Double. Identical to float. +

+
+
+ + + + + +
+
+
+

+ + + float + + +

+
+
+
+

+ An abbreviation for the CLI type Double. +

+
+
+ + + + + +
+
+
+

+ + + float32 + + +

+
+
+
+

+ An abbreviation for the CLI type Single. +

+
+
+ + + + + +
+
+
+

+ + + int + + +

+
+
+
+

+ An abbreviation for the CLI type Int32. +

+
+
+ + + + + +
+
+
+

+ + + int16 + + +

+
+
+
+

+ An abbreviation for the CLI type Int16. +

+
+
+ + + + + +
+
+
+

+ + + int32 + + +

+
+
+
+

+ An abbreviation for the CLI type Int32. +

+
+
+ + + + + +
+
+
+

+ + + int64 + + +

+
+
+
+

+ An abbreviation for the CLI type Int64. +

+
+
+ + + + + +
+
+
+

+ + + int8 + + +

+
+
+
+

+ An abbreviation for the CLI type SByte. +

+
+
+ + + + + +
+
+
+

+ + + obj + + +

+
+
+
+

+ An abbreviation for the CLI type Object. +

+
+
+ + + + + +
+
+
+

+ + + objnull + + +

+
+
+
+

+ An abbreviation for the CLI type Object or null. + With the 'nullable reference types' feature, this is an alias to 'obj | null'. +

+
+
+ + + + + +
+
+
+

+ + + 'T ref + + +

+
+
+
+

+ The type of mutable references. Use the functions [!] and [:=] to get and + set values of this type. +

+
+
+ + + + + +
+
+
+

+ + + sbyte + + +

+
+
+
+

+ An abbreviation for the CLI type SByte. +

+
+
+ + + + + +
+
+
+

+ + + single + + +

+
+
+
+

+ An abbreviation for the CLI type Single. Identical to float32. +

+
+
+ + + + + +
+
+
+

+ + + uint + + +

+
+
+
+

+ An abbreviation for the CLI type UInt32. +

+
+
+ + + + + +
+
+
+

+ + + uint16 + + +

+
+
+
+

+ An abbreviation for the CLI type UInt16. +

+
+
+ + + + + +
+
+
+

+ + + uint32 + + +

+
+
+
+

+ An abbreviation for the CLI type UInt32. +

+
+
+ + + + + +
+
+
+

+ + + uint64 + + +

+
+
+
+

+ An abbreviation for the CLI type UInt64. +

+
+
+ + + + + +
+
+
+

+ + + uint8 + + +

+
+
+
+

+ An abbreviation for the CLI type Byte. +

+
+
+ + + + + +
+
+
+

+ + + unit + + +

+
+
+
+

+ The type 'unit', which has only one value "()". This value is special and + always uses the representation 'null'. +

+
+
+ + + + + +
+
+
+

+ + Basic Operators + +

+ + + + + + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + ExtraTopLevelOperators + + +

+
+
+
+

+ A set of extra operators and functions. This module is automatically opened in all F# code. +

+
+
+ + + + + +
+
+
+

+ + + Operators + + +

+
+
+
+

+ Basic F# Operators. This module is automatically opened in all F# code. +

+
+
+ + + + + +
+
+
+

+ + Options + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + Option + + +

+
+
+
+

+ Contains operations for working with options. +

+
+
+ + + + + +
+
+
+

+ + + 'T option + + +

+
+
+
+

+ The type of optional values. When used from other CLI languages the + empty option is the null value. +

+
+
+ + + + + +
+
+
+

+ + + ValueOption + + +

+
+
+
+

+ Contains operations for working with value options. +

+
+
+ + + + + +
+
+
+

+ + + 'T voption + + +

+
+
+
+

+ The type of optional values, represented as structs. +

+
+
+ + + + + +
+
+
+

+ + Strings and Text + +

+ + + + + + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + Printf + + +

+
+
+
+

+ Extensible printf-style formatting for numbers and other datatypes +

+
+
+ + + + + +
+
+
+

+ + + String + + +

+
+
+
+

+ 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. + +

+
+
+ + + + + +
+
+
+

+ + Choices and Results + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + Choice<'T1, 'T2> + + +

+
+
+
+

+ Helper types for active patterns with 2 choices. +

+
+
+ + + + + +
+
+
+

+ + + Choice<'T1, 'T2, 'T3> + + +

+
+
+
+

+ Helper types for active patterns with 3 choices. +

+
+
+ + + + + +
+
+
+

+ + + Choice<'T1, 'T2, 'T3, 'T4> + + +

+
+
+
+

+ Helper types for active patterns with 4 choices. +

+
+
+ + + + + +
+
+
+

+ + + Choice<'T1, 'T2, 'T3, 'T4, 'T5> + + +

+
+
+
+

+ Helper types for active patterns with 5 choices. +

+
+
+ + + + + +
+
+
+

+ + + Choice<'T1, 'T2, 'T3, 'T4, 'T5, 'T6> + + +

+
+
+
+

+ Helper types for active patterns with 6 choices. +

+
+
+ + + + + +
+
+
+

+ + + Choice<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7> + + +

+
+
+
+

+ Helper types for active patterns with 7 choices. +

+
+
+ + + + + +
+
+
+

+ + + Result + + +

+
+
+
+

+ Contains operations for working with values of type Result. +

+
+
+ + + + + +
+
+
+

+ + + Result<'T, 'TError> + + +

+
+
+
+

+ Helper type for error handling without exceptions. +

+
+
+ + + + + +
+
+
+

+ + Basic Types with Units of Measure + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type + + Description +
+

+ + + byte<'Measure> + + +

+
+
+
+

+ The type of 8-bit unsigned 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 + Byte. +

+
+
+ + + + + +
+
+
+

+ + + decimal<'Measure> + + +

+
+
+
+

+ 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 + Decimal. +

+
+
+ + + + + +
+
+
+

+ + + double<'Measure> + + +

+
+
+
+

+ The type of double-precision 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 + Double. +

+
+
+ + + + + +
+
+
+

+ + + float<'Measure> + + +

+
+
+
+

+ The type of double-precision 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 + Double. +

+
+
+ + + + + +
+
+
+

+ + + float32<'Measure> + + +

+
+
+
+

+ The type of single-precision 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 + Single. + +

+
+
+ + + + + +
+
+
+

+ + + int<'Measure> + + +

+
+
+
+

+ 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 + Int32. +

+
+
+ + + + + +
+
+
+

+ + + int16<'Measure> + + +

+
+
+
+

+ 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 + Int16. +

+
+
+ + + + + +
+
+
+

+ + + int32<'Measure> + + +

+
+
+
+

+ 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 + Int32. +

+
+
+ + + + + +
+
+
+

+ + + int64<'Measure> + + +

+
+
+
+

+ 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 + Int64. +

+
+
+ + + + + +
+
+
+

+ + + int8<'Measure> + + +

+
+
+
+

+ 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 + SByte. +

+
+
+ + + + + +
+
+
+

+ + + nativeint<'Measure> + + +

+
+
+
+

+ The type of machine-sized 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 + IntPtr. +

+
+
+ + + + + +
+
+
+

+ + + sbyte<'Measure> + + +

+
+
+
+

+ 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 + SByte. +

+
+
+ + + + + +
+
+
+

+ + + single<'Measure> + + +

+
+
+
+

+ The type of single-precision 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 + Single. +

+
+
+ + + + + +
+
+
+

+ + + uint<'Measure> + + +

+
+
+
+

+ The type of 32-bit unsigned 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 + UInt32. +

+
+
+ + + + + +
+
+
+

+ + + uint16<'Measure> + + +

+
+
+
+

+ The type of 16-bit unsigned 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 + UInt16. +

+
+
+ + + + + +
+
+
+

+ + + uint32<'Measure> + + +

+
+
+
+

+ The type of 32-bit unsigned 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 + UInt32. +

+
+
+ + + + + +
+
+
+

+ + + uint64<'Measure> + + +

+
+
+
+

+ The type of 64-bit unsigned 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 + UInt64. +

+
+
+ + + + + +
+
+
+

+ + + uint8<'Measure> + + +

+
+
+
+

+ The type of 8-bit unsigned 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 + Byte. +

+
+
+ + + + + +
+
+
+

+ + + unativeint<'Measure> + + +

+
+
+
+

+ The type of machine-sized unsigned 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 + UIntPtr. +

+
+
+ + + + + +
+
+
+

+ + ByRef and Pointer Types + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + byref<'T> + + +

+
+
+
+

+ Represents a managed pointer in F# code. For F# 4.5+ this is considered equivalent to byref<'T, ByRefKinds.InOut> +

+
+
+ + + + + +
+
+
+

+ + + byref<'T, 'Kind> + + +

+
+
+
+

+ Represents a managed pointer in F# code. +

+
+
+ + + + + +
+
+
+

+ + + ByRefKinds + + +

+
+
+
+

+ Represents the types of byrefs in F# 4.5+ +

+
+
+ + + + + +
+
+
+

+ + + ilsigptr<'T> + + +

+
+
+
+

+ Represents an Common IL (Intermediate Language) Signature Pointer. +

+
+
+ + + + + +
+
+
+

+ + + inref<'T> + + +

+
+
+
+

+ Represents a in-argument or readonly managed pointer in F# code. This type should only be used with F# 4.5+. +

+
+
+ + + + + +
+
+
+

+ + + nativeptr<'T> + + +

+
+
+
+

+ Represents an unmanaged pointer in F# code. +

+
+
+ + + + + +
+
+
+

+ + + outref<'T> + + +

+
+
+
+

+ Represents a out-argument managed pointer in F# code. This type should only be used with F# 4.5+. +

+
+
+ + + + + +
+
+
+

+ + + voidptr + + +

+
+
+
+

+ Represents an untyped unmanaged pointer in F# code. +

+
+
+ + + + + +
+
+
+

+ + Attributes + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type + + Description +
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + AutoOpenAttribute + + +

+
+
+
+

+ Indicates a construct is automatically opened when brought into scope through + an assembly reference or then opening of the containing namespace or module. +

+
+
+ + + + + +
+
+
+

+ + + AutoSerializableAttribute + + +

+
+
+
+

+ Adding this attribute to a type with value 'false' disables the behaviour where F# makes the + type Serializable by default. +

+
+
+ + + + + +
+
+
+

+ + + ClassAttribute + + +

+
+
+
+

+ Adding this attribute to a type causes it to be represented using a CLI class. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. + +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. + +

+
+
+ + + + + +
+
+
+

+ + + CompilationRepresentationFlags + + +

+
+
+
+

+ Indicates one or more adjustments to the compiled representation of an F# type or member. +

+
+
+ + + + + +
+
+
+

+ + + CompilationSourceNameAttribute + + +

+
+
+
+

+ This attribute is inserted automatically by the F# compiler to tag + methods which are given the 'CompiledName' attribute. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + CompilerMessageAttribute + + +

+
+
+
+

+ Indicates that a message should be emitted when F# source code uses this construct. +

+
+
+ + + + + +
+
+
+

+ + + CustomComparisonAttribute + + +

+
+
+
+

+ Adding this attribute to a type indicates it is a type with a user-defined implementation of comparison. +

+
+
+ + + + + +
+
+
+

+ + + CustomEqualityAttribute + + +

+
+
+
+

+ Adding this attribute to a type indicates it is a type with a user-defined implementation of equality. +

+
+
+ + + + + +
+
+
+

+ + + CustomOperationAttribute + + +

+
+
+
+

+ Indicates that a member on a computation builder type is a custom query operator, + and indicates the name of that operator. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. + +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + ExperimentalAttribute + + +

+
+
+
+

+ This attribute is used to tag values that are part of an experimental library + feature. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + InlineIfLambdaAttribute + + +

+
+
+
+

+ Adding this attribute to a parameter of function type indicates that, if the overall function or method is inlined and the parameter is + determined to be a known lambda, then this function should be statically inlined throughout the body of the function of method. +

+
+
+ + + + + +
+
+
+

+ + + InterfaceAttribute + + +

+
+
+
+

+ Adding this attribute to a type causes it to be represented using a CLI interface. +

+
+
+ + + + + +
+
+
+

+ + + LiteralAttribute + + +

+
+
+
+

+ Adding this attribute to a value causes it to be compiled as a CLI constant literal. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. + +

+
+
+ + + + + +
+
+
+

+ + + NoCompilerInliningAttribute + + +

+
+
+
+

+ Indicates a value or a function that must not be inlined by the F# compiler, + but may be inlined by the JIT compiler. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + OptionalArgumentAttribute + + +

+
+
+
+

+ This attribute is added automatically for all optional arguments. +

+
+
+ + + + + +
+
+
+

+ + + 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 +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + RequireQualifiedAccessAttribute + + +

+
+
+
+

+ This attribute is used to indicate that references to the elements of a module, record or union + type require explicit qualified access. +

+
+
+ + + + + +
+
+
+

+ + + RequiresExplicitTypeArgumentsAttribute + + +

+
+
+
+

+ Adding this attribute to a type, value or member requires that + uses of the construct must explicitly instantiate any generic type parameters. +

+
+
+ + + + + +
+
+
+

+ + + SealedAttribute + + +

+
+
+
+

+ Adding this attribute to class definition makes it sealed, which means it may not + be extended or implemented. +

+
+
+ + + + + +
+
+
+

+ + + SourceConstructFlags + + +

+
+
+
+

+ Indicates the relationship between a compiled entity in a CLI binary and an element in F# source code. +

+
+
+ + + + + +
+
+
+

+ + + StructAttribute + + +

+
+
+
+

+ Adding this attribute to a type causes it to be represented using a CLI struct. +

+
+
+ + + + + +
+
+
+

+ + + StructuralComparisonAttribute + + +

+
+
+
+

+ Adding this attribute to a record, union, exception, or struct type confirms the + automatic generation of implementations for 'System.IComparable' for the type. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + 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# valid values are of the form PreText {PropertyName1} PostText {PropertyName2} ... {PropertyNameX} PostText. + The property names indicate properties to evaluate and to display instead of the object itself. +

+
+
+ + + + + +
+
+
+

+ + + TailCallAttribute + + +

+
+
+
+

+ Indicates a function that should be called in a tail recursive way inside its recursive scope. + A warning is emitted if the function is analyzed as not tail recursive after the optimization phase. +

+
+
+ + + + + +
+
+
+

+ + + 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. +

+
+
+ + + + + +
+
+
+

+ + + VolatileFieldAttribute + + +

+
+
+
+

+ Adding this attribute to an F# mutable binding causes the "volatile" + prefix to be used for all accesses to the field. +

+
+
+ + + + + +
+
+
+

+ + + WarnOnWithoutNullArgumentAttribute + + +

+
+
+
+

+ When used in a compilation with null-checking enabled, indicates that a function is meant to be used only with potentially-nullable values and warns accordingly. +

+
+
+ + + + + +
+
+
+

+ + Language Primitives + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + Format<'Printer, 'State, 'Residue, 'Result> + + +

+
+
+
+

+ Type of a formatting expression. +

+
+
+ + + + + +
+
+
+

+ + + Format<'Printer, 'State, 'Residue, 'Result, 'Tuple> + + +

+
+
+
+

+ Type of a formatting expression. +

+
+
+ + + + + +
+
+
+

+ + + FSharpFunc<'T, 'U> + + +

+
+
+
+

+ The CLI type used to represent F# function values. This type is not + typically used directly, though may be used from other CLI languages. +

+
+
+ + + + + +
+
+
+

+ + + FSharpTypeFunc + + +

+
+
+
+

+ The CLI type used to represent F# first-class type function values. This type is for use + by compiled F# code. +

+
+
+ + + + + +
+
+
+

+ + + FuncConvert + + +

+
+
+
+

+ Helper functions for converting F# first class function values to and from CLI representations + of functions using delegates. +

+
+
+ + + + + +
+
+
+

+ + + LanguagePrimitives + + +

+
+
+
+

+ Language primitives associated with the F# language +

+
+
+ + + + + +
+
+
+

+ + + MatchFailureException + + +

+
+
+
+

+ Non-exhaustive match failures will raise the MatchFailureException exception +

+
+
+ + + + + +
+
+
+

+ + + NumericLiterals + + +

+
+
+
+

+ Provides a default implementations of F# numeric literal syntax for literals of the form 'dddI' +

+
+
+ + + + + +
+
+
+

+ + + OptimizedClosures + + +

+
+
+
+

+ An implementation module used to hold some private implementations of function + value invocation. +

+
+
+ + + + + +
+
+
+

+ + + PrintfFormat<'Printer, 'State, 'Residue, 'Result> + + +

+
+
+
+

+ Type of a formatting expression. +

+
+
+ + + + + +
+
+
+

+ + + PrintfFormat<'Printer, 'State, 'Residue, 'Result, 'Tuple> + + +

+
+
+
+

+ Type of a formatting expression. +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-ampere.html b/reference/fsharp-data-unitsystems-si-unitnames-ampere.html new file mode 100644 index 000000000..c5cb55c86 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-ampere.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + ampere (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ampere Type +

+ +
+
+
+

+ The SI unit of electric current +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-becquerel.html b/reference/fsharp-data-unitsystems-si-unitnames-becquerel.html new file mode 100644 index 000000000..889cc478a --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-becquerel.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + becquerel (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ becquerel Type +

+ +
+
+
+

+ The SI unit of activity referred to a radionuclide +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-candela.html b/reference/fsharp-data-unitsystems-si-unitnames-candela.html new file mode 100644 index 000000000..0b5f0e73c --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-candela.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + candela (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ candela Type +

+ +
+
+
+

+ The SI unit of luminous intensity +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-coulomb.html b/reference/fsharp-data-unitsystems-si-unitnames-coulomb.html new file mode 100644 index 000000000..e76db1011 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-coulomb.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + coulomb (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ coulomb Type +

+ +
+
+
+

+ The SI unit of electric charge, amount of electricity +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-farad.html b/reference/fsharp-data-unitsystems-si-unitnames-farad.html new file mode 100644 index 000000000..9f62b50f8 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-farad.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + farad (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ farad Type +

+ +
+
+
+

+ The SI unit of capacitance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-gray.html b/reference/fsharp-data-unitsystems-si-unitnames-gray.html new file mode 100644 index 000000000..257a9140c --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-gray.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + gray (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ gray Type +

+ +
+
+
+

+ The SI unit of absorbed dose +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-henry.html b/reference/fsharp-data-unitsystems-si-unitnames-henry.html new file mode 100644 index 000000000..5f71f90db --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-henry.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + henry (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ henry Type +

+ +
+
+
+

+ The SI unit of inductance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-hertz.html b/reference/fsharp-data-unitsystems-si-unitnames-hertz.html new file mode 100644 index 000000000..abaec860c --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-hertz.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + hertz (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ hertz Type +

+ +
+
+
+

+ The SI unit of frequency +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-joule.html b/reference/fsharp-data-unitsystems-si-unitnames-joule.html new file mode 100644 index 000000000..f68e0a34c --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-joule.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + joule (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ joule Type +

+ +
+
+
+

+ The SI unit of energy, work, amount of heat +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-katal.html b/reference/fsharp-data-unitsystems-si-unitnames-katal.html new file mode 100644 index 000000000..4fd5bbdaf --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-katal.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + katal (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ katal Type +

+ +
+
+
+

+ The SI unit of catalytic activity +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-kelvin.html b/reference/fsharp-data-unitsystems-si-unitnames-kelvin.html new file mode 100644 index 000000000..33df0f178 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-kelvin.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + kelvin (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ kelvin Type +

+ +
+
+
+

+ The SI unit of thermodynamic temperature +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-kilogram.html b/reference/fsharp-data-unitsystems-si-unitnames-kilogram.html new file mode 100644 index 000000000..8b0fb6d07 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-kilogram.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + kilogram (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ kilogram Type +

+ +
+
+
+

+ The SI unit of mass +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-lumen.html b/reference/fsharp-data-unitsystems-si-unitnames-lumen.html new file mode 100644 index 000000000..0e19f8b59 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-lumen.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + lumen (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ lumen Type +

+ +
+
+
+

+ The SI unit of luminous flux +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-lux.html b/reference/fsharp-data-unitsystems-si-unitnames-lux.html new file mode 100644 index 000000000..05efc214d --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-lux.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + lux (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ lux Type +

+ +
+
+
+

+ The SI unit of illuminance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-meter.html b/reference/fsharp-data-unitsystems-si-unitnames-meter.html new file mode 100644 index 000000000..2f672d562 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-meter.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + meter (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ meter Type +

+ +
+
+
+

+ The SI unit of length +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-metre.html b/reference/fsharp-data-unitsystems-si-unitnames-metre.html new file mode 100644 index 000000000..f386f8773 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-metre.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + metre (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ metre Type +

+ +
+
+
+

+ The SI unit of length +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-mole.html b/reference/fsharp-data-unitsystems-si-unitnames-mole.html new file mode 100644 index 000000000..9c788b441 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-mole.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + mole (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ mole Type +

+ +
+
+
+

+ The SI unit of amount of substance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-newton.html b/reference/fsharp-data-unitsystems-si-unitnames-newton.html new file mode 100644 index 000000000..96c52657f --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-newton.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + newton (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ newton Type +

+ +
+
+
+

+ The SI unit of force +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-ohm.html b/reference/fsharp-data-unitsystems-si-unitnames-ohm.html new file mode 100644 index 000000000..652595373 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-ohm.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + ohm (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ohm Type +

+ +
+
+
+

+ The SI unit of electric resistance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-pascal.html b/reference/fsharp-data-unitsystems-si-unitnames-pascal.html new file mode 100644 index 000000000..6eb86bcf5 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-pascal.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + pascal (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ pascal Type +

+ +
+
+
+

+ The SI unit of pressure, stress +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-second.html b/reference/fsharp-data-unitsystems-si-unitnames-second.html new file mode 100644 index 000000000..9dacda16c --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-second.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + second (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ second Type +

+ +
+
+
+

+ The SI unit of time +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-siemens.html b/reference/fsharp-data-unitsystems-si-unitnames-siemens.html new file mode 100644 index 000000000..592bd50e9 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-siemens.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + siemens (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ siemens Type +

+ +
+
+
+

+ The SI unit of electric conductance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-sievert.html b/reference/fsharp-data-unitsystems-si-unitnames-sievert.html new file mode 100644 index 000000000..70869c317 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-sievert.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + sievert (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ sievert Type +

+ +
+
+
+

+ The SI unit of does equivalent +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-tesla.html b/reference/fsharp-data-unitsystems-si-unitnames-tesla.html new file mode 100644 index 000000000..ebacbe6f3 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-tesla.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + tesla (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ tesla Type +

+ +
+
+
+

+ The SI unit of magnetic flux density +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-volt.html b/reference/fsharp-data-unitsystems-si-unitnames-volt.html new file mode 100644 index 000000000..39c88460f --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-volt.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + volt (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ volt Type +

+ +
+
+
+

+ The SI unit of electric potential difference, electromotive force +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-watt.html b/reference/fsharp-data-unitsystems-si-unitnames-watt.html new file mode 100644 index 000000000..30512d0fd --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-watt.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + watt (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ watt Type +

+ +
+
+
+

+ The SI unit of power, radiant flux +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames-weber.html b/reference/fsharp-data-unitsystems-si-unitnames-weber.html new file mode 100644 index 000000000..70694ae71 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames-weber.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + weber (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ weber Type +

+ +
+
+
+

+ The SI unit of magnetic flux +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitnames.html b/reference/fsharp-data-unitsystems-si-unitnames.html new file mode 100644 index 000000000..f9b2ef835 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitnames.html @@ -0,0 +1,1102 @@ + + + + + + + + + + + + + + + + + + FSharp.Data.UnitSystems.SI.UnitNames | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Data.UnitSystems.SI.UnitNames Namespace +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type + + Description +
+

+ + + ampere + + +

+
+
+
+

+ The SI unit of electric current +

+
+
+ + + + + +
+
+
+

+ + + becquerel + + +

+
+
+
+

+ The SI unit of activity referred to a radionuclide +

+
+
+ + + + + +
+
+
+

+ + + candela + + +

+
+
+
+

+ The SI unit of luminous intensity +

+
+
+ + + + + +
+
+
+

+ + + coulomb + + +

+
+
+
+

+ The SI unit of electric charge, amount of electricity +

+
+
+ + + + + +
+
+
+

+ + + farad + + +

+
+
+
+

+ The SI unit of capacitance +

+
+
+ + + + + +
+
+
+

+ + + gray + + +

+
+
+
+

+ The SI unit of absorbed dose +

+
+
+ + + + + +
+
+
+

+ + + henry + + +

+
+
+
+

+ The SI unit of inductance +

+
+
+ + + + + +
+
+
+

+ + + hertz + + +

+
+
+
+

+ The SI unit of frequency +

+
+
+ + + + + +
+
+
+

+ + + joule + + +

+
+
+
+

+ The SI unit of energy, work, amount of heat +

+
+
+ + + + + +
+
+
+

+ + + katal + + +

+
+
+
+

+ The SI unit of catalytic activity +

+
+
+ + + + + +
+
+
+

+ + + kelvin + + +

+
+
+
+

+ The SI unit of thermodynamic temperature +

+
+
+ + + + + +
+
+
+

+ + + kilogram + + +

+
+
+
+

+ The SI unit of mass +

+
+
+ + + + + +
+
+
+

+ + + lumen + + +

+
+
+
+

+ The SI unit of luminous flux +

+
+
+ + + + + +
+
+
+

+ + + lux + + +

+
+
+
+

+ The SI unit of illuminance +

+
+
+ + + + + +
+
+
+

+ + + meter + + +

+
+
+
+

+ The SI unit of length +

+
+
+ + + + + +
+
+
+

+ + + metre + + +

+
+
+
+

+ The SI unit of length +

+
+
+ + + + + +
+
+
+

+ + + mole + + +

+
+
+
+

+ The SI unit of amount of substance +

+
+
+ + + + + +
+
+
+

+ + + newton + + +

+
+
+
+

+ The SI unit of force +

+
+
+ + + + + +
+
+
+

+ + + ohm + + +

+
+
+
+

+ The SI unit of electric resistance +

+
+
+ + + + + +
+
+
+

+ + + pascal + + +

+
+
+
+

+ The SI unit of pressure, stress +

+
+
+ + + + + +
+
+
+

+ + + second + + +

+
+
+
+

+ The SI unit of time +

+
+
+ + + + + +
+
+
+

+ + + siemens + + +

+
+
+
+

+ The SI unit of electric conductance +

+
+
+ + + + + +
+
+
+

+ + + sievert + + +

+
+
+
+

+ The SI unit of does equivalent +

+
+
+ + + + + +
+
+
+

+ + + tesla + + +

+
+
+
+

+ The SI unit of magnetic flux density +

+
+
+ + + + + +
+
+
+

+ + + volt + + +

+
+
+
+

+ The SI unit of electric potential difference, electromotive force +

+
+
+ + + + + +
+
+
+

+ + + watt + + +

+
+
+
+

+ The SI unit of power, radiant flux +

+
+
+ + + + + +
+
+
+

+ + + weber + + +

+
+
+
+

+ The SI unit of magnetic flux +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-a.html b/reference/fsharp-data-unitsystems-si-unitsymbols-a.html new file mode 100644 index 000000000..1d4d9bd12 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-a.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + A (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ A Type +

+ +
+
+
+

+ A synonym for ampere, the SI unit of electric current +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-bq.html b/reference/fsharp-data-unitsystems-si-unitsymbols-bq.html new file mode 100644 index 000000000..ea309d332 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-bq.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + Bq (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Bq Type +

+ +
+
+
+

+ A synonym for becquerel, the SI unit of activity referred to a radionuclide +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-c.html b/reference/fsharp-data-unitsystems-si-unitsymbols-c.html new file mode 100644 index 000000000..c19934875 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-c.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + C (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ C Type +

+ +
+
+
+

+ A synonym for coulomb, the SI unit of electric charge, amount of electricity +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-cd.html b/reference/fsharp-data-unitsystems-si-unitsymbols-cd.html new file mode 100644 index 000000000..5ea5fa80e --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-cd.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + cd (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ cd Type +

+ +
+
+
+

+ A synonym for candela, the SI unit of luminous intensity +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-f.html b/reference/fsharp-data-unitsystems-si-unitsymbols-f.html new file mode 100644 index 000000000..2a9b892fc --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-f.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + F (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ F Type +

+ +
+
+
+

+ A synonym for farad, the SI unit of capacitance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-gy.html b/reference/fsharp-data-unitsystems-si-unitsymbols-gy.html new file mode 100644 index 000000000..0e744fd4d --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-gy.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + Gy (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Gy Type +

+ +
+
+
+

+ A synonym for gray, the SI unit of absorbed dose +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-h.html b/reference/fsharp-data-unitsystems-si-unitsymbols-h.html new file mode 100644 index 000000000..d0af2f3ab --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-h.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + H (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ H Type +

+ +
+
+
+

+ A synonym for henry, the SI unit of inductance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-hz.html b/reference/fsharp-data-unitsystems-si-unitsymbols-hz.html new file mode 100644 index 000000000..e79db623b --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-hz.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + Hz (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Hz Type +

+ +
+
+
+

+ A synonym for hertz, the SI unit of frequency +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-j.html b/reference/fsharp-data-unitsystems-si-unitsymbols-j.html new file mode 100644 index 000000000..48a578a45 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-j.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + J (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ J Type +

+ +
+
+
+

+ A synonym for joule, the SI unit of energy, work, amount of heat +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-k.html b/reference/fsharp-data-unitsystems-si-unitsymbols-k.html new file mode 100644 index 000000000..48eda6e71 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-k.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + K (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ K Type +

+ +
+
+
+

+ A synonym for kelvin, the SI unit of thermodynamic temperature +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-kat.html b/reference/fsharp-data-unitsystems-si-unitsymbols-kat.html new file mode 100644 index 000000000..e6b1e0389 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-kat.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + kat (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ kat Type +

+ +
+
+
+

+ A synonym for katal, the SI unit of catalytic activity +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-kg.html b/reference/fsharp-data-unitsystems-si-unitsymbols-kg.html new file mode 100644 index 000000000..f9c678ec7 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-kg.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + kg (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ kg Type +

+ +
+
+
+

+ A synonym for kilogram, the SI unit of mass +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-lm.html b/reference/fsharp-data-unitsystems-si-unitsymbols-lm.html new file mode 100644 index 000000000..b0f7f5f90 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-lm.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + lm (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ lm Type +

+ +
+
+
+

+ A synonym for lumen, the SI unit of luminous flux +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-lx.html b/reference/fsharp-data-unitsystems-si-unitsymbols-lx.html new file mode 100644 index 000000000..92ba5b86f --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-lx.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + lx (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ lx Type +

+ +
+
+
+

+ A synonym for lux, the SI unit of illuminance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-m.html b/reference/fsharp-data-unitsystems-si-unitsymbols-m.html new file mode 100644 index 000000000..ba2f93004 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-m.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + m (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ m Type +

+ +
+
+
+

+ A synonym for Metre, the SI unit of length +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-mol.html b/reference/fsharp-data-unitsystems-si-unitsymbols-mol.html new file mode 100644 index 000000000..0fd1dde75 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-mol.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + mol (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ mol Type +

+ +
+
+
+

+ A synonym for mole, the SI unit of amount of substance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-n.html b/reference/fsharp-data-unitsystems-si-unitsymbols-n.html new file mode 100644 index 000000000..03631e77a --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-n.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + N (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ N Type +

+ +
+
+
+

+ A synonym for newton, the SI unit of force +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-ohm.html b/reference/fsharp-data-unitsystems-si-unitsymbols-ohm.html new file mode 100644 index 000000000..0656453a1 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-ohm.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + ohm (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ohm Type +

+ +
+
+
+

+ A synonym for UnitNames.ohm, the SI unit of electric resistance. +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-pa.html b/reference/fsharp-data-unitsystems-si-unitsymbols-pa.html new file mode 100644 index 000000000..1b2de8a0d --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-pa.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + Pa (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Pa Type +

+ +
+
+
+

+ A synonym for pascal, the SI unit of pressure, stress +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-s-0.html b/reference/fsharp-data-unitsystems-si-unitsymbols-s-0.html new file mode 100644 index 000000000..19b8d9bea --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-s-0.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + S (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ S Type +

+ +
+
+
+

+ A synonym for siemens, the SI unit of electric conductance +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-s.html b/reference/fsharp-data-unitsystems-si-unitsymbols-s.html new file mode 100644 index 000000000..9a4d84dcc --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-s.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + s (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ s Type +

+ +
+
+
+

+ A synonym for second, the SI unit of time +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-sv.html b/reference/fsharp-data-unitsystems-si-unitsymbols-sv.html new file mode 100644 index 000000000..a0b42d876 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-sv.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + Sv (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Sv Type +

+ +
+
+
+

+ A synonym for sievert, the SI unit of does equivalent +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-t.html b/reference/fsharp-data-unitsystems-si-unitsymbols-t.html new file mode 100644 index 000000000..0ad3f239f --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-t.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + T (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ T Type +

+ +
+
+
+

+ A synonym for tesla, the SI unit of magnetic flux density +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-v.html b/reference/fsharp-data-unitsystems-si-unitsymbols-v.html new file mode 100644 index 000000000..16879eecd --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-v.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + V (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ V Type +

+ +
+
+
+

+ A synonym for volt, the SI unit of electric potential difference, electromotive force +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-w.html b/reference/fsharp-data-unitsystems-si-unitsymbols-w.html new file mode 100644 index 000000000..0aaabb724 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-w.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + W (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ W Type +

+ +
+
+
+

+ A synonym for watt, the SI unit of power, radiant flux +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols-wb.html b/reference/fsharp-data-unitsystems-si-unitsymbols-wb.html new file mode 100644 index 000000000..8fbb352b0 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols-wb.html @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + Wb (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Wb Type +

+ +
+
+
+

+ A synonym for weber, the SI unit of magnetic flux +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-data-unitsystems-si-unitsymbols.html b/reference/fsharp-data-unitsystems-si-unitsymbols.html new file mode 100644 index 000000000..1f39b4be4 --- /dev/null +++ b/reference/fsharp-data-unitsystems-si-unitsymbols.html @@ -0,0 +1,1071 @@ + + + + + + + + + + + + + + + + + + FSharp.Data.UnitSystems.SI.UnitSymbols | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Data.UnitSystems.SI.UnitSymbols Namespace +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type + + Description +
+

+ + + A + + +

+
+
+
+

+ A synonym for ampere, the SI unit of electric current +

+
+
+ + + + + +
+
+
+

+ + + Bq + + +

+
+
+
+

+ A synonym for becquerel, the SI unit of activity referred to a radionuclide +

+
+
+ + + + + +
+
+
+

+ + + C + + +

+
+
+
+

+ A synonym for coulomb, the SI unit of electric charge, amount of electricity +

+
+
+ + + + + +
+
+
+

+ + + cd + + +

+
+
+
+

+ A synonym for candela, the SI unit of luminous intensity +

+
+
+ + + + + +
+
+
+

+ + + F + + +

+
+
+
+

+ A synonym for farad, the SI unit of capacitance +

+
+
+ + + + + +
+
+
+

+ + + Gy + + +

+
+
+
+

+ A synonym for gray, the SI unit of absorbed dose +

+
+
+ + + + + +
+
+
+

+ + + H + + +

+
+
+
+

+ A synonym for henry, the SI unit of inductance +

+
+
+ + + + + +
+
+
+

+ + + Hz + + +

+
+
+
+

+ A synonym for hertz, the SI unit of frequency +

+
+
+ + + + + +
+
+
+

+ + + J + + +

+
+
+
+

+ A synonym for joule, the SI unit of energy, work, amount of heat +

+
+
+ + + + + +
+
+
+

+ + + K + + +

+
+
+
+

+ A synonym for kelvin, the SI unit of thermodynamic temperature +

+
+
+ + + + + +
+
+
+

+ + + kat + + +

+
+
+
+

+ A synonym for katal, the SI unit of catalytic activity +

+
+
+ + + + + +
+
+
+

+ + + kg + + +

+
+
+
+

+ A synonym for kilogram, the SI unit of mass +

+
+
+ + + + + +
+
+
+

+ + + lm + + +

+
+
+
+

+ A synonym for lumen, the SI unit of luminous flux +

+
+
+ + + + + +
+
+
+

+ + + lx + + +

+
+
+
+

+ A synonym for lux, the SI unit of illuminance +

+
+
+ + + + + +
+
+
+

+ + + m + + +

+
+
+
+

+ A synonym for Metre, the SI unit of length +

+
+
+ + + + + +
+
+
+

+ + + mol + + +

+
+
+
+

+ A synonym for mole, the SI unit of amount of substance +

+
+
+ + + + + +
+
+
+

+ + + N + + +

+
+
+
+

+ A synonym for newton, the SI unit of force +

+
+
+ + + + + +
+
+
+

+ + + ohm + + +

+
+
+
+

+ A synonym for UnitNames.ohm, the SI unit of electric resistance. +

+
+
+ + + + + +
+
+
+

+ + + Pa + + +

+
+
+
+

+ A synonym for pascal, the SI unit of pressure, stress +

+
+
+ + + + + +
+
+
+

+ + + S + + +

+
+
+
+

+ A synonym for siemens, the SI unit of electric conductance +

+
+
+ + + + + +
+
+
+

+ + + s + + +

+
+
+
+

+ A synonym for second, the SI unit of time +

+
+
+ + + + + +
+
+
+

+ + + Sv + + +

+
+
+
+

+ A synonym for sievert, the SI unit of does equivalent +

+
+
+ + + + + +
+
+
+

+ + + T + + +

+
+
+
+

+ A synonym for tesla, the SI unit of magnetic flux density +

+
+
+ + + + + +
+
+
+

+ + + V + + +

+
+
+
+

+ A synonym for volt, the SI unit of electric potential difference, electromotive force +

+
+
+ + + + + +
+
+
+

+ + + W + + +

+
+
+
+

+ A synonym for watt, the SI unit of power, radiant flux +

+
+
+ + + + + +
+
+
+

+ + + Wb + + +

+
+
+
+

+ A synonym for weber, the SI unit of magnetic flux +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq-nullablemodule.html b/reference/fsharp-linq-nullablemodule.html new file mode 100644 index 000000000..c8149872f --- /dev/null +++ b/reference/fsharp-linq-nullablemodule.html @@ -0,0 +1,3181 @@ + + + + + + + + + + + + + + + + + + Nullable (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Nullable Module +

+ +
+
+
+

+ Functions for converting nullable values +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + Nullable.byte value + + +

+
+
+
+ Full Usage: + Nullable.byte value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<byte> + + The converted byte +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<byte> +
+
+

+ The converted byte +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.byte (Nullable<int>())  // evaluates to Nullable<byte>()
+ Nullable.byte (Nullable<int>(3))  // evaluates to Nullable(3uy)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.char value + + +

+
+
+
+ Full Usage: + Nullable.char value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<char> + + The converted char. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<char> +
+
+

+ The converted char. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.char (Nullable<int>())  // evaluates to Nullable<char>()
+ Nullable.char (Nullable<int>(64))  // evaluates to Nullable<char>('@')
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.decimal value + + +

+
+
+
+ Full Usage: + Nullable.decimal value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<decimal> + + The converted decimal. +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<decimal> +
+
+

+ The converted decimal. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.decimal (Nullable<int>())  // evaluates to Nullable<decimal>()
+ Nullable.decimal (Nullable<int>(3))  // evaluates to Nullable<decimal>(3.0M)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.double value + + +

+
+
+
+ Full Usage: + Nullable.double value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<double> + + The converted float +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<double> +
+
+

+ The converted float +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.double (Nullable<int>())  // evaluates to Nullable<double>()
+ Nullable.double (Nullable<int>(3))  // evaluates to Nullable<double>(3.0)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.enum value + + +

+
+
+
+ Full Usage: + Nullable.enum value +
+
+ Parameters: +
    + + + value + + : + Nullable<int32> + - + The input value. + +
    +
+
+ + Returns: + Nullable<^U> + + The converted enum type. +
+ Modifiers: + inline +
+ Type parameters: + ^U +
+
+
+
+
+ +
+
+

+ Converts the argument to a particular enum type. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<int32> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<^U> +
+
+

+ The converted enum type. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.enum<DayOfWeek> (Nullable<int>())  // evaluates to Nullable<uint>()
+ Nullable.enum<DayOfWeek> (Nullable<int>(3))  // evaluates to Nullable<DayOfWeek>(Wednesday)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
[<Struct>] +type DayOfWeek = + | Sunday = 0 + | Monday = 1 + | Tuesday = 2 + | Wednesday = 3 + | Thursday = 4 + | Friday = 5 + | Saturday = 6
<summary>Specifies the day of the week.</summary>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.float value + + +

+
+
+
+ Full Usage: + Nullable.float value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<float> + + The converted float +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<float> +
+
+

+ The converted float +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.float (Nullable<int>())  // evaluates to Nullable<float>()
+ Nullable.float (Nullable<int>(3))  // evaluates to Nullable<float>(3.0)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.float32 value + + +

+
+
+
+ Full Usage: + Nullable.float32 value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<float32> + + The converted float32 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<float32> +
+
+

+ The converted float32 +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.float32 (Nullable<int>())  // evaluates to Nullable<float32>()
+ Nullable.float32 (Nullable<int>(3))  // evaluates to Nullable<float32>(3.0f)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.int value + + +

+
+
+
+ Full Usage: + Nullable.int value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<int> + + The converted int +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<int> +
+
+

+ The converted int +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.int (Nullable<int64>())  // evaluates to Nullable<int>()
+ Nullable.int (Nullable<int64>(3))  // evaluates to Nullable(3)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int64: value: 'T -> int64 (requires member op_Explicit)

--------------------
type int64 = Int64

--------------------
type int64<'Measure> = + int64
+ + +

+
+
+
+ +

+ + + Nullable.int16 value + + +

+
+
+
+ Full Usage: + Nullable.int16 value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<int16> + + The converted int16 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<int16> +
+
+

+ The converted int16 +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.int16 (Nullable<int>())  // evaluates to Nullable<int16>()
+ Nullable.int16 (Nullable<int>(3))  // evaluates to Nullable(3s)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.int32 value + + +

+
+
+
+ Full Usage: + Nullable.int32 value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<int32> + + The converted int32 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<int32> +
+
+

+ The converted int32 +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.int32 (Nullable<int64>())  // evaluates to Nullable<int32>()
+ Nullable.int32 (Nullable<int64>(3))  // evaluates to Nullable(3)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int64: value: 'T -> int64 (requires member op_Explicit)

--------------------
type int64 = Int64

--------------------
type int64<'Measure> = + int64
+ + +

+
+
+
+ +

+ + + Nullable.int64 value + + +

+
+
+
+ Full Usage: + Nullable.int64 value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<int64> + + The converted int64 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<int64> +
+
+

+ The converted int64 +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.int64 (Nullable<int>())  // evaluates to Nullable<int64>()
+ Nullable.int64 (Nullable<int>(3))  // evaluates to Nullable<int64>(3L)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.int8 value + + +

+
+
+
+ Full Usage: + Nullable.int8 value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<int8> + + The converted sbyte +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<int8> +
+
+

+ The converted sbyte +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.int8 (Nullable<int>())  // evaluates to Nullable<sbyte>()
+ Nullable.int8 (Nullable<int>(3))  // evaluates to Nullable(3y)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.nativeint value + + +

+
+
+
+ Full Usage: + Nullable.nativeint value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<nativeint> + + The converted nativeint +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<nativeint> +
+
+

+ The converted nativeint +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.nativeint (Nullable<int>())  // evaluates to Nullable<nativeint>()
+ Nullable.nativeint (Nullable<int>(3))  // evaluates to Nullable<nativeint>(3n)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.sbyte value + + +

+
+
+
+ Full Usage: + Nullable.sbyte value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<sbyte> + + The converted sbyte +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<sbyte> +
+
+

+ The converted sbyte +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.sbyte (Nullable<int>())  // evaluates to Nullable<sbyte>()
+ Nullable.sbyte (Nullable<int>(3))  // evaluates to Nullable(3y)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.single value + + +

+
+
+
+ Full Usage: + Nullable.single value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<single> + + The converted float32 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<single> +
+
+

+ The converted float32 +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.single (Nullable<int>())  // evaluates to Nullable<float32>()
+ Nullable.single (Nullable<int>(3))  // evaluates to Nullable<float32>(3.0f)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.uint value + + +

+
+
+
+ Full Usage: + Nullable.uint value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<uint> + + The converted unsigned integer +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ Converts the argument to an 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<uint> +
+
+

+ The converted unsigned integer +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.uint (Nullable<int>())  // evaluates to Nullable<uint>()
+ Nullable.uint (Nullable<int>(3))  // evaluates to Nullable(3u)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.uint16 value + + +

+
+
+
+ Full Usage: + Nullable.uint16 value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<uint16> + + The converted uint16 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<uint16> +
+
+

+ The converted uint16 +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.uint16 (Nullable<int>())  // evaluates to Nullable<uint16>()
+ Nullable.uint16 (Nullable<int>(3))  // evaluates to Nullable(3us)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.uint32 value + + +

+
+
+
+ Full Usage: + Nullable.uint32 value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<uint32> + + The converted uint32 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<uint32> +
+
+

+ The converted uint32 +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.uint32 (Nullable<int>())  // evaluates to Nullable<uint32>()
+ Nullable.uint32 (Nullable<int>(3))  // evaluates to Nullable(3u)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.uint64 value + + +

+
+
+
+ Full Usage: + Nullable.uint64 value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<uint64> + + The converted uint64 +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<uint64> +
+
+

+ The converted uint64 +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.uint64 (Nullable<int>())  // evaluates to Nullable<uint64>()
+ Nullable.uint64 (Nullable<int>(3))  // evaluates to Nullable<uint64>(3UL)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.uint8 value + + +

+
+
+
+ Full Usage: + Nullable.uint8 value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<uint8> + + The converted byte +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<uint8> +
+
+

+ The converted byte +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.uint8 (Nullable<int>())  // evaluates to Nullable<byte>()
+ Nullable.uint8 (Nullable<int>(3))  // evaluates to Nullable(3uy)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+ +

+ + + Nullable.unativeint value + + +

+
+
+
+ Full Usage: + Nullable.unativeint value +
+
+ Parameters: +
    + + + value + + : + Nullable<^T> + - + The input value. + +
    +
+
+ + Returns: + Nullable<unativeint> + + The converted unativeint +
+ Modifiers: + inline +
+ Type parameters: + ^T +
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + Nullable<^T> +
+
+

+ The input value. +

+
+
+
+
+ + Returns: + + Nullable<unativeint> +
+
+

+ The converted unativeint +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Linq.NullableOperators
+
+ Nullable.unativeint (Nullable<int>())  // evaluates to Nullable<unativeint>()
+ Nullable.unativeint (Nullable<int>(3))  // evaluates to Nullable<unativeint>(3un)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+
Multiple items
type Nullable = + static member Compare<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> int + static member Equals<'T (requires default constructor and value type and 'T :> ValueType)> : n1: Nullable<'T> * n2: Nullable<'T> -> bool + static member GetUnderlyingType: nullableType: Type -> Type + static member GetValueRefOrDefaultRef<'T (requires default constructor and value type and 'T :> ValueType)> : nullable: byref<Nullable<'T>> -> inref<'T>
<summary>Supports a value type that can be assigned <see langword="null" />. This class cannot be inherited.</summary>

--------------------
[<Struct>] +type Nullable<'T (requires default constructor and value type and 'T :> ValueType)> = + new: value: 'T -> unit + member Equals: other: obj -> bool + member GetHashCode: unit -> int + member GetValueOrDefault: unit -> 'T + 1 overload + member ToString: unit -> string + static member op_Explicit: value: Nullable<'T> -> 'T + static member op_Implicit: value: 'T -> Nullable<'T> + member HasValue: bool + member Value: 'T
<summary>Represents a value type that can be assigned <see langword="null" />.</summary>
<typeparam name="T">The underlying value type of the <see cref="T:System.Nullable`1" /> generic type.</typeparam>


--------------------
Nullable ()
Nullable(value: 'T) : Nullable<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq-nullableoperators.html b/reference/fsharp-linq-nullableoperators.html new file mode 100644 index 000000000..d8ddb08a6 --- /dev/null +++ b/reference/fsharp-linq-nullableoperators.html @@ -0,0 +1,4009 @@ + + + + + + + + + + + + + + + + + + NullableOperators (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ NullableOperators Module +

+ +
+
+
+

+ Operators for working with nullable values, primarily used on F# queries. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + arg0 *? arg1 + + +

+
+
+
+ Full Usage: + arg0 *? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + ^T1 + +
    + + + arg1 + + : + Nullable<^T2> + +
    +
+
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The multiplication operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + ^T1 +
+
+
+ + arg1 + + : + Nullable<^T2> +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?* arg1 + + +

+
+
+
+ Full Usage: + arg0 ?* arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<^T1> + +
    + + + arg1 + + : + ^T2 + +
    +
+
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The multiplication operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<^T1> +
+
+
+ + arg1 + + : + ^T2 +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 %? arg1 + + +

+
+
+
+ Full Usage: + arg0 %? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + ^T1 + +
    + + + arg1 + + : + Nullable<^T2> + +
    +
+
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The modulus operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + ^T1 +
+
+
+ + arg1 + + : + Nullable<^T2> +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 +? arg1 + + +

+
+
+
+ Full Usage: + arg0 +? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + ^T1 + +
    + + + arg1 + + : + Nullable<^T2> + +
    +
+
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The addition operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + ^T1 +
+
+
+ + arg1 + + : + Nullable<^T2> +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 -? arg1 + + +

+
+
+
+ Full Usage: + arg0 -? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + ^T1 + +
    + + + arg1 + + : + Nullable<^T2> + +
    +
+
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The subtraction operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + ^T1 +
+
+
+ + arg1 + + : + Nullable<^T2> +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 /? arg1 + + +

+
+
+
+ Full Usage: + arg0 /? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + ^T1 + +
    + + + arg1 + + : + Nullable<^T2> + +
    +
+
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The division operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + ^T1 +
+
+
+ + arg1 + + : + Nullable<^T2> +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 <=? arg1 + + +

+
+
+
+ Full Usage: + arg0 <=? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    + + + arg1 + + : + Nullable<'T> + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '<=' operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + 'T +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 <>? arg1 + + +

+
+
+
+ Full Usage: + arg0 <>? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    + + + arg1 + + : + Nullable<'T> + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '<>' operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + 'T +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 <? arg1 + + +

+
+
+
+ Full Usage: + arg0 <? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    + + + arg1 + + : + Nullable<'T> + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '<' operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + 'T +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 =? arg1 + + +

+
+
+
+ Full Usage: + arg0 =? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    + + + arg1 + + : + Nullable<'T> + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '=' operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + 'T +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 >=? arg1 + + +

+
+
+
+ Full Usage: + arg0 >=? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    + + + arg1 + + : + Nullable<'T> + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '>=' operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + 'T +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 >? arg1 + + +

+
+
+
+ Full Usage: + arg0 >? arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    + + + arg1 + + : + Nullable<'T> + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '>' operator where a nullable value appears on the right +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + 'T +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?% arg1 + + +

+
+
+
+ Full Usage: + arg0 ?% arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<^T1> + +
    + + + arg1 + + : + ^T2 + +
    +
+
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The modulus operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<^T1> +
+
+
+ + arg1 + + : + ^T2 +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?%? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?%? arg1 +
+
+ Parameters: + +
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The modulus operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<^T1> +
+
+
+ + arg1 + + : + Nullable<^T2> +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?*? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?*? arg1 +
+
+ Parameters: + +
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The multiplication operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<^T1> +
+
+
+ + arg1 + + : + Nullable<^T2> +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?+ arg1 + + +

+
+
+
+ Full Usage: + arg0 ?+ arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<^T1> + +
    + + + arg1 + + : + ^T2 + +
    +
+
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The addition operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<^T1> +
+
+
+ + arg1 + + : + ^T2 +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?+? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?+? arg1 +
+
+ Parameters: + +
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The addition operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<^T1> +
+
+
+ + arg1 + + : + Nullable<^T2> +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?- arg1 + + +

+
+
+
+ Full Usage: + arg0 ?- arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<^T1> + +
    + + + arg1 + + : + ^T2 + +
    +
+
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The subtraction operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<^T1> +
+
+
+ + arg1 + + : + ^T2 +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?-? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?-? arg1 +
+
+ Parameters: + +
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The subtraction operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<^T1> +
+
+
+ + arg1 + + : + Nullable<^T2> +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?/ arg1 + + +

+
+
+
+ Full Usage: + arg0 ?/ arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<^T1> + +
    + + + arg1 + + : + ^T2 + +
    +
+
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The division operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<^T1> +
+
+
+ + arg1 + + : + ^T2 +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?/? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?/? arg1 +
+
+ Parameters: + +
+ + Returns: + Nullable<^T3> + +
+ Modifiers: + inline +
+ Type parameters: + ^T1, ^T2, ^T3 +
+
+
+
+
+ +
+
+

+ The division operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<^T1> +
+
+
+ + arg1 + + : + Nullable<^T2> +
+
+
+
+
+ + Returns: + + Nullable<^T3> +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?< arg1 + + +

+
+
+
+ Full Usage: + arg0 ?< arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<'T> + +
    + + + arg1 + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '<' operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+

 open FSharp.Linq.NullableOperators
+
+ Nullable(3) ?< 4 // true
+ Nullable(4) ?< 4 // false
+ Nullable() ?< 4 // false
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+ + +

+
+
+
+ +

+ + + arg0 ?<= arg1 + + +

+
+
+
+ Full Usage: + arg0 ?<= arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<'T> + +
    + + + arg1 + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '<=' operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+

 open FSharp.Linq.NullableOperators
+
+ Nullable(3) ?<= 4 // true
+ Nullable(5) ?<= 4 // false
+ Nullable() ?<= 4 // false
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+ + +

+
+
+
+ +

+ + + arg0 ?<=? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?<=? arg1 +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '<=' operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?<> arg1 + + +

+
+
+
+ Full Usage: + arg0 ?<> arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<'T> + +
    + + + arg1 + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '<>' operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+

 open FSharp.Linq.NullableOperators
+
+ Nullable(3) ?<>= 4 // true
+ Nullable(4) ?<>= 4 // false
+ Nullable() ?<> 4 // true
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+ + +

+
+
+
+ +

+ + + arg0 ?<>? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?<>? arg1 +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '<>' operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?<? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?<? arg1 +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '<' operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?= arg1 + + +

+
+
+
+ Full Usage: + arg0 ?= arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<'T> + +
    + + + arg1 + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '=' operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+

 open FSharp.Linq.NullableOperators
+
+ Nullable(3) ?= 4 // false
+ Nullable(4) ?= 4 // true
+ Nullable() ?= 4 // false
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+ + +

+
+
+
+ +

+ + + arg0 ?=? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?=? arg1 +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '=' operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?> arg1 + + +

+
+
+
+ Full Usage: + arg0 ?> arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<'T> + +
    + + + arg1 + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '>' operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+

 open FSharp.Linq.NullableOperators
+
+ Nullable(3) ?> 4 // false
+ Nullable(5) ?> 4 // true
+ Nullable() ?> 4 // false
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+ + +

+
+
+
+ +

+ + + arg0 ?>= arg1 + + +

+
+
+
+ Full Usage: + arg0 ?>= arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Nullable<'T> + +
    + + + arg1 + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '>=' operator where a nullable value appears on the left +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+

 open FSharp.Linq.NullableOperators
+
+ Nullable(3) ?>= 4 // false
+ Nullable(4) ?>= 4 // true
+ Nullable() ?>= 4 // false
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Linq
+
module NullableOperators + +from Microsoft.FSharp.Linq
+ + +

+
+
+
+ +

+ + + arg0 ?>=? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?>=? arg1 +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '>=' operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+ +

+ + + arg0 ?>? arg1 + + +

+
+
+
+ Full Usage: + arg0 ?>? arg1 +
+
+ Parameters: + +
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ The '>' operator where a nullable value appears on both left and right sides +

+
+
+ + + + + +
+
+
+

+ This operator is primarily for use in F# queries +

+
+
+ + arg0 + + : + Nullable<'T> +
+
+
+ + arg1 + + : + Nullable<'T> +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+ See the other operators in this module for related examples. +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq-querybuilder.html b/reference/fsharp-linq-querybuilder.html new file mode 100644 index 000000000..b3f3727a5 --- /dev/null +++ b/reference/fsharp-linq-querybuilder.html @@ -0,0 +1,4433 @@ + + + + + + + + + + + + + + + + + + QueryBuilder (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ QueryBuilder Type +

+ +
+
+
+

+ The type used to support the F# query syntax. Use 'query { ... }' to use the query syntax. See + also F# Query Expressions in the F# Language Guide. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + QueryBuilder() + + +

+
+
+
+ Full Usage: + QueryBuilder() +
+
+ + Returns: + QueryBuilder + +
+
+
+
+
+
+ +
+
+

+ Create an instance of this builder. Use 'query { ... }' to use the query syntax. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + QueryBuilder +
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + all predicate + + +

+
+
+
+ Full Usage: + all predicate +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A query operator that determines whether all elements selected so far satisfies a condition. + +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + averageBy projection + + +

+
+
+
+ Full Usage: + averageBy projection +
+
+ Parameters: +
    + + + projection + + : + 'T -> ^Value + +
    +
+
+ + Returns: + ^Value + +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Q, ^Value +
+
+
+
+
+ +
+
+

+ A query operator that selects a value for each element selected so far and returns the average of these values. + +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> ^Value +
+
+
+
+
+ + Returns: + + ^Value +
+
+
+
+
+
+ +

+ + + averageByNullable projection + + +

+
+
+
+ Full Usage: + averageByNullable projection +
+
+ Parameters: +
    + + + projection + + : + 'T -> Nullable<^Value> + +
    +
+
+ + Returns: + Nullable<^Value> + +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Q, ^Value +
+
+
+
+
+ +
+
+

+ 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. + +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> Nullable<^Value> +
+
+
+
+
+ + Returns: + + Nullable<^Value> +
+
+
+
+
+
+ +

+ + + contains key + + +

+
+
+
+ Full Usage: + contains key +
+
+ Parameters: +
    + + + key + + : + 'T + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A query operator that determines whether the selected elements contains a specified element. + +

+
+
+ + + + + +
+
+
+
+
+ + key + + : + 'T +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + count + + +

+
+
+
+ Full Usage: + count +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ A query operator that returns the number of selected elements. + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+
+
+ +

+ + + distinct + + +

+
+
+
+ Full Usage: + distinct +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects distinct elements from the elements selected so far. + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + exactlyOne + + +

+
+
+
+ Full Usage: + exactlyOne +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects the single, specific element selected so far + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + exactlyOneOrDefault + + +

+
+
+
+ Full Usage: + exactlyOneOrDefault +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects the single, specific element of those selected so far, or a default value if that element is not found. + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + exists predicate + + +

+
+
+
+ Full Usage: + exists predicate +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + +
    +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ A query operator that determines whether any element selected so far satisfies a condition. + +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+
+
+ +

+ + + find predicate + + +

+
+
+
+ Full Usage: + find predicate +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects the first element selected so far that satisfies a specified condition. + +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + this.For + + +

+
+
+
+ Full Usage: + this.For +
+
+ Parameters: + +
+ + Returns: + QuerySource<'Result, 'Q> + +
+
+
+
+
+
+ +
+
+

+ + 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. + +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + QuerySource<'T, 'Q> +
+
+
+ + body + + : + 'T -> QuerySource<'Result, 'Q2> +
+
+
+
+
+ + Returns: + + QuerySource<'Result, 'Q> +
+
+
+
+
+
+ +

+ + + groupBy keySelector + + +

+
+
+
+ Full Usage: + groupBy keySelector +
+
+ Parameters: +
    + + + keySelector + + : + 'T -> 'Key + +
    +
+
+ + Returns: + QuerySource<IGrouping<'Key, 'T>, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that groups the elements selected so far according to a specified key selector. + +

+
+
+ + + + + +
+
+
+
+
+ + keySelector + + : + 'T -> 'Key +
+
+
+
+
+ + Returns: + + QuerySource<IGrouping<'Key, 'T>, 'Q> +
+
+
+
+
+
+ +

+ + + groupJoin innerSource outerKeySelector innerKeySelector resultSelector + + +

+
+
+
+ Full Usage: + groupJoin innerSource outerKeySelector innerKeySelector resultSelector +
+
+ Parameters: +
    + + + innerSource + + : + QuerySource<'Inner, 'Q> + +
    + + + outerKeySelector + + : + 'Outer -> 'Key + +
    + + + innerKeySelector + + : + 'Inner -> 'Key + +
    + + + resultSelector + + : + 'Outer -> 'Inner seq -> 'Result + +
    +
+
+ + Returns: + QuerySource<'Result, 'Q> + +
+
+
+
+
+
+ +
+
+

+ 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'. + +

+
+
+ + + + + +
+
+
+
+
+ + innerSource + + : + QuerySource<'Inner, 'Q> +
+
+
+ + outerKeySelector + + : + 'Outer -> 'Key +
+
+
+ + innerKeySelector + + : + 'Inner -> 'Key +
+
+
+ + resultSelector + + : + 'Outer -> 'Inner seq -> 'Result +
+
+
+
+
+ + Returns: + + QuerySource<'Result, 'Q> +
+
+
+
+
+
+ +

+ + + groupValBy resultSelector keySelector + + +

+
+
+
+ Full Usage: + groupValBy resultSelector keySelector +
+
+ Parameters: +
    + + + resultSelector + + : + 'T -> 'Value + +
    + + + keySelector + + : + 'T -> 'Key + +
    +
+
+ + Returns: + QuerySource<IGrouping<'Key, 'Value>, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects a value for each element selected so far and groups the elements by the given key. + +

+
+
+ + + + + +
+
+
+
+
+ + resultSelector + + : + 'T -> 'Value +
+
+
+ + keySelector + + : + 'T -> 'Key +
+
+
+
+
+ + Returns: + + QuerySource<IGrouping<'Key, 'Value>, 'Q> +
+
+
+
+
+
+ +

+ + + head + + +

+
+
+
+ Full Usage: + head +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects the first element from those selected so far. + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + headOrDefault + + +

+
+
+
+ Full Usage: + headOrDefault +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects the first element of those selected so far, or a default value if the sequence contains no elements. + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + join innerSource outerKeySelector innerKeySelector resultSelector + + +

+
+
+
+ Full Usage: + join innerSource outerKeySelector innerKeySelector resultSelector +
+
+ Parameters: +
    + + + innerSource + + : + QuerySource<'Inner, 'Q> + +
    + + + outerKeySelector + + : + 'Outer -> 'Key + +
    + + + innerKeySelector + + : + 'Inner -> 'Key + +
    + + + resultSelector + + : + 'Outer -> 'Inner -> 'Result + +
    +
+
+ + Returns: + QuerySource<'Result, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that correlates two sets of selected values based on matching keys. + Normal usage is 'join y in elements2 on (key1 = key2)'. + +

+
+
+ + + + + +
+
+
+
+
+ + innerSource + + : + QuerySource<'Inner, 'Q> +
+
+
+ + outerKeySelector + + : + 'Outer -> 'Key +
+
+
+ + innerKeySelector + + : + 'Inner -> 'Key +
+
+
+ + resultSelector + + : + 'Outer -> 'Inner -> 'Result +
+
+
+
+
+ + Returns: + + QuerySource<'Result, 'Q> +
+
+
+
+
+
+ +

+ + + last + + +

+
+
+
+ Full Usage: + last +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects the last element of those selected so far. + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + lastOrDefault + + +

+
+
+
+ Full Usage: + lastOrDefault +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects the last element of those selected so far, or a default value if no element is found. + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + leftOuterJoin innerSource outerKeySelector innerKeySelector resultSelector + + +

+
+
+
+ Full Usage: + leftOuterJoin innerSource outerKeySelector innerKeySelector resultSelector +
+
+ Parameters: +
    + + + innerSource + + : + QuerySource<'Inner, 'Q> + +
    + + + outerKeySelector + + : + 'Outer -> 'Key + +
    + + + innerKeySelector + + : + 'Inner -> 'Key + +
    + + + resultSelector + + : + 'Outer -> 'Inner seq -> 'Result + +
    +
+
+ + Returns: + QuerySource<'Result, 'Q> + +
+
+
+
+
+
+ +
+
+

+ 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'. + +

+
+
+ + + + + +
+
+
+
+
+ + innerSource + + : + QuerySource<'Inner, 'Q> +
+
+
+ + outerKeySelector + + : + 'Outer -> 'Key +
+
+
+ + innerKeySelector + + : + 'Inner -> 'Key +
+
+
+ + resultSelector + + : + 'Outer -> 'Inner seq -> 'Result +
+
+
+
+
+ + Returns: + + QuerySource<'Result, 'Q> +
+
+
+
+
+
+ +

+ + + maxBy valueSelector + + +

+
+
+
+ Full Usage: + maxBy valueSelector +
+
+ Parameters: +
    + + + valueSelector + + : + 'T -> 'Value + +
    +
+
+ + Returns: + 'Value + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects a value for each element selected so far and returns the maximum resulting value. + +

+
+
+ + + + + +
+
+
+
+
+ + valueSelector + + : + 'T -> 'Value +
+
+
+
+
+ + Returns: + + 'Value +
+
+
+
+
+
+ +

+ + + maxByNullable valueSelector + + +

+
+
+
+ Full Usage: + maxByNullable valueSelector +
+
+ Parameters: +
    + + + valueSelector + + : + 'T -> Nullable<'Value> + +
    +
+
+ + Returns: + Nullable<'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. + +

+
+
+ + + + + +
+
+
+
+
+ + valueSelector + + : + 'T -> Nullable<'Value> +
+
+
+
+
+ + Returns: + + Nullable<'Value> +
+
+
+
+
+
+ +

+ + + minBy valueSelector + + +

+
+
+
+ Full Usage: + minBy valueSelector +
+
+ Parameters: +
    + + + valueSelector + + : + 'T -> 'Value + +
    +
+
+ + Returns: + 'Value + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects a value for each element selected so far and returns the minimum resulting value. + +

+
+
+ + + + + +
+
+
+
+
+ + valueSelector + + : + 'T -> 'Value +
+
+
+
+
+ + Returns: + + 'Value +
+
+
+
+
+
+ +

+ + + minByNullable valueSelector + + +

+
+
+
+ Full Usage: + minByNullable valueSelector +
+
+ Parameters: +
    + + + valueSelector + + : + 'T -> Nullable<'Value> + +
    +
+
+ + Returns: + Nullable<'Value> + +
+
+
+
+
+
+ +
+
+

+ 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. + +

+
+
+ + + + + +
+
+
+
+
+ + valueSelector + + : + 'T -> Nullable<'Value> +
+
+
+
+
+ + Returns: + + Nullable<'Value> +
+
+
+
+
+
+ +

+ + + nth index + + +

+
+
+
+ Full Usage: + nth index +
+
+ Parameters: +
    + + + index + + : + int + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects the element at a specified index amongst those selected so far. + +

+
+
+ + + + + +
+
+
+
+
+ + index + + : + int +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + this.Quote + + +

+
+
+
+ Full Usage: + this.Quote +
+
+ Parameters: +
    + + + arg0 + + : + Expr<'T> + +
    +
+
+ + Returns: + Expr<'T> + +
+
+
+
+
+
+ +
+
+

+ + A method used to support the F# query syntax. Indicates that the query should be passed as a quotation to the Run method. + +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + Expr<'T> +
+
+
+
+
+ + Returns: + + Expr<'T> +
+
+
+
+
+
+ +

+ + + this.Run + + +

+
+
+
+ Full Usage: + this.Run +
+
+ Parameters: + +
+ + Returns: + IQueryable<'T> + +
+
+
+
+
+
+ +
+
+

+ + A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IQueryable rules. + +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + Expr<QuerySource<'T, IQueryable>> +
+
+
+
+
+ + Returns: + + IQueryable<'T> +
+
+
+
+
+
+ +

+ + + select projection + + +

+
+
+
+ Full Usage: + select projection +
+
+ Parameters: +
    + + + projection + + : + 'T -> 'Result + +
    +
+
+ + Returns: + QuerySource<'Result, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that projects each of the elements selected so far. + +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> 'Result +
+
+
+
+
+ + Returns: + + QuerySource<'Result, 'Q> +
+
+
+
+
+
+ +

+ + skip count + + +

+
+
+
+ Full Usage: + skip count +
+
+ Parameters: +
    + + + count + + : + int + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that bypasses a specified number of the elements selected so far and selects the remaining elements. + +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + skipWhile predicate + + +

+
+
+
+ Full Usage: + skipWhile predicate +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that bypasses elements in a sequence as long as a specified condition is true and then selects the remaining elements. + +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + sortBy keySelector + + +

+
+
+
+ Full Usage: + sortBy keySelector +
+
+ Parameters: +
    + + + keySelector + + : + 'T -> 'Key + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that sorts the elements selected so far in ascending order by the given sorting key. + +

+
+
+ + + + + +
+
+
+
+
+ + keySelector + + : + 'T -> 'Key +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + sortByDescending keySelector + + +

+
+
+
+ Full Usage: + sortByDescending keySelector +
+
+ Parameters: +
    + + + keySelector + + : + 'T -> 'Key + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that sorts the elements selected so far in descending order by the given sorting key. + +

+
+
+ + + + + +
+
+
+
+
+ + keySelector + + : + 'T -> 'Key +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + sortByNullable keySelector + + +

+
+
+
+ Full Usage: + sortByNullable keySelector +
+
+ Parameters: +
    + + + keySelector + + : + 'T -> Nullable<'Key> + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that sorts the elements selected so far in ascending order by the given nullable sorting key. + +

+
+
+ + + + + +
+
+
+
+
+ + keySelector + + : + 'T -> Nullable<'Key> +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + sortByNullableDescending keySelector + + +

+
+
+
+ Full Usage: + sortByNullableDescending keySelector +
+
+ Parameters: +
    + + + keySelector + + : + 'T -> Nullable<'Key> + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that sorts the elements selected so far in descending order by the given nullable sorting key. + +

+
+
+ + + + + +
+
+
+
+
+ + keySelector + + : + 'T -> Nullable<'Key> +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + this.Source + + +

+
+
+
+ Full Usage: + this.Source +
+
+ Parameters: + +
+ + Returns: + QuerySource<'T, IEnumerable> + +
+
+
+
+
+
+ +
+
+

+ + 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. + +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + IEnumerable<'T> +
+
+
+
+
+ + Returns: + + QuerySource<'T, IEnumerable> +
+
+
+
+
+
+ +

+ + + this.Source + + +

+
+
+
+ Full Usage: + this.Source +
+
+ Parameters: + +
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ + 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. + +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + IQueryable<'T> +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + sumBy projection + + +

+
+
+
+ Full Usage: + sumBy projection +
+
+ Parameters: +
    + + + projection + + : + 'T -> ^Value + +
    +
+
+ + Returns: + ^Value + +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Q, ^Value +
+
+
+
+
+ +
+
+

+ A query operator that selects a value for each element selected so far and returns the sum of these values. + +

+
+
+ + + + + +
+
+
+
+
+ + projection + + : + 'T -> ^Value +
+
+
+
+
+ + Returns: + + ^Value +
+
+
+
+
+
+ +

+ + + sumByNullable valueSelector + + +

+
+
+
+ Full Usage: + sumByNullable valueSelector +
+
+ Parameters: +
    + + + valueSelector + + : + 'T -> Nullable<^Value> + +
    +
+
+ + Returns: + Nullable<^Value> + +
+ Modifiers: + inline +
+ Type parameters: + 'T, 'Q, ^Value +
+
+
+
+
+ +
+
+

+ 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. + +

+
+
+ + + + + +
+
+
+
+
+ + valueSelector + + : + 'T -> Nullable<^Value> +
+
+
+
+
+ + Returns: + + Nullable<^Value> +
+
+
+
+
+
+ +

+ + + take count + + +

+
+
+
+ Full Usage: + take count +
+
+ Parameters: +
    + + + count + + : + int + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects a specified number of contiguous elements from those selected so far. + +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + takeWhile predicate + + +

+
+
+
+ Full Usage: + takeWhile predicate +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects elements from a sequence as long as a specified condition is true, and then skips the remaining elements. + +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + thenBy keySelector + + +

+
+
+
+ Full Usage: + thenBy keySelector +
+
+ Parameters: +
    + + + keySelector + + : + 'T -> 'Key + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ 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. + +

+
+
+ + + + + +
+
+
+
+
+ + keySelector + + : + 'T -> 'Key +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + thenByDescending keySelector + + +

+
+
+
+ Full Usage: + thenByDescending keySelector +
+
+ Parameters: +
    + + + keySelector + + : + 'T -> 'Key + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ 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. + +

+
+
+ + + + + +
+
+
+
+
+ + keySelector + + : + 'T -> 'Key +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + thenByNullable keySelector + + +

+
+
+
+ Full Usage: + thenByNullable keySelector +
+
+ Parameters: +
    + + + keySelector + + : + 'T -> Nullable<'Key> + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ 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. + +

+
+
+ + + + + +
+
+
+
+
+ + keySelector + + : + 'T -> Nullable<'Key> +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + thenByNullableDescending keySelector + + +

+
+
+
+ Full Usage: + thenByNullableDescending keySelector +
+
+ Parameters: +
    + + + keySelector + + : + 'T -> Nullable<'Key> + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ 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. + +

+
+
+ + + + + +
+
+
+
+
+ + keySelector + + : + 'T -> Nullable<'Key> +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + where predicate + + +

+
+
+
+ Full Usage: + where predicate +
+
+ Parameters: +
    + + + predicate + + : + 'T -> bool + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A query operator that selects those elements based on a specified predicate. + +

+
+
+ + + + + +
+
+
+
+
+ + predicate + + : + 'T -> bool +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + this.Yield + + +

+
+
+
+ Full Usage: + this.Yield +
+
+ Parameters: +
    + + + value + + : + 'T + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ + A method used to support the F# query syntax. Returns a sequence of length one that contains the specified value. + +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + this.YieldFrom + + +

+
+
+
+ Full Usage: + this.YieldFrom +
+
+ Parameters: + +
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ + A method used to support the F# query syntax. Returns a sequence that contains the specified values. + +

+
+
+ + + + + +
+
+
+
+
+ + computation + + : + QuerySource<'T, 'Q> +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+ +

+ + + this.Zero + + +

+
+
+
+ Full Usage: + this.Zero +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ + A method used to support the F# query syntax. Returns an empty sequence that has the specified type argument. + +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq-queryrunextensions-highpriority.html b/reference/fsharp-linq-queryrunextensions-highpriority.html new file mode 100644 index 000000000..2215ef21a --- /dev/null +++ b/reference/fsharp-linq-queryrunextensions-highpriority.html @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + + + HighPriority (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ HighPriority Module +

+ +
+
+
+

+ A module used to support the F# query syntax. +

+
+
+
+
+
+

+ Type extensions +

+ + + + + + + + + + + + + +
+ Type extension + + Description + +
+
+ +

+ + + this.Run + + +

+
+
+
+ Full Usage: + this.Run +
+
+ Parameters: + +
+ + Returns: + 'T seq + +
+
+
+
+
+
+ +
+
+

+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ IEnumerable rules. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + QueryBuilder +

+
+
+ + arg0 + + : + Expr<QuerySource<'T, IEnumerable>> +
+
+
+
+
+ + Returns: + + 'T seq +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq-queryrunextensions-lowpriority.html b/reference/fsharp-linq-queryrunextensions-lowpriority.html new file mode 100644 index 000000000..0d98929e2 --- /dev/null +++ b/reference/fsharp-linq-queryrunextensions-lowpriority.html @@ -0,0 +1,387 @@ + + + + + + + + + + + + + + + + + + LowPriority (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ LowPriority Module +

+ +
+
+
+

+ + A module used to support the F# query syntax. + +

+
+
+
+
+
+

+ Type extensions +

+ + + + + + + + + + + + + +
+ Type extension + + Description + +
+
+ +

+ + + this.Run + + +

+
+
+
+ Full Usage: + this.Run +
+
+ Parameters: +
    + + + arg0 + + : + Expr<'T> + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ A method used to support the F# query syntax. Runs the given quotation as a query using LINQ rules. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + QueryBuilder +

+
+
+ + arg0 + + : + Expr<'T> +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq-queryrunextensions.html b/reference/fsharp-linq-queryrunextensions.html new file mode 100644 index 000000000..9e8a1615d --- /dev/null +++ b/reference/fsharp-linq-queryrunextensions.html @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + FSharp.Linq.QueryRunExtensions | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Linq.QueryRunExtensions Namespace +

+
+

+ Contains modules used to support the F# query syntax. +

+
+ + + + + + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + HighPriority + + +

+
+
+
+

+ A module used to support the F# query syntax. +

+
+
+ + + + + +
+
+
+

+ + + LowPriority + + +

+
+
+
+

+ + A module used to support the F# query syntax. + +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq-querysource-2.html b/reference/fsharp-linq-querysource-2.html new file mode 100644 index 000000000..d208bbf39 --- /dev/null +++ b/reference/fsharp-linq-querysource-2.html @@ -0,0 +1,467 @@ + + + + + + + + + + + + + + + + + + QuerySource<'T, 'Q> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ QuerySource<'T, 'Q> Type +

+ +
+
+
+

+ + A partial input or result in an F# query. This type is used to support the F# query syntax. + +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + QuerySource(arg1) + + +

+
+
+
+ Full Usage: + QuerySource(arg1) +
+
+ Parameters: +
    + + + arg0 + + : + 'T seq + +
    +
+
+ + Returns: + QuerySource<'T, 'Q> + +
+
+
+
+
+
+ +
+
+

+ A method used to support the F# query syntax. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T seq +
+
+
+
+
+ + Returns: + + QuerySource<'T, 'Q> +
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Source + + +

+
+
+
+ Full Usage: + this.Source +
+
+ + Returns: + 'T seq + +
+
+
+
+
+
+ +
+
+

+ A property used to support the F# query syntax. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + 'T seq +
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq-runtimehelpers-grouping-2.html b/reference/fsharp-linq-runtimehelpers-grouping-2.html new file mode 100644 index 000000000..b3f85eddf --- /dev/null +++ b/reference/fsharp-linq-runtimehelpers-grouping-2.html @@ -0,0 +1,395 @@ + + + + + + + + + + + + + + + + + + Grouping<'K, 'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Grouping<'K, 'T> Type +

+ +
+
+
+

+ A type used to reconstruct a grouping after applying a mutable->immutable mapping transformation + on a result of a query. +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + Grouping(key, values) + + +

+
+
+
+ Full Usage: + Grouping(key, values) +
+
+ Parameters: +
    + + + key + + : + 'K + +
    + + + values + + : + 'T seq + +
    +
+
+ + Returns: + Grouping<'K, 'T> + +
+
+
+
+
+
+
+ + + +
+
+
+ + key + + : + 'K +
+
+
+ + values + + : + 'T seq +
+
+
+
+
+ + Returns: + + Grouping<'K, 'T> +
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html b/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html new file mode 100644 index 000000000..39a020bc4 --- /dev/null +++ b/reference/fsharp-linq-runtimehelpers-leafexpressionconverter.html @@ -0,0 +1,1050 @@ + + + + + + + + + + + + + + + + + + LeafExpressionConverter (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ LeafExpressionConverter Module +

+ +
+
+
+

+ + Contains functionality to convert F# quotations to LINQ expression trees. + +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + EvaluateQuotation arg1 + + +

+
+
+
+ Full Usage: + EvaluateQuotation arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Expr + +
    +
+
+ + Returns: + objnull + +
+
+
+
+
+
+ +
+
+

+ + 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. + +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + Expr +
+
+
+
+
+ + Returns: + + objnull +
+
+
+
+
+
+ +

+ + + ImplicitExpressionConversionHelper arg1 + + +

+
+
+
+ Full Usage: + ImplicitExpressionConversionHelper arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    +
+
+ + Returns: + Expression<'T> + +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T +
+
+
+
+
+ + Returns: + + Expression<'T> +
+
+
+
+
+
+ +

+ + + MemberInitializationHelper arg1 + + +

+
+
+
+ Full Usage: + MemberInitializationHelper arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + NewAnonymousObjectHelper arg1 + + +

+
+
+
+ Full Usage: + NewAnonymousObjectHelper arg1 +
+
+ Parameters: +
    + + + arg0 + + : + 'T + +
    +
+
+ + Returns: + 'T + +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + 'T +
+
+
+
+
+ + Returns: + + 'T +
+
+
+
+
+
+ +

+ + + QuotationToExpression arg1 + + +

+
+
+
+ Full Usage: + QuotationToExpression arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Expr + +
    +
+
+ + Returns: + Expression + +
+
+
+
+
+
+ +
+
+

+ + 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. + +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + Expr +
+
+
+
+
+ + Returns: + + Expression +
+
+
+
+
+
+ +

+ + + QuotationToLambdaExpression arg1 + + +

+
+
+
+ Full Usage: + QuotationToLambdaExpression arg1 +
+
+ Parameters: +
    + + + arg0 + + : + Expr<'T> + +
    +
+
+ + Returns: + Expression<'T> + +
+
+
+
+
+
+ +
+
+

+ + 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. + +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + Expr<'T> +
+
+
+
+
+ + Returns: + + Expression<'T> +
+
+
+
+
+
+ +

+ + + SubstHelper (arg1, arg2, arg3) + + +

+
+
+
+ Full Usage: + SubstHelper (arg1, arg2, arg3) +
+
+ Parameters: + +
+ + Returns: + Expr<'T> + +
+
+
+
+
+
+ +
+
+

+ + A runtime helper used to evaluate nested quotation literals. + +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + Expr +
+
+
+ + arg1 + + : + Var array +
+
+
+ + arg2 + + : + objnull array +
+
+
+
+
+ + Returns: + + Expr<'T> +
+
+
+
+
+
+ +

+ + + SubstHelperRaw (arg1, arg2, arg3) + + +

+
+
+
+ Full Usage: + SubstHelperRaw (arg1, arg2, arg3) +
+
+ Parameters: + +
+ + Returns: + Expr + +
+
+
+
+
+
+ +
+
+

+ + A runtime helper used to evaluate nested quotation literals. + +

+
+
+ + + + + +
+
+
+
+
+ + arg0 + + : + Expr +
+
+
+ + arg1 + + : + Var array +
+
+
+ + arg2 + + : + objnull array +
+
+
+
+
+ + Returns: + + Expr +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq-runtimehelpers.html b/reference/fsharp-linq-runtimehelpers.html new file mode 100644 index 000000000..88a728ac9 --- /dev/null +++ b/reference/fsharp-linq-runtimehelpers.html @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + FSharp.Linq.RuntimeHelpers | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Linq.RuntimeHelpers Namespace +

+
+

+ Library functionality associated with converting F# quotations to .NET LINQ expression trees. +

+
+ + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + Grouping<'K, 'T> + + +

+
+
+
+

+ A type used to reconstruct a grouping after applying a mutable->immutable mapping transformation + on a result of a query. +

+
+
+ + + + + +
+
+
+

+ + + LeafExpressionConverter + + +

+
+
+
+

+ + Contains functionality to convert F# quotations to LINQ expression trees. + +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-linq.html b/reference/fsharp-linq.html new file mode 100644 index 000000000..73c92fe6d --- /dev/null +++ b/reference/fsharp-linq.html @@ -0,0 +1,399 @@ + + + + + + + + + + + + + + + + + + FSharp.Linq | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Linq Namespace +

+
+

+ + Library functionality for F# query syntax and interoperability with .NET LINQ Expressions. See + also F# Query Expressions in the F# Language Guide. + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + Nullable + + +

+
+
+
+

+ Functions for converting nullable values +

+
+
+ + + + + +
+
+
+

+ + + NullableOperators + + +

+
+
+
+

+ Operators for working with nullable values, primarily used on F# queries. +

+
+
+ + + + + +
+
+
+

+ + + QueryBuilder + + +

+
+
+
+

+ The type used to support the F# query syntax. Use 'query { ... }' to use the query syntax. See + also F# Query Expressions in the F# Language Guide. +

+
+
+ + + + + +
+
+
+

+ + + QuerySource<'T, 'Q> + + +

+
+
+
+

+ + A partial input or result in an F# query. This type is used to support the F# query syntax. + +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-nativeinterop-nativeptrmodule.html b/reference/fsharp-nativeinterop-nativeptrmodule.html new file mode 100644 index 000000000..7cc4e772c --- /dev/null +++ b/reference/fsharp-nativeinterop-nativeptrmodule.html @@ -0,0 +1,2261 @@ + + + + + + + + + + + + + + + + + + NativePtr (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ NativePtr Module +

+ +
+
+
+

+ Contains operations on native pointers. Use of these operators may + result in the generation of unverifiable code. +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + NativePtr.add address index + + +

+
+
+
+ Full Usage: + NativePtr.add address index +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The input pointer. + +
    + + + index + + : + int + - + The index by which to offset the pointer. + +
    +
+
+ + Returns: + nativeptr<'T> + + A typed pointer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns a typed native pointer by adding index * sizeof<'T> to the + given input pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The input pointer. +

+
+
+ + index + + : + int +
+
+

+ The index by which to offset the pointer. +

+
+
+
+
+ + Returns: + + nativeptr<'T> +
+
+

+ A typed pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.clear address + + +

+
+
+
+ Full Usage: + NativePtr.clear address +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The input pointer. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Clears the value stored at the location of a given native pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The input pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.copy destination source + + +

+
+
+
+ Full Usage: + NativePtr.copy destination source +
+
+ Parameters: +
    + + + destination + + : + nativeptr<'T> + - + The destination pointer. + +
    + + + source + + : + nativeptr<'T> + - + The source pointer. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Copies a value to a specified destination address from a specified source address. +

+
+
+ + + + + +
+
+
+
+
+ + destination + + : + nativeptr<'T> +
+
+

+ The destination pointer. +

+
+
+ + source + + : + nativeptr<'T> +
+
+

+ The source pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.copyBlock destination source count + + +

+
+
+
+ Full Usage: + NativePtr.copyBlock destination source count +
+
+ Parameters: +
    + + + destination + + : + nativeptr<'T> + - + The destination pointer. + +
    + + + source + + : + nativeptr<'T> + - + The source pointer. + +
    + + + count + + : + int + - + The source pointer. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Copies a block of memory to a specified destination address starting from a specified source address until a specified byte count of (count * sizeof<'T>). +

+
+
+ + + + + +
+
+
+
+
+ + destination + + : + nativeptr<'T> +
+
+

+ The destination pointer. +

+
+
+ + source + + : + nativeptr<'T> +
+
+

+ The source pointer. +

+
+
+ + count + + : + int +
+
+

+ The source pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.get address index + + +

+
+
+
+ Full Usage: + NativePtr.get address index +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The input pointer. + +
    + + + index + + : + int + - + The index by which to offset the pointer. + +
    +
+
+ + Returns: + 'T + + The value at the pointer address. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Dereferences the typed native pointer computed by adding index * sizeof<'T> to the + given input pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The input pointer. +

+
+
+ + index + + : + int +
+
+

+ The index by which to offset the pointer. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value at the pointer address. +

+
+
+
+
+
+ +

+ + + NativePtr.initBlock address value count + + +

+
+
+
+ Full Usage: + NativePtr.initBlock address value count +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The input pointer. + +
    + + + value + + : + byte + - + The initial byte value. + +
    + + + count + + : + uint32 + - + The total repeat count of the byte value. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Initializes a specified block of memory starting at a specific address to a given byte count and initial byte value. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The input pointer. +

+
+
+ + value + + : + byte +
+
+

+ The initial byte value. +

+
+
+ + count + + : + uint32 +
+
+

+ The total repeat count of the byte value. +

+
+
+
+
+
+ +

+ + + NativePtr.isNullPtr address + + +

+
+
+
+ Full Usage: + NativePtr.isNullPtr address +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The input pointer. + +
    +
+
+ + Returns: + bool + + Whether the given native pointer is null. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Tests whether the given native pointer is null. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The input pointer. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ Whether the given native pointer is null. +

+
+
+
+
+
+ +

+ + + NativePtr.nullPtr + + +

+
+
+
+ Full Usage: + NativePtr.nullPtr +
+
+ + Returns: + nativeptr<'T> + + The null native pointer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Gets the null native pointer. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + nativeptr<'T> +
+
+

+ The null native pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.ofILSigPtr address + + +

+
+
+
+ Full Usage: + NativePtr.ofILSigPtr address +
+
+ Parameters: +
    + + + address + + : + ilsigptr<'T> + - + The Common IL signature pointer. + +
    +
+
+ + Returns: + nativeptr<'T> + + A typed native pointer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns a typed native pointer for a Common IL (Intermediate Language) signature pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + ilsigptr<'T> +
+
+

+ The Common IL signature pointer. +

+
+
+
+
+ + Returns: + + nativeptr<'T> +
+
+

+ A typed native pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.ofNativeInt address + + +

+
+
+
+ Full Usage: + NativePtr.ofNativeInt address +
+
+ Parameters: +
    + + + address + + : + nativeint + - + The machine address. + +
    +
+
+ + Returns: + nativeptr<'T> + + A typed native pointer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns a typed native pointer for a given machine address. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeint +
+
+

+ The machine address. +

+
+
+
+
+ + Returns: + + nativeptr<'T> +
+
+

+ A typed native pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.ofVoidPtr address + + +

+
+
+
+ Full Usage: + NativePtr.ofVoidPtr address +
+
+ Parameters: +
    + + + address + + : + voidptr + - + The untyped native pointer. + +
    +
+
+ + Returns: + nativeptr<'T> + + A typed native pointer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns a typed native pointer for a untyped native pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + voidptr +
+
+

+ The untyped native pointer. +

+
+
+
+
+ + Returns: + + nativeptr<'T> +
+
+

+ A typed native pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.read address + + +

+
+
+
+ Full Usage: + NativePtr.read address +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The input pointer. + +
    +
+
+ + Returns: + 'T + + The value at the pointer address. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Dereferences the given typed native pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The input pointer. +

+
+
+
+
+ + Returns: + + 'T +
+
+

+ The value at the pointer address. +

+
+
+
+
+
+ +

+ + + NativePtr.set address index value + + +

+
+
+
+ Full Usage: + NativePtr.set address index value +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The input pointer. + +
    + + + index + + : + int + - + The index by which to offset the pointer. + +
    + + + value + + : + 'T + - + The value to assign. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Assigns the value into the memory location referenced by the typed native + pointer computed by adding index * sizeof<'T> to the given input pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The input pointer. +

+
+
+ + index + + : + int +
+
+

+ The index by which to offset the pointer. +

+
+
+ + value + + : + 'T +
+
+

+ The value to assign. +

+
+
+
+
+
+ +

+ + + NativePtr.stackalloc count + + +

+
+
+
+ Full Usage: + NativePtr.stackalloc count +
+
+ Parameters: +
    + + + count + + : + int + - + The number of objects of type T to allocate. + +
    +
+
+ + Returns: + nativeptr<'T> + + A typed pointer to the allocated memory. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Allocates a region of memory on the stack. +

+
+
+ + + + + +
+
+
+
+
+ + count + + : + int +
+
+

+ The number of objects of type T to allocate. +

+
+
+
+
+ + Returns: + + nativeptr<'T> +
+
+

+ A typed pointer to the allocated memory. +

+
+
+
+
+
+ +

+ + + NativePtr.toByRef address + + +

+
+
+
+ Full Usage: + NativePtr.toByRef address +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The typed native pointer. + +
    +
+
+ + Returns: + byref<'T> + + The managed pointer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Converts a given typed native pointer to a managed pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The typed native pointer. +

+
+
+
+
+ + Returns: + + byref<'T> +
+
+

+ The managed pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.toILSigPtr address + + +

+
+
+
+ Full Usage: + NativePtr.toILSigPtr address +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The typed native pointer. + +
    +
+
+ + Returns: + ilsigptr<'T> + + A Common IL signature pointer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns a Common IL (Intermediate Language) signature pointer for a given typed native pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The typed native pointer. +

+
+
+
+
+ + Returns: + + ilsigptr<'T> +
+
+

+ A Common IL signature pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.toNativeInt address + + +

+
+
+
+ Full Usage: + NativePtr.toNativeInt address +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The typed native pointer. + +
    +
+
+ + Returns: + nativeint + + The machine address. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns a machine address for a given typed native pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The typed native pointer. +

+
+
+
+
+ + Returns: + + nativeint +
+
+

+ The machine address. +

+
+
+
+
+
+ +

+ + + NativePtr.toVoidPtr address + + +

+
+
+
+ Full Usage: + NativePtr.toVoidPtr address +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The typed native pointer. + +
    +
+
+ + Returns: + voidptr + + An untyped native pointer. +
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Returns an untyped native pointer for a given typed native pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The typed native pointer. +

+
+
+
+
+ + Returns: + + voidptr +
+
+

+ An untyped native pointer. +

+
+
+
+
+
+ +

+ + + NativePtr.write address value + + +

+
+
+
+ Full Usage: + NativePtr.write address value +
+
+ Parameters: +
    + + + address + + : + nativeptr<'T> + - + The input pointer. + +
    + + + value + + : + 'T + - + The value to assign. + +
    +
+
+ Modifiers: + inline +
+ Type parameters: + 'T +
+
+
+
+
+ +
+
+

+ Assigns the value into the memory location referenced by the given typed native pointer. +

+
+
+ + + + + +
+
+
+
+
+ + address + + : + nativeptr<'T> +
+
+

+ The input pointer. +

+
+
+ + value + + : + 'T +
+
+

+ The value to assign. +

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-nativeinterop.html b/reference/fsharp-nativeinterop.html new file mode 100644 index 000000000..3ab2735a8 --- /dev/null +++ b/reference/fsharp-nativeinterop.html @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + FSharp.NativeInterop | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.NativeInterop Namespace +

+
+

+ + Library functionality for native interoperability. See + also F# External Functions in + the F# Language Guide. + +

+
+ + + + + + + + + + + + + +
+ Modules + + Description +
+

+ + + NativePtr + + +

+
+
+
+

+ Contains operations on native pointers. Use of these operators may + result in the generation of unverifiable code. +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-quotations-derivedpatternsmodule.html b/reference/fsharp-quotations-derivedpatternsmodule.html new file mode 100644 index 000000000..2553dac1b --- /dev/null +++ b/reference/fsharp-quotations-derivedpatternsmodule.html @@ -0,0 +1,3191 @@ + + + + + + + + + + + + + + + + + + DerivedPatterns (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ DerivedPatterns Module +

+ +
+
+
+

+ Contains a set of derived F# active patterns to analyze F# expression objects +

+
+
+
+
+
+
+

+ Active patterns +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Active pattern + + Description + +
+
+ +

+ + + (|AndAlso|_|) input + + +

+
+
+
+ Full Usage: + (|AndAlso|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Expr) option + + When successful, the pattern binds the left and right parts of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions of the form a && b +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Expr) option +
+
+

+ When successful, the pattern binds the left and right parts of the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ true && false @> with
+ | AndAlso (a, b) -> (a, b)
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer AndAlso: Quotations.Expr -> (Quotations.Expr * Quotations.Expr) option
+
val a: Quotations.Expr
+
val b: Quotations.Expr
+
val failwith: message: string -> 'T
+ + + Evaluates to <@ true @>, <@ false @>. + +

+
+
+
+ +

+ + + (|Applications|_|) input + + +

+
+
+
+ Full Usage: + (|Applications|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Expr list list) option + + When successful, the pattern binds the function and curried arguments of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent the application of a (possibly curried or tupled) first class function value +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Expr list list) option +
+
+

+ When successful, the pattern binds the function and curried arguments of the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.Patterns
+ open FSharp.Quotations.DerivedPatterns
+
+ match <@ (fun f -> f (1, 2) 3) @> with
+ | Lambda(_, Applications (f, curriedArgs)) ->
+     curriedArgs |> List.map (fun args -> args.Length)
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module Patterns + +from Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
val f: (int * int -> int -> obj)
+
active recognizer Lambda: Quotations.Expr -> (Quotations.Var * Quotations.Expr) option
+
active recognizer Applications: Quotations.Expr -> (Quotations.Expr * Quotations.Expr list list) option
+
val f: Quotations.Expr
+
val curriedArgs: Quotations.Expr list list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val map: mapping: ('T -> 'U) -> list: 'T list -> 'U list
+
val args: Quotations.Expr list
+
property List.Length: int with get
+
val failwith: message: string -> 'T
+ + + Evaluates to [2; 1]. + +

+
+
+
+ +

+ + + (|Bool|_|) input + + +

+
+
+
+ Full Usage: + (|Bool|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + bool option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant boolean expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + bool option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ true @> with
+ | Bool v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer Bool: Quotations.Expr -> bool option
+
val v: bool
+
val failwith: message: string -> 'T
+ + + Evaluates to true. + +

+
+
+
+ +

+ + + (|Byte|_|) input + + +

+
+
+
+ Full Usage: + (|Byte|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + byte option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant byte expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + byte option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 8uy @> with
+ | Byte v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer Byte: Quotations.Expr -> byte option
+
val v: byte
+
val failwith: message: string -> 'T
+ + + Evaluates to 8uy. + +

+
+
+
+ +

+ + + (|Char|_|) input + + +

+
+
+
+ Full Usage: + (|Char|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + char option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant unicode character expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + char option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 'a' @> with
+ | Char v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer Char: Quotations.Expr -> char option
+
val v: char
+
val failwith: message: string -> 'T
+ + + Evaluates to 'a'. + +

+
+
+
+ +

+ + + (|Decimal|_|) input + + +

+
+
+
+ Full Usage: + (|Decimal|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + decimal option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant decimal expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + decimal option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 8.0M @> with
+ | Decimal v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer Decimal: Quotations.Expr -> decimal option
+
val v: decimal
+
val failwith: message: string -> 'T
+ + + Evaluates to 8.0M. + +

+
+
+
+ +

+ + + (|Double|_|) input + + +

+
+
+
+ Full Usage: + (|Double|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + float option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant 64-bit floating point number expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + float option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 1.0 @> with
+ | Double v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer Double: Quotations.Expr -> float option
+
val v: float
+
val failwith: message: string -> 'T
+ + + Evaluates to 1.0. + +

+
+
+
+ +

+ + + (|Int16|_|) input + + +

+
+
+
+ Full Usage: + (|Int16|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + int16 option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant int16 expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + int16 option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 8s @> with
+ | Int16 v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer Int16: Quotations.Expr -> int16 option
+
val v: int16
+
val failwith: message: string -> 'T
+ + + Evaluates to 8s. + +

+
+
+
+ +

+ + + (|Int32|_|) input + + +

+
+
+
+ Full Usage: + (|Int32|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + int32 option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant int32 expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + int32 option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 8 @> with
+ | Int32 v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer Int32: Quotations.Expr -> int32 option
+
val v: int32
+
val failwith: message: string -> 'T
+ + + Evaluates to 8. + +

+
+
+
+ +

+ + + (|Int64|_|) input + + +

+
+
+
+ Full Usage: + (|Int64|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + int64 option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant int64 expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + int64 option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 8L @> with
+ | Int64 v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer Int64: Quotations.Expr -> int64 option
+
val v: int64
+
val failwith: message: string -> 'T
+ + + Evaluates to 8L. + +

+
+
+
+ +

+ + + (|Lambdas|_|) input + + +

+
+
+
+ Full Usage: + (|Lambdas|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Var list list * Expr) option + + When successful, the pattern binds the curried variables and body of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent a (possibly curried or tupled) first class function value +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Var list list * Expr) option +
+
+

+ When successful, the pattern binds the curried variables and body of the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.Patterns
+ open FSharp.Quotations.DerivedPatterns
+
+ match <@ (fun (a1, a2) b -> ()) @> with
+ | Lambdas(curriedVars, _) ->
+     curriedVars |> List.map (List.map (fun arg -> arg.Name))
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module Patterns + +from Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
val a1: obj
+
val a2: obj
+
val b: obj
+
active recognizer Lambdas: Quotations.Expr -> (Quotations.Var list list * Quotations.Expr) option
+
val curriedVars: Quotations.Var list list
+
Multiple items
module List + +from Microsoft.FSharp.Collections

--------------------
type List<'T> = + | op_Nil + | op_ColonColon of Head: 'T * Tail: 'T list + interface IReadOnlyList<'T> + interface IReadOnlyCollection<'T> + interface IEnumerable + interface IEnumerable<'T> + member GetReverseIndex: rank: int * offset: int -> int + member GetSlice: startIndex: int option * endIndex: int option -> 'T list + static member Cons: head: 'T * tail: 'T list -> 'T list + member Head: 'T + member IsEmpty: bool + member Item: index: int -> 'T with get + ...
+
val map: mapping: ('T -> 'U) -> list: 'T list -> 'U list
+
val arg: Quotations.Var
+
property Quotations.Var.Name: string with get
+
val failwith: message: string -> 'T
+ + + Evaluates to [["a1"; "a2"]; ["b"]]. + +

+
+
+
+ +

+ + + (|MethodWithReflectedDefinition|_|) methodBase + + +

+
+
+
+ Full Usage: + (|MethodWithReflectedDefinition|_|) methodBase +
+
+ Parameters: +
    + + + methodBase + + : + MethodBase + - + The description of the method. + +
    +
+
+ + Returns: + Expr option + + The expression of the method definition if found, or None. +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize methods that have an associated ReflectedDefinition +

+
+
+ + + + + +
+
+
+
+
+ + methodBase + + : + MethodBase +
+
+

+ The description of the method. +

+
+
+
+
+ + Returns: + + Expr option +
+
+

+ The expression of the method definition if found, or None. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+ open FSharp.Quotations.DerivedPatterns
+
+ [<ReflectedDefinition>]
+ let f x = (x, x)
+
+ let inpExpr = <@ f 4 @>
+
+ let implExpr =
+     match inpExpr with
+     | Call(None, MethodWithReflectedDefinition implExpr, [ _argExpr ]) -> implExpr
+     | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
Multiple items
type ReflectedDefinitionAttribute = + inherit Attribute + new: unit -> ReflectedDefinitionAttribute + 1 overload + member IncludeValue: bool

--------------------
new: unit -> ReflectedDefinitionAttribute
new: includeValue: bool -> ReflectedDefinitionAttribute
+
val f: x: 'a -> 'a * 'a
+
val x: 'a
+
val inpExpr: Expr<int * int>
+
val implExpr: Expr
+
active recognizer Call: Expr -> (Expr option * System.Reflection.MethodInfo * Expr list) option
+
union case Option.None: Option<'T>
+
active recognizer MethodWithReflectedDefinition: System.Reflection.MethodBase -> Expr option
+
val _argExpr: Expr
+
val failwith: message: string -> 'T
+ + + Evaluates implExpr to a quotation with the same structure as <@ fun (x: int) -> (x, x) @>, which is the implementation of the + method f. Note that the correct generic instantiation has been applied to the implementation to reflect + the type at the callsite. + +

+
+
+
+ +

+ + + (|OrElse|_|) input + + +

+
+
+
+ Full Usage: + (|OrElse|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Expr) option + + When successful, the pattern binds the left and right parts of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions of the form a || b +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Expr) option +
+
+

+ When successful, the pattern binds the left and right parts of the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ true || false @> with
+ | OrElse (a, b) -> (a, b)
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer OrElse: Quotations.Expr -> (Quotations.Expr * Quotations.Expr) option
+
val a: Quotations.Expr
+
val b: Quotations.Expr
+
val failwith: message: string -> 'T
+ + + Evaluates to <@ true @>, <@ false @>. + +

+
+
+
+ +

+ + + (|PropertyGetterWithReflectedDefinition|_|) propertyInfo + + +

+
+
+
+ Full Usage: + (|PropertyGetterWithReflectedDefinition|_|) propertyInfo +
+
+ Parameters: +
    + + + propertyInfo + + : + PropertyInfo + - + The description of the property. + +
    +
+
+ + Returns: + Expr option + + 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 +

+
+
+ + + + + +
+
+
+
+
+ + propertyInfo + + : + PropertyInfo +
+
+

+ The description of the property. +

+
+
+
+
+ + Returns: + + Expr option +
+
+

+ The expression of the method definition if found, or None. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+ open FSharp.Quotations.DerivedPatterns
+
+ [<ReflectedDefinition>]
+ type C<'T>() =
+    member x.Identity = x
+
+ let inpExpr = <@ C<int>().Identity @>
+
+ let implExpr =
+     match inpExpr with
+     | PropertyGet(Some _, PropertyGetterWithReflectedDefinition implExpr, [ ]) -> implExpr
+     | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
Multiple items
type ReflectedDefinitionAttribute = + inherit Attribute + new: unit -> ReflectedDefinitionAttribute + 1 overload + member IncludeValue: bool

--------------------
new: unit -> ReflectedDefinitionAttribute
new: includeValue: bool -> ReflectedDefinitionAttribute
+
type C<'T> = + new: unit -> C<'T> + member Identity: C<'T>
+
'T
+
val x: C<'T>
+
val inpExpr: Expr<C<int>>
+
new: unit -> C<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val implExpr: Expr
+
active recognizer PropertyGet: Expr -> (Expr option * System.Reflection.PropertyInfo * Expr list) option
+
union case Option.Some: Value: 'T -> Option<'T>
+
active recognizer PropertyGetterWithReflectedDefinition: System.Reflection.PropertyInfo -> Expr option
+
val failwith: message: string -> 'T
+ + + Evaluates implExpr to a quotation with the same structure as <@ fun (x: C<int>) () -> x @>, which is the implementation of the + property Identity. Note that the correct generic instantiation has been applied to the implementation to reflect + the type at the callsite. + +

+
+
+
+ +

+ + + (|PropertySetterWithReflectedDefinition|_|) propertyInfo + + +

+
+
+
+ Full Usage: + (|PropertySetterWithReflectedDefinition|_|) propertyInfo +
+
+ Parameters: +
    + + + propertyInfo + + : + PropertyInfo + - + The description of the property. + +
    +
+
+ + Returns: + Expr option + + The expression of the method definition if found, or None. +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize property setters that have an associated ReflectedDefinition +

+
+
+ + + + + +
+
+
+
+
+ + propertyInfo + + : + PropertyInfo +
+
+

+ The description of the property. +

+
+
+
+
+ + Returns: + + Expr option +
+
+

+ The expression of the method definition if found, or None. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+ open FSharp.Quotations.DerivedPatterns
+
+ [<ReflectedDefinition>]
+ type C<'T>() =
+    member x.Count with set (v: int) = ()
+
+ let inpExpr = <@ C<int>().Count <- 3 @>
+
+ let implExpr =
+     match inpExpr with
+     | PropertySet(Some _, PropertySetterWithReflectedDefinition implExpr, [], _valueExpr) -> implExpr
+     | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
Multiple items
type ReflectedDefinitionAttribute = + inherit Attribute + new: unit -> ReflectedDefinitionAttribute + 1 overload + member IncludeValue: bool

--------------------
new: unit -> ReflectedDefinitionAttribute
new: includeValue: bool -> ReflectedDefinitionAttribute
+
type C<'T> = + new: unit -> C<'T> + member Count: int with set
+
'T
+
val x: C<'T>
+
val set: elements: 'T seq -> Set<'T> (requires comparison)
+
val v: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val inpExpr: Expr<unit>
+
new: unit -> C<'T>
+
val implExpr: Expr
+
active recognizer PropertySet: Expr -> (Expr option * System.Reflection.PropertyInfo * Expr list * Expr) option
+
union case Option.Some: Value: 'T -> Option<'T>
+
active recognizer PropertySetterWithReflectedDefinition: System.Reflection.PropertyInfo -> Expr option
+
val _valueExpr: Expr
+
val failwith: message: string -> 'T
+ + + Evaluates implExpr to a quotation with the same structure as <@ fun (x: C<int>) (v: int) -> () @>, which is the implementation of the + setter for the property Count. Note that the correct generic instantiation has been applied to the implementation to reflect + the type at the callsite. + +

+
+
+
+ +

+ + + (|SByte|_|) input + + +

+
+
+
+ Full Usage: + (|SByte|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + sbyte option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant signed byte expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + sbyte option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 8y @> with
+ | SByte v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer SByte: Quotations.Expr -> sbyte option
+
val v: sbyte
+
val failwith: message: string -> 'T
+ + + Evaluates to 8y. + +

+
+
+
+ +

+ + + (|Single|_|) input + + +

+
+
+
+ Full Usage: + (|Single|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + float32 option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant 32-bit floating point number expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + float32 option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 1.0f @> with
+ | Single v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer Single: Quotations.Expr -> float32 option
+
val v: float32
+
val failwith: message: string -> 'T
+ + + Evaluates to 1.0f. + +

+
+
+
+ +

+ + + (|SpecificCall|_|) templateParameter + + +

+
+
+
+ Full Usage: + (|SpecificCall|_|) templateParameter +
+
+ Parameters: +
    + + + templateParameter + + : + Expr + - + The input template expression to specify the method to call. + +
    +
+
+ + Returns: + Expr -> (Expr option * Type list * Expr list) option + + The optional target object (present if the target is an + instance method), the generic type instantiation (non-empty if the target is a generic + instantiation), and the arguments to the function or method. +
+
+
+
+
+
+ +
+
+

+ 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 instantiation (non-empty if the target is a generic + instantiation), and the arguments to the function or method. +

+
+
+ + + + + +
+
+
+
+
+ + templateParameter + + : + Expr +
+
+

+ The input template expression to specify the method to call. +

+
+
+
+
+ + Returns: + + Expr -> (Expr option * Type list * Expr list) option +
+
+

+ The optional target object (present if the target is an + instance method), the generic type instantiation (non-empty if the target is a generic + instantiation), and the arguments to the function or method. +

+
+
+
+ Example +
+

+ Match a specific call to Console.WriteLine taking one string argument: +

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+ open FSharp.Quotations.DerivedPatterns
+
+ let inpExpr = <@ Console.WriteLine("hello") @>
+
+ match inpExpr with
+ | SpecificCall <@ Console.WriteLine("1") @> (None, [], [ argExpr ]) -> argExpr
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
val inpExpr: Expr<obj>
+
active recognizer SpecificCall: Expr -> Expr -> (Expr option * System.Type list * Expr list) option
+
union case Option.None: Option<'T>
+
val argExpr: Expr
+
val failwith: message: string -> 'T
+ + + Evaluates to a quotation with the same structure as <@ "hello" @>. + +

+
+ Example +
+

+ Calls to this active pattern can be partially applied to pre-evaluate some aspects of the matching. For example: +

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+ open FSharp.Quotations.DerivedPatterns
+
+ let (|ConsoleWriteLineOneArg|_|) = (|SpecificCall|_|) <@ Console.WriteLine("1") @>
+
+ let inpExpr = <@ Console.WriteLine("hello") @>
+
+ match inpExpr with
+ | ConsoleWriteLineOneArg (None, [], [ argExpr ]) -> argExpr
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer SpecificCall: Expr -> Expr -> (Expr option * System.Type list * Expr list) option
+
val inpExpr: Expr<obj>
+
active recognizer ConsoleWriteLineOneArg: Expr<obj> -> (Expr option * System.Type list * Expr list) option
+
union case Option.None: Option<'T>
+
val argExpr: Expr
+
val failwith: message: string -> 'T
+ + + Evaluates to a quotation with the same structure as <@ "hello" @>. + +

+
+
+
+ +

+ + + (|String|_|) input + + +

+
+
+
+ Full Usage: + (|String|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + string option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant string expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + string option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ "a" @> with
+ | String v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
Multiple items
active recognizer String: Quotations.Expr -> string option

--------------------
module String + +from Microsoft.FSharp.Core
+
val v: string
+
val failwith: message: string -> 'T
+ + + Evaluates to "a". + +

+
+
+
+ +

+ + + (|UInt16|_|) input + + +

+
+
+
+ Full Usage: + (|UInt16|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + uint16 option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant unsigned int16 expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + uint16 option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 8us @> with
+ | UInt16 v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer UInt16: Quotations.Expr -> uint16 option
+
val v: uint16
+
val failwith: message: string -> 'T
+ + + Evaluates to 8us. + +

+
+
+
+ +

+ + + (|UInt32|_|) input + + +

+
+
+
+ Full Usage: + (|UInt32|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + uint32 option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant unsigned int32 expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + uint32 option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 8u @> with
+ | UInt32 v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer UInt32: Quotations.Expr -> uint32 option
+
val v: uint32
+
val failwith: message: string -> 'T
+ + + Evaluates to 8u. + +

+
+
+
+ +

+ + + (|UInt64|_|) input + + +

+
+
+
+ Full Usage: + (|UInt64|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + uint64 option + + When successful, the pattern binds the constant value from the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize constant unsigned int64 expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + uint64 option +
+
+

+ When successful, the pattern binds the constant value from the input expression +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ 8UL @> with
+ | UInt64 v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer UInt64: Quotations.Expr -> uint64 option
+
val v: uint64
+
val failwith: message: string -> 'T
+ + + Evaluates to 8UL. + +

+
+
+
+ +

+ + + (|Unit|_|) input + + +

+
+
+
+ Full Usage: + (|Unit|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + unit option + + When successful, the pattern does not bind any results +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize () constant expressions +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + unit option +
+
+

+ When successful, the pattern does not bind any results +

+
+
+
+ Example +
+

+

 open FSharp.Quotations.DerivedPatterns
+
+ match <@ () @> with
+ | Unit v -> v
+ | _ -> failwith "unexpected"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
module DerivedPatterns + +from Microsoft.FSharp.Quotations
+
active recognizer Unit: Quotations.Expr -> unit option
+
val v: unit
+
val failwith: message: string -> 'T
+ + + Evaluates to true. + +

+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-quotations-exprshapemodule.html b/reference/fsharp-quotations-exprshapemodule.html new file mode 100644 index 000000000..12f6f30ec --- /dev/null +++ b/reference/fsharp-quotations-exprshapemodule.html @@ -0,0 +1,528 @@ + + + + + + + + + + + + + + + + + + ExprShape (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ ExprShape Module +

+ +
+
+
+

+ Active patterns for traversing, visiting, rebuilding and transforming expressions in a generic way +

+
+
+
+
+

+ Functions and values +

+ + + + + + + + + + + + + +
+ Function or value + + Description + +
+
+ +

+ + + RebuildShapeCombination (shape, arguments) + + +

+
+
+
+ Full Usage: + RebuildShapeCombination (shape, arguments) +
+
+ Parameters: +
    + + + shape + + : + objnull + - + The input shape. + +
    + + + arguments + + : + Expr list + - + The list of arguments. + +
    +
+
+ + Returns: + Expr + + The rebuilt expression. +
+
+
+
+
+
+ +
+
+

+ Re-build combination expressions. The first parameter should be an object + returned by the ShapeCombination case of the active pattern in this module. +

+
+
+ + + + + +
+
+
+
+
+ + shape + + : + objnull +
+
+

+ The input shape. +

+
+
+ + arguments + + : + Expr list +
+
+

+ The list of arguments. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The rebuilt expression. +

+
+
+
+
+
+
+
+

+ Active patterns +

+ + + + + + + + + + + + + +
+ Active pattern + + Description + +
+
+ +

+ + + (|ShapeVar|ShapeLambda|ShapeCombination|) input + + +

+
+
+
+ Full Usage: + (|ShapeVar|ShapeLambda|ShapeCombination|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression. + +
    +
+
+ + Returns: + Choice<Var, (Var * Expr), (objnull * Expr list)> + + The decomposed Var, Lambda, or ConstApp. +
+
+
+
+
+
+ +
+
+

+ An active pattern that performs a complete decomposition viewing the expression tree as a binding structure +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression. +

+
+
+
+
+ + Returns: + + Choice<Var, (Var * Expr), (objnull * Expr list)> +
+
+

+ The decomposed Var, Lambda, or ConstApp. +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-quotations-fsharpexpr-1.html b/reference/fsharp-quotations-fsharpexpr-1.html new file mode 100644 index 000000000..80e6c29a6 --- /dev/null +++ b/reference/fsharp-quotations-fsharpexpr-1.html @@ -0,0 +1,379 @@ + + + + + + + + + + + + + + + + + + Expr<'T> (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Expr<'T> Type +

+ +
+
+
Type-carrying quoted expressions. Expressions are generated either
+ by quotations in source text or programmatically
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.Raw + + +

+
+
+
+ Full Usage: + this.Raw +
+
+ + Returns: + Expr + +
+
+
+
+
+
+ +
+
+

+ Gets the raw expression associated with this type-carrying expression +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Expr +
+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let expr1 = <@ 1 + 1 @>
+
+ expr1.Raw
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val expr1: Expr<int>
+
property Expr.Raw: Expr with get
+ + + Evaluates to the same quotation as <@ expr1 @> except with the weaker type Expr instead of Expr<int>. + +

+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-quotations-fsharpexpr.html b/reference/fsharp-quotations-fsharpexpr.html new file mode 100644 index 000000000..a3e4af3b5 --- /dev/null +++ b/reference/fsharp-quotations-fsharpexpr.html @@ -0,0 +1,9870 @@ + + + + + + + + + + + + + + + + + + Expr (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Expr Type +

+ +
+
+
+

+ Quoted expressions annotated with System.Type values. +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.CustomAttributes + + +

+
+
+
+ Full Usage: + this.CustomAttributes +
+
+ + Returns: + Expr list + +
+
+
+
+
+
+ +
+
+

+ Returns the custom attributes of an expression. For quotations deriving from quotation literals this may include the source location of the literal. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Expr list +
+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let sampleQuotation =  <@ 1 + 1 @>
+
+ sampleQuotation.CustomAttributes
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val sampleQuotation: Expr<int>
+
property Expr.CustomAttributes: Expr list with get
+ + + Evaluates to a list of expressions containing one custom attribute for the source location of the quotation literal. + +

+
+
+
+ +

+ + + this.GetFreeVars + + +

+
+
+
+ Full Usage: + this.GetFreeVars +
+
+ + Returns: + Var seq + + A sequence of the free variables in the expression. +
+
+
+
+
+
+ +
+
+

+ Gets the free expression variables of an expression as a list. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Var seq +
+
+

+ A sequence of the free variables in the expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let sampleQuotation =  <@ fun v -> v * v @>
+
+ let v, body =
+     match sampleQuotation with
+     | Lambda(v, body) -> (v, body)
+     | _ -> failwith "unreachable"
+
+ body.GetFreeVars()
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val sampleQuotation: Expr<(int -> int)>
+
val v: int
+
val v: Var
+
val body: Expr
+
active recognizer Lambda: Expr -> (Var * Expr) option
+
val failwith: message: string -> 'T
+
member Expr.GetFreeVars: unit -> Var seq
+ + + Evaluates to a set containing the single variable for v +

+
+
+
+ +

+ + + this.Substitute + + +

+
+
+
+ Full Usage: + this.Substitute +
+
+ Parameters: +
    + + + substitution + + : + Var -> Expr option + - + The function to map variables into expressions. + +
    +
+
+ + Returns: + Expr + + The expression with the given substitutions. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + + + + +
+
+
+
+
+ + substitution + + : + Var -> Expr option +
+
+

+ The function to map variables into expressions. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The expression with the given substitutions. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let sampleQuotation =  <@ fun v -> v * v @>
+
+ let v, body =
+     match sampleQuotation with
+     | Lambda(v, body) -> (v, body)
+     | _ -> failwith "unreachable"
+
+ body.Substitute(function v2 when v = v2 -> Some <@ 1 + 1 @> | _ -> None)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val sampleQuotation: Expr<(int -> int)>
+
val v: int
+
val v: Var
+
val body: Expr
+
active recognizer Lambda: Expr -> (Var * Expr) option
+
val failwith: message: string -> 'T
+
member Expr.Substitute: substitution: (Var -> Expr option) -> Expr
+
val v2: Var
+
union case Option.Some: Value: 'T -> Option<'T>
+
union case Option.None: Option<'T>
+ + + Evaluates to <@ (1 + 1) * (1 + 1)>. + +

+
+
+
+ +

+ + + this.ToString + + +

+
+
+
+ Full Usage: + this.ToString +
+
+ Parameters: +
    + + + full + + : + bool + - + Indicates if method, property, constructor and type objects should be printed in detail. If false, these are abbreviated to their name. + +
    +
+
+ + Returns: + string + + The formatted string. +
+
+
+
+
+
+ +
+
+

+ Format the expression as a string +

+
+
+ + + + + +
+
+
+
+
+ + full + + : + bool +
+
+

+ Indicates if method, property, constructor and type objects should be printed in detail. If false, these are abbreviated to their name. +

+
+
+
+
+ + Returns: + + string +
+
+

+ The formatted string. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let expr1 = <@ 1 + 1 @>
+
+ expr1.ToString(true)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val expr1: Expr<int>
+
System.Object.ToString() : string
member Expr.ToString: full: bool -> string
+ + + Evaluates "Call (None, Int32 op_Addition[Int32,Int32,Int32](Int32, Int32),[Value (1), Value (1)])". + +

+
+
+
+ +

+ + + this.Type + + +

+
+
+
+ Full Usage: + this.Type +
+
+ + Returns: + Type + +
+
+
+
+
+
+ +
+
+

+ Returns type of an expression. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type +
+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let sampleQuotation =  <@ 1 + 1 @>
+
+ sampleQuotation.Type
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val sampleQuotation: Expr<int>
+
property Expr.Type: System.Type with get
+ + + Evaluates to typeof<int>. + +

+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + Expr.AddressOf(target) + + +

+
+
+
+ Full Usage: + Expr.AddressOf(target) +
+
+ Parameters: +
    + + + target + + : + Expr + - + The target expression. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents getting the address of a value. +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + Expr +
+
+

+ The target expression. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let array = [| 1; 2; 3 |]
+
+ Expr.AddressOf(<@ array.[1] @>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
val array: int array

--------------------
type 'T array = 'T array
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.AddressOf: target: Expr -> Expr
+ + + Evaluates to AddressOf (Call (None, GetArray, [PropertyGet (None, array, []), Value (1)])). + +

+
+
+
+ +

+ + + Expr.AddressSet(target, value) + + +

+
+
+
+ Full Usage: + Expr.AddressSet(target, value) +
+
+ Parameters: +
    + + + target + + : + Expr + - + The target expression. + +
    + + + value + + : + Expr + - + The value to set at the address. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents setting the value held at a particular address. +

+
+
+ + + + + +
+
+
+
+
+ + target + + : + Expr +
+
+

+ The target expression. +

+
+
+ + value + + : + Expr +
+
+

+ The value to set at the address. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let array = [| 1; 2; 3 |]
+
+ let addrExpr = Expr.AddressOf(<@ array.[1] @>)
+
+ Expr.AddressSet(addrExpr, <@ 4 @>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
val array: int array

--------------------
type 'T array = 'T array
+
val addrExpr: Expr
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.AddressOf: target: Expr -> Expr
+
static member Expr.AddressSet: target: Expr * value: Expr -> Expr
+ + + Evaluates to AddressSet (AddressOf (Call (None, GetArray, [PropertyGet (None, array, []), Value (1)])), Value (4)). + +

+
+
+
+ +

+ + + Expr.Application(functionExpr, argument) + + +

+
+
+
+ Full Usage: + Expr.Application(functionExpr, argument) +
+
+ Parameters: +
    + + + functionExpr + + : + Expr + - + The function to apply. + +
    + + + argument + + : + Expr + - + The argument to the function. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the application of a first class function value to a single argument. +

+
+
+ + + + + +
+
+
+
+
+ + functionExpr + + : + Expr +
+
+

+ The function to apply. +

+
+
+ + argument + + : + Expr +
+
+

+ The argument to the function. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let funcExpr = <@ (fun x -> x + 1) @>
+ let argExpr = <@ 3 @>
+
+ Expr.Application(funcExpr, argExpr)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val funcExpr: Expr<(int -> int)>
+
val x: int
+
val argExpr: Expr<int>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Application: functionExpr: Expr * argument: Expr -> Expr
+ + + Evaluates to a quotation with the same structure as <@ (fun x -> x + 1) 3 @>. + +

+
+
+
+ +

+ + + Expr.Applications(functionExpr, arguments) + + +

+
+
+
+ Full Usage: + Expr.Applications(functionExpr, arguments) +
+
+ Parameters: +
    + + + functionExpr + + : + Expr + - + The function to apply. + +
    + + + arguments + + : + Expr list list + - + The list of lists of arguments to the function. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the application of a first class function value to multiple arguments +

+
+
+ + + + + +
+
+
+
+
+ + functionExpr + + : + Expr +
+
+

+ The function to apply. +

+
+
+ + arguments + + : + Expr list list +
+
+

+ The list of lists of arguments to the function. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let funcExpr = <@ (fun (x, y) z -> x + y + z) @>
+ let curriedArgExprs = [[ <@ 1 @>; <@ 2 @> ]; [ <@ 3 @> ]]
+
+ Expr.Applications(funcExpr, curriedArgExprs)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val funcExpr: Expr<(int * int -> int -> int)>
+
val x: int
+
val y: int
+
val z: int
+
val curriedArgExprs: Expr<int> list list
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Applications: functionExpr: Expr * arguments: Expr list list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ (fun (x, y) z -> x + y + z) (1,2) 3 @>. + +

+
+
+
+ +

+ + + Expr.Call(obj, methodInfo, arguments) + + +

+
+
+
+ Full Usage: + Expr.Call(obj, methodInfo, arguments) +
+
+ Parameters: +
    + + + obj + + : + Expr + - + The input object. + +
    + + + methodInfo + + : + MethodInfo + - + The description of the method to call. + +
    + + + arguments + + : + Expr list + - + The list of arguments to the method. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a call to an instance method associated with an object +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + Expr +
+
+

+ The input object. +

+
+
+ + methodInfo + + : + MethodInfo +
+
+

+ The description of the method to call. +

+
+
+ + arguments + + : + Expr list +
+
+

+ The list of arguments to the method. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let objExpr, methInfo =
+     match <@ Console.Out.WriteLine("1") @> with
+     | Call(Some obj, mi, _) -> obj, mi
+     | _ -> failwith "call expected"
+
+ let argExpr = <@ "Hello World" @>
+
+ Expr.Call(objExpr, methInfo, [argExpr])
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val objExpr: Expr
+
val methInfo: Reflection.MethodInfo
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
property Console.Out: IO.TextWriter with get
<summary>Gets the standard output stream.</summary>
<returns>A <see cref="T:System.IO.TextWriter" /> that represents the standard output stream.</returns>
+
IO.TextWriter.WriteLine() : unit
   (+0 other overloads)
IO.TextWriter.WriteLine(value: uint64) : unit
   (+0 other overloads)
IO.TextWriter.WriteLine(value: uint32) : unit
   (+0 other overloads)
IO.TextWriter.WriteLine(value: Text.StringBuilder) : unit
   (+0 other overloads)
IO.TextWriter.WriteLine(value: string) : unit
   (+0 other overloads)
IO.TextWriter.WriteLine(value: float32) : unit
   (+0 other overloads)
IO.TextWriter.WriteLine(buffer: ReadOnlySpan<char>) : unit
   (+0 other overloads)
IO.TextWriter.WriteLine(value: obj) : unit
   (+0 other overloads)
IO.TextWriter.WriteLine(value: int64) : unit
   (+0 other overloads)
IO.TextWriter.WriteLine(value: int) : unit
   (+0 other overloads)
+
active recognizer Call: Expr -> (Expr option * Reflection.MethodInfo * Expr list) option
+
union case Option.Some: Value: 'T -> Option<'T>
+
Multiple items
val obj: Expr

--------------------
type obj = Object
+
val mi: Reflection.MethodInfo
+
val failwith: message: string -> 'T
+
val argExpr: Expr<string>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Call: methodInfo: Reflection.MethodInfo * arguments: Expr list -> Expr
static member Expr.Call: obj: Expr * methodInfo: Reflection.MethodInfo * arguments: Expr list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ Console.Out.WriteLine("Hello World") @>. + +

+
+
+
+ +

+ + + Expr.Call(methodInfo, arguments) + + +

+
+
+
+ Full Usage: + Expr.Call(methodInfo, arguments) +
+
+ Parameters: +
    + + + methodInfo + + : + MethodInfo + - + The MethodInfo describing the method to call. + +
    + + + arguments + + : + Expr list + - + The list of arguments to the method. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a call to an static method or module-bound function +

+
+
+ + + + + +
+
+
+
+
+ + methodInfo + + : + MethodInfo +
+
+

+ The MethodInfo describing the method to call. +

+
+
+ + arguments + + : + Expr list +
+
+

+ The list of arguments to the method. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let methInfo =
+     match <@ Console.WriteLine("1") @> with
+     | Call(_, mi, _) -> mi
+     | _ -> failwith "call expected"
+
+ let argExpr = <@ "Hello World" @>
+
+ Expr.Call(methInfo, [argExpr])
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val methInfo: Reflection.MethodInfo
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.WriteLine() : unit
   (+0 other overloads)
Console.WriteLine(value: uint64) : unit
   (+0 other overloads)
Console.WriteLine(value: uint32) : unit
   (+0 other overloads)
Console.WriteLine(value: string) : unit
   (+0 other overloads)
Console.WriteLine(value: float32) : unit
   (+0 other overloads)
Console.WriteLine(value: obj) : unit
   (+0 other overloads)
Console.WriteLine(value: int64) : unit
   (+0 other overloads)
Console.WriteLine(value: int) : unit
   (+0 other overloads)
Console.WriteLine(value: float) : unit
   (+0 other overloads)
Console.WriteLine(value: decimal) : unit
   (+0 other overloads)
+
active recognizer Call: Expr -> (Expr option * Reflection.MethodInfo * Expr list) option
+
val mi: Reflection.MethodInfo
+
val failwith: message: string -> 'T
+
val argExpr: Expr<string>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Call: methodInfo: Reflection.MethodInfo * arguments: Expr list -> Expr
static member Expr.Call: obj: Expr * methodInfo: Reflection.MethodInfo * arguments: Expr list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ Console.WriteLine("Hello World") @>. + +

+
+
+
+ +

+ + + Expr.CallWithWitnesses(obj, methodInfo, methodInfoWithWitnesses, witnesses, arguments) + + +

+
+
+
+ Full Usage: + Expr.CallWithWitnesses(obj, methodInfo, methodInfoWithWitnesses, witnesses, arguments) +
+
+ Parameters: +
    + + + obj + + : + Expr + - + The input object. + +
    + + + methodInfo + + : + MethodInfo + - + The description of the method to call. + +
    + + + methodInfoWithWitnesses + + : + MethodInfo + - + The additional MethodInfo describing the method to call, accepting witnesses. + +
    + + + witnesses + + : + Expr list + - + The list of witnesses to the method. + +
    + + + arguments + + : + Expr list + - + The list of arguments to the method. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a call to an instance method associated with an object, potentially passing additional witness arguments +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + Expr +
+
+

+ The input object. +

+
+
+ + methodInfo + + : + MethodInfo +
+
+

+ The description of the method to call. +

+
+
+ + methodInfoWithWitnesses + + : + MethodInfo +
+
+

+ The additional MethodInfo describing the method to call, accepting witnesses. +

+
+
+ + witnesses + + : + Expr list +
+
+

+ The list of witnesses to the method. +

+
+
+ + arguments + + : + Expr list +
+
+

+ The list of arguments to the method. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+ See examples for Call and CallWithWitnesses +

+
+
+
+ +

+ + + Expr.CallWithWitnesses(methodInfo, methodInfoWithWitnesses, witnesses, arguments) + + +

+
+
+
+ Full Usage: + Expr.CallWithWitnesses(methodInfo, methodInfoWithWitnesses, witnesses, arguments) +
+
+ Parameters: +
    + + + methodInfo + + : + MethodInfo + - + The MethodInfo describing the method to call. + +
    + + + methodInfoWithWitnesses + + : + MethodInfo + - + The additional MethodInfo describing the method to call, accepting witnesses. + +
    + + + witnesses + + : + Expr list + - + The list of witnesses to the method. + +
    + + + arguments + + : + Expr list + - + The list of arguments to the method. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a call to an static method or module-bound function, potentially passing additional witness arguments +

+
+
+ + + + + +
+
+
+
+
+ + methodInfo + + : + MethodInfo +
+
+

+ The MethodInfo describing the method to call. +

+
+
+ + methodInfoWithWitnesses + + : + MethodInfo +
+
+

+ The additional MethodInfo describing the method to call, accepting witnesses. +

+
+
+ + witnesses + + : + Expr list +
+
+

+ The list of witnesses to the method. +

+
+
+ + arguments + + : + Expr list +
+
+

+ The list of arguments to the method. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+ In this example, we show how to use a witness to construct an `op_Addition` call for a type that doesn't support addition directly: +

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ // Get the entrypoint for inline addition that takes an explicit witness
+ let addMethInfoG, addMethInfoGW =
+     match <@ 1+1 @> with
+     | CallWithWitnesses(None, mi, miW, _, _) ->
+         mi.GetGenericMethodDefinition(), miW.GetGenericMethodDefinition()
+     | _ ->
+         failwith "call expected"
+
+ // Make a non-standard witness for addition for a type C
+
+ type C(value: int) =
+     member x.Value = value
+
+ let witnessExpr = <@ (fun (x: C) (y: C) -> C(x.Value + y.Value)) @>
+ let argExpr1 = <@ C(4) @>
+ let argExpr2 = <@ C(5) @>
+
+ // Instantiate the generic method at the right type
+
+ let addMethInfo = addMethInfoG.MakeGenericMethod(typeof<C>, typeof<C>, typeof<C>)
+ let addMethInfoW = addMethInfoGW.MakeGenericMethod(typeof<C>, typeof<C>, typeof<C>)
+
+ Expr.CallWithWitnesses(addMethInfo, addMethInfoW, [witnessExpr], [argExpr1; argExpr2])
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val addMethInfoG: System.Reflection.MethodInfo
+
val addMethInfoGW: System.Reflection.MethodInfo
+
active recognizer CallWithWitnesses: Expr -> (Expr option * System.Reflection.MethodInfo * System.Reflection.MethodInfo * Expr list * Expr list) option
+
union case Option.None: Option<'T>
+
val mi: System.Reflection.MethodInfo
+
val miW: System.Reflection.MethodInfo
+
System.Reflection.MethodInfo.GetGenericMethodDefinition() : System.Reflection.MethodInfo
+
val failwith: message: string -> 'T
+
type C = + new: value: int -> C + member Value: int
+
val value: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val x: C
+
val witnessExpr: Expr<(C -> C -> C)>
+
val y: C
+
new: value: int -> C
+
property C.Value: int with get
+
val argExpr1: Expr<C>
+
val argExpr2: Expr<C>
+
val addMethInfo: System.Reflection.MethodInfo
+
System.Reflection.MethodInfo.MakeGenericMethod([<System.ParamArray>] typeArguments: System.Type array) : System.Reflection.MethodInfo
+
val typeof<'T> : System.Type
+
val addMethInfoW: System.Reflection.MethodInfo
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.CallWithWitnesses: methodInfo: System.Reflection.MethodInfo * methodInfoWithWitnesses: System.Reflection.MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr
static member Expr.CallWithWitnesses: obj: Expr * methodInfo: System.Reflection.MethodInfo * methodInfoWithWitnesses: System.Reflection.MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ Call (None, op_Addition, [NewObject (C, Value (4)), NewObject (C, Value (5))]) @>. + +

+
+
+
+ +

+ + + Expr.Cast(source) + + +

+
+
+
+ Full Usage: + Expr.Cast(source) +
+
+ Parameters: +
    + + + source + + : + Expr + - + The expression to cast. + +
    +
+
+ + Returns: + Expr<'T> + + The resulting typed 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. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + Expr +
+
+

+ The expression to cast. +

+
+
+
+
+ + Returns: + + Expr<'T> +
+
+

+ The resulting typed expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let rawExpr = <@ 1 @>
+
+ Expr.Cast<int>(rawExpr)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val rawExpr: Expr<int>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Cast: source: Expr -> Expr<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates with type Expr<int>. + +

+
+
+
+ +

+ + + Expr.Coerce(source, target) + + +

+
+
+
+ Full Usage: + Expr.Coerce(source, target) +
+
+ Parameters: +
    + + + source + + : + Expr + - + The expression to coerce. + +
    + + + target + + : + Type + - + The target type. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the coercion of an expression to a type +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + Expr +
+
+

+ The expression to coerce. +

+
+
+ + target + + : + Type +
+
+

+ The target type. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let expr = <@ box "3" @>
+
+ Expr.Coerce(expr, typeof<string>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val expr: Expr<obj>
+
val box: value: 'T -> obj
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Coerce: source: Expr * target: System.Type -> Expr
+
val typeof<'T> : System.Type
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+ + + Evaluates to a quotation with the same structure as <@ (fun x -> x + 1) 3 @>. + +

+
+
+
+ +

+ + + Expr.DefaultValue(expressionType) + + +

+
+
+
+ Full Usage: + Expr.DefaultValue(expressionType) +
+
+ Parameters: +
    + + + expressionType + + : + Type + - + The type on which the constructor is invoked. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the invocation of a default object constructor +

+
+
+ + + + + +
+
+
+
+
+ + expressionType + + : + Type +
+
+

+ The type on which the constructor is invoked. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.DefaultValue(typeof<int>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.DefaultValue: expressionType: System.Type -> Expr
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to the quotation DefaultValue (Int32). + +

+
+
+
+ +

+ + + Expr.Deserialize(qualifyingType, spliceTypes, spliceExprs, bytes) + + +

+
+
+
+ Full Usage: + Expr.Deserialize(qualifyingType, spliceTypes, spliceExprs, bytes) +
+
+ Parameters: +
    + + + qualifyingType + + : + Type + - + A type in the assembly where the quotation occurs. + +
    + + + spliceTypes + + : + Type list + - + The spliced types, to replace references to type variables. + +
    + + + spliceExprs + + : + Expr list + - + The spliced expressions to replace references to spliced expressions. + +
    + + + bytes + + : + byte array + - + The serialized form of the quoted expression. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ This function is called automatically when quotation syntax (<@ @>) and other sources of + quotations are used. +

+
+
+ + + + + +
+
+
+
+
+ + qualifyingType + + : + Type +
+
+

+ A type in the assembly where the quotation occurs. +

+
+
+ + spliceTypes + + : + Type list +
+
+

+ The spliced types, to replace references to type variables. +

+
+
+ + spliceExprs + + : + Expr list +
+
+

+ The spliced expressions to replace references to spliced expressions. +

+
+
+ + bytes + + : + byte array +
+
+

+ The serialized form of the quoted expression. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+
+
+ +

+ + + Expr.Deserialize40(qualifyingType, referencedTypes, spliceTypes, spliceExprs, bytes) + + +

+
+
+
+ Full Usage: + Expr.Deserialize40(qualifyingType, referencedTypes, spliceTypes, spliceExprs, bytes) +
+
+ Parameters: +
    + + + qualifyingType + + : + Type + - + A type in the assembly where the quotation occurs. + +
    + + + referencedTypes + + : + Type array + - + The type definitions referenced. + +
    + + + spliceTypes + + : + Type array + - + The spliced types, to replace references to type variables. + +
    + + + spliceExprs + + : + Expr array + - + The spliced expressions to replace references to spliced expressions. + +
    + + + bytes + + : + byte array + - + The serialized form of the quoted expression. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ This function is called automatically when quotation syntax (<@ @>) and other sources of + quotations are used. +

+
+
+ + + + + +
+
+
+
+
+ + qualifyingType + + : + Type +
+
+

+ A type in the assembly where the quotation occurs. +

+
+
+ + referencedTypes + + : + Type array +
+
+

+ The type definitions referenced. +

+
+
+ + spliceTypes + + : + Type array +
+
+

+ The spliced types, to replace references to type variables. +

+
+
+ + spliceExprs + + : + Expr array +
+
+

+ The spliced expressions to replace references to spliced expressions. +

+
+
+ + bytes + + : + byte array +
+
+

+ The serialized form of the quoted expression. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+
+
+ +

+ + + Expr.FieldGet(obj, fieldInfo) + + +

+
+
+
+ Full Usage: + Expr.FieldGet(obj, fieldInfo) +
+
+ Parameters: +
    + + + obj + + : + Expr + - + The input object. + +
    + + + fieldInfo + + : + FieldInfo + - + The description of the field to access. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the access of a field of an object +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + Expr +
+
+

+ The input object. +

+
+
+ + fieldInfo + + : + FieldInfo +
+
+

+ The description of the field to access. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let fieldInfo = typeof<int ref>.GetField("contents@")
+ let refValue = ref 3
+ let refExpr = <@ refValue @>
+
+ Expr.FieldGet(refExpr, fieldInfo)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val fieldInfo: System.Reflection.FieldInfo
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val ref: value: 'T -> 'T ref

--------------------
type 'T ref = Ref<'T>
+
val refValue: int ref
+
val refExpr: Expr<int ref>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.FieldGet: fieldInfo: System.Reflection.FieldInfo -> Expr
static member Expr.FieldGet: obj: Expr * fieldInfo: System.Reflection.FieldInfo -> Expr
+ + + Evaluates to FieldGet (Some (PropertyGet (None, refValue, [])), contents@). + Note that for technical reasons the quotation <@ refValue.contents @> evaluates to a different quotation + accessing the contents field via a property. + +

+
+
+
+ +

+ + + Expr.FieldGet(fieldInfo) + + +

+
+
+
+ Full Usage: + Expr.FieldGet(fieldInfo) +
+
+ Parameters: +
    + + + fieldInfo + + : + FieldInfo + - + The description of the field to access. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the access of a static field +

+
+
+ + + + + +
+
+
+
+
+ + fieldInfo + + : + FieldInfo +
+
+

+ The description of the field to access. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let fieldInfo = typeof<System.DayOfWeek>.GetField("Monday")
+
+ Expr.FieldGet(fieldInfo)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val fieldInfo: System.Reflection.FieldInfo
+
val typeof<'T> : System.Type
+
namespace System
+
[<Struct>] +type DayOfWeek = + | Sunday = 0 + | Monday = 1 + | Tuesday = 2 + | Wednesday = 3 + | Thursday = 4 + | Friday = 5 + | Saturday = 6
<summary>Specifies the day of the week.</summary>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.FieldGet: fieldInfo: System.Reflection.FieldInfo -> Expr
static member Expr.FieldGet: obj: Expr * fieldInfo: System.Reflection.FieldInfo -> Expr
+ + + Evaluates to FieldGet (None, Monday). Note that for technical reasons the quotation <@ System.DayOfWeek.Monday @> evaluates to a different quotation containing a constant enum value Value (Monday). + +

+
+
+
+ +

+ + + Expr.FieldSet(obj, fieldInfo, value) + + +

+
+
+
+ Full Usage: + Expr.FieldSet(obj, fieldInfo, value) +
+
+ Parameters: +
    + + + obj + + : + Expr + - + The input object. + +
    + + + fieldInfo + + : + FieldInfo + - + The description of the field to write to. + +
    + + + value + + : + Expr + - + The value to set to the field. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents writing to a field of an object +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + Expr +
+
+

+ The input object. +

+
+
+ + fieldInfo + + : + FieldInfo +
+
+

+ The description of the field to write to. +

+
+
+ + value + + : + Expr +
+
+

+ The value to set to the field. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+ Create an expression setting a reference cell via the public backing field: +

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let fieldInfo = typeof<int ref>.GetField("contents@")
+ let refValue = ref 3
+ let refExpr = <@ refValue @>
+ let valueExpr = <@ 6 @>
+
+ Expr.FieldSet(refExpr, fieldInfo, valueExpr)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val fieldInfo: System.Reflection.FieldInfo
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
val ref: value: 'T -> 'T ref

--------------------
type 'T ref = Ref<'T>
+
val refValue: int ref
+
val refExpr: Expr<int ref>
+
val valueExpr: Expr<int>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.FieldSet: fieldInfo: System.Reflection.FieldInfo * value: Expr -> Expr
static member Expr.FieldSet: obj: Expr * fieldInfo: System.Reflection.FieldInfo * value: Expr -> Expr
+ + + Evaluates to FieldSet (Some (PropertyGet (None, refValue, [])), contents@, Value (6)). + Note that for technical reasons the quotation <@ refValue.contents <- 6 @> evaluates to a slightly different quotation + accessing the contents field via a property. + +

+
+
+
+ +

+ + + Expr.FieldSet(fieldInfo, value) + + +

+
+
+
+ Full Usage: + Expr.FieldSet(fieldInfo, value) +
+
+ Parameters: +
    + + + fieldInfo + + : + FieldInfo + - + The description of the field to write to. + +
    + + + value + + : + Expr + - + The value to the set to the field. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents writing to a static field +

+
+
+ + + + + +
+
+
+

+ Settable public static fields are rare in F# and .NET libraries, so examples of using this method are uncommon. +

+
+
+ + fieldInfo + + : + FieldInfo +
+
+

+ The description of the field to write to. +

+
+
+ + value + + : + Expr +
+
+

+ The value to the set to the field. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+
+
+ +

+ + + Expr.ForIntegerRangeLoop(loopVariable, start, endExpr, body) + + +

+
+
+
+ Full Usage: + Expr.ForIntegerRangeLoop(loopVariable, start, endExpr, body) +
+
+ Parameters: +
    + + + loopVariable + + : + Var + - + The sub-expression declaring the loop variable. + +
    + + + start + + : + Expr + - + The sub-expression setting the initial value of the loop variable. + +
    + + + endExpr + + : + Expr + - + The sub-expression declaring the final value of the loop variable. + +
    + + + body + + : + Expr + - + The sub-expression representing the body of the loop. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds a 'for i = ... to ... do ...' expression that represent loops over integer ranges +

+
+
+ + + + + +
+
+
+
+
+ + loopVariable + + : + Var +
+
+

+ The sub-expression declaring the loop variable. +

+
+
+ + start + + : + Expr +
+
+

+ The sub-expression setting the initial value of the loop variable. +

+
+
+ + endExpr + + : + Expr +
+
+

+ The sub-expression declaring the final value of the loop variable. +

+
+
+ + body + + : + Expr +
+
+

+ The sub-expression representing the body of the loop. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let loopVariable = Var("x", typeof<int>)
+ let startExpr = <@ 6 @>
+ let endExpr = <@ 7 @>
+ let body = <@ System.Console.WriteLine("hello") @>
+
+ Expr.ForIntegerRangeLoop(loopVariable, startExpr, endExpr, body)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val loopVariable: Var
+
Multiple items
type Var = + interface IComparable + new: name: string * typ: Type * ?isMutable: bool -> Var + static member Global: name: string * typ: Type -> Var + member IsMutable: bool + member Name: string + member Type: Type

--------------------
new: name: string * typ: System.Type * ?isMutable: bool -> Var
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val startExpr: Expr<int>
+
val endExpr: Expr<int>
+
val body: Expr<unit>
+
namespace System
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
System.Console.WriteLine() : unit
   (+0 other overloads)
System.Console.WriteLine(value: uint64) : unit
   (+0 other overloads)
System.Console.WriteLine(value: uint32) : unit
   (+0 other overloads)
System.Console.WriteLine(value: string) : unit
   (+0 other overloads)
System.Console.WriteLine(value: float32) : unit
   (+0 other overloads)
System.Console.WriteLine(value: obj) : unit
   (+0 other overloads)
System.Console.WriteLine(value: int64) : unit
   (+0 other overloads)
System.Console.WriteLine(value: int) : unit
   (+0 other overloads)
System.Console.WriteLine(value: float) : unit
   (+0 other overloads)
System.Console.WriteLine(value: decimal) : unit
   (+0 other overloads)
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.ForIntegerRangeLoop: loopVariable: Var * start: Expr * endExpr: Expr * body: Expr -> Expr
+ + + Evaluates to a quotation with the same structure as <@ for x in 6..7 do System.Console.WriteLine("hello") @>. + +

+
+
+
+ +

+ + + Expr.GlobalVar(name) + + +

+
+
+
+ Full Usage: + Expr.GlobalVar(name) +
+
+ Parameters: +
    + + + name + + : + string + - + The variable name. + +
    +
+
+ + Returns: + Expr<'T> + + The created of fetched typed global variable. +
+
+
+
+
+
+ +
+
+

+ 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 explicit or inferred type parameter +

+
+
+ + + + + +
+
+
+
+
+ + name + + : + string +
+
+

+ The variable name. +

+
+
+
+
+ + Returns: + + Expr<'T> +
+
+

+ The created of fetched typed global variable. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let expr1 = Expr.GlobalVar<int>("x")
+ let expr2 = Expr.GlobalVar<int>("x")
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val expr1: Expr<int>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.GlobalVar: name: string -> Expr<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val expr2: Expr<int>
+ + + Evaluates expr1 and expr2 to identical quotations. + +

+
+
+
+ +

+ + + Expr.IfThenElse(guard, thenExpr, elseExpr) + + +

+
+
+
+ Full Usage: + Expr.IfThenElse(guard, thenExpr, elseExpr) +
+
+ Parameters: +
    + + + guard + + : + Expr + - + The condition expression. + +
    + + + thenExpr + + : + Expr + - + The then sub-expression. + +
    + + + elseExpr + + : + Expr + - + The else sub-expression. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds 'if ... then ... else' expressions. +

+
+
+ + + + + +
+
+
+
+
+ + guard + + : + Expr +
+
+

+ The condition expression. +

+
+
+ + thenExpr + + : + Expr +
+
+

+ The then sub-expression. +

+
+
+ + elseExpr + + : + Expr +
+
+

+ The else sub-expression. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let guardExpr = <@ 1 > 3 @>
+ let thenExpr = <@ 6 @>
+ let elseExpr = <@ 7 @>
+
+ Expr.IfThenElse(guardExpr, thenExpr, elseExpr)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val guardExpr: Expr<bool>
+
val thenExpr: Expr<int>
+
val elseExpr: Expr<int>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.IfThenElse: guard: Expr * thenExpr: Expr * elseExpr: Expr -> Expr
+ + + Evaluates to a quotation with the same structure as <@ if 1 > 3 then 6 else 7 @>. + +

+
+
+
+ +

+ + + Expr.Lambda(parameter, body) + + +

+
+
+
+ Full Usage: + Expr.Lambda(parameter, body) +
+
+ Parameters: +
    + + + parameter + + : + Var + - + The parameter to the function. + +
    + + + body + + : + Expr + - + The body of the function. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the construction of an F# function value +

+
+
+ + + + + +
+
+
+
+
+ + parameter + + : + Var +
+
+

+ The parameter to the function. +

+
+
+ + body + + : + Expr +
+
+

+ The body of the function. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let vVar = Var("v", typeof<int>)
+ let vExpr = Expr.Var(vVar)
+
+ Expr.Lambda(vVar, vExpr)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val vVar: Var
+
Multiple items
active recognizer Var: Expr -> Var option

--------------------
type Var = + interface IComparable + new: name: string * typ: Type * ?isMutable: bool -> Var + static member Global: name: string * typ: Type -> Var + member IsMutable: bool + member Name: string + member Type: Type

--------------------
new: name: string * typ: System.Type * ?isMutable: bool -> Var
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val vExpr: Expr
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Var: variable: Var -> Expr
+
static member Expr.Lambda: parameter: Var * body: Expr -> Expr
+ + + Evaluates to Lambda (v, v). + +

+
+
+
+ +

+ + + Expr.Let(letVariable, letExpr, body) + + +

+
+
+
+ Full Usage: + Expr.Let(letVariable, letExpr, body) +
+
+ Parameters: +
    + + + letVariable + + : + Var + - + The variable in the let expression. + +
    + + + letExpr + + : + Expr + - + The expression bound to the variable. + +
    + + + body + + : + Expr + - + The sub-expression where the binding is in scope. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds expressions associated with 'let' constructs +

+
+
+ + + + + +
+
+
+
+
+ + letVariable + + : + Var +
+
+

+ The variable in the let expression. +

+
+
+ + letExpr + + : + Expr +
+
+

+ The expression bound to the variable. +

+
+
+ + body + + : + Expr +
+
+

+ The sub-expression where the binding is in scope. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let vVar = Var("v", typeof<int>)
+ let rhsExpr = <@ 6 @>
+ let vExpr = Expr.Var(vVar)
+
+ Expr.Let(vVar, rhsExpr, vExpr)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val vVar: Var
+
Multiple items
type Var = + interface IComparable + new: name: string * typ: Type * ?isMutable: bool -> Var + static member Global: name: string * typ: Type -> Var + member IsMutable: bool + member Name: string + member Type: Type

--------------------
new: name: string * typ: System.Type * ?isMutable: bool -> Var
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val rhsExpr: Expr<int>
+
val vExpr: Expr
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Var: variable: Var -> Expr
+
static member Expr.Let: letVariable: Var * letExpr: Expr * body: Expr -> Expr
+ + + Evaluates to a quotation with the same structure as <@ let v = 6 in v @>. + +

+
+
+
+ +

+ + + Expr.LetRecursive(bindings, body) + + +

+
+
+
+ Full Usage: + Expr.LetRecursive(bindings, body) +
+
+ Parameters: +
    + + + bindings + + : + (Var * Expr) list + - + The list of bindings for the let expression. + +
    + + + body + + : + Expr + - + The sub-expression where the bindings are in scope. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds recursive expressions associated with 'let rec' constructs +

+
+
+ + + + + +
+
+
+
+
+ + bindings + + : + (Var * Expr) list +
+
+

+ The list of bindings for the let expression. +

+
+
+ + body + + : + Expr +
+
+

+ The sub-expression where the bindings are in scope. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let fVar = Var("f", typeof<int -> int>)
+ let gVar = Var("v", typeof<int -> int>)
+ let fExpr = Expr.Var(fVar)
+ let gExpr = Expr.Var(gVar)
+ let fImplExpr = <@ fun x -> (%%gExpr : int -> int) (x - 1) + 1 @>
+ let gImplExpr = <@ fun x -> if x > 0 then (%%fExpr : int -> int) (x - 1) else 0 @>
+ let bodyExpr = <@ (%%gExpr : int -> int) 10 @>
+
+ Expr.LetRecursive([(fVar, fImplExpr); (gVar, gImplExpr)], bodyExpr)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val fVar: Var
+
Multiple items
active recognizer Var: Expr -> Var option

--------------------
type Var = + interface IComparable + new: name: string * typ: Type * ?isMutable: bool -> Var + static member Global: name: string * typ: Type -> Var + member IsMutable: bool + member Name: string + member Type: Type

--------------------
new: name: string * typ: System.Type * ?isMutable: bool -> Var
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val gVar: Var
+
val fExpr: Expr
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Var: variable: Var -> Expr
+
val gExpr: Expr
+
val fImplExpr: Expr<(int -> int)>
+
val x: int
+
val gImplExpr: Expr<(int -> int)>
+
val bodyExpr: Expr<int>
+
static member Expr.LetRecursive: bindings: (Var * Expr) list * body: Expr -> Expr
+ + + Evaluates to a quotation with the same structure as <@ let rec f x = g (x-1) + 1 and g x = if x > 0 then f (x - 1) else 0 in g 10 @>. + +

+
+
+
+ +

+ + + Expr.NewArray(elementType, elements) + + +

+
+
+
+ Full Usage: + Expr.NewArray(elementType, elements) +
+
+ Parameters: +
    + + + elementType + + : + Type + - + The type for the elements of the array. + +
    + + + elements + + : + Expr list + - + The list of elements of the array. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the creation of an array value initialized with the given elements +

+
+
+ + + + + +
+
+
+
+
+ + elementType + + : + Type +
+
+

+ The type for the elements of the array. +

+
+
+ + elements + + : + Expr list +
+
+

+ The list of elements of the array. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.NewArray(typeof<int>, [ <@ 1 @>; <@ 2 @> ])
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.NewArray: elementType: System.Type * elements: Expr list -> Expr
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to a quotation with the same structure as <@ [| 1; 2 |] @>. + +

+
+
+
+ +

+ + + Expr.NewDelegate(delegateType, parameters, body) + + +

+
+
+
+ Full Usage: + Expr.NewDelegate(delegateType, parameters, body) +
+
+ Parameters: +
    + + + delegateType + + : + Type + - + The type of delegate. + +
    + + + parameters + + : + Var list + - + The parameters for the delegate. + +
    + + + body + + : + Expr + - + The body of the function. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the creation of a delegate value for the given type +

+
+
+ + + + + +
+
+
+
+
+ + delegateType + + : + Type +
+
+

+ The type of delegate. +

+
+
+ + parameters + + : + Var list +
+
+

+ The parameters for the delegate. +

+
+
+ + body + + : + Expr +
+
+

+ The body of the function. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+
+ let vVar = Var("v", typeof<int>)
+ let vExpr = Expr.Var(vVar)
+
+ Expr.NewDelegate(typeof<Func<int,int>>, [vVar], vExpr)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
val vVar: Var
+
Multiple items
type Var = + interface IComparable + new: name: string * typ: Type * ?isMutable: bool -> Var + static member Global: name: string * typ: Type -> Var + member IsMutable: bool + member Name: string + member Type: Type

--------------------
new: name: string * typ: Type * ?isMutable: bool -> Var
+
val typeof<'T> : Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val vExpr: Expr
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Var: variable: Var -> Expr
+
static member Expr.NewDelegate: delegateType: Type * parameters: Var list * body: Expr -> Expr
+
Multiple items
type Func<'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: unit -> 'TResult
<summary>Encapsulates a method that has no parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg: 'T * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg: 'T -> 'TResult
<summary>Encapsulates a method that has one parameter and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg">The parameter of the method that this delegate encapsulates.</param>
<typeparam name="T">The type of the parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 -> 'TResult
<summary>Encapsulates a method that has two parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 -> 'TResult
<summary>Encapsulates a method that has three parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 -> 'TResult
<summary>Encapsulates a method that has four parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 -> 'TResult
<summary>Encapsulates a method that has five parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 -> 'TResult
<summary>Encapsulates a method that has six parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'T7,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 -> 'TResult
<summary>Encapsulates a method that has seven parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'T7,'T8,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 -> 'TResult
<summary>Encapsulates a method that has eight parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
<param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'T7,'T8,'T9,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 -> 'TResult
<summary>Encapsulates a method that has nine parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
<param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
<param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'T7,'T8,'T9,'T10,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 -> 'TResult
<summary>Encapsulates a method that has 10 parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
<param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
<param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
<param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'T7,'T8,'T9,'T10,'T11,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 -> 'TResult
<summary>Encapsulates a method that has 11 parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
<param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
<param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
<param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
<param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'T7,'T8,'T9,'T10,'T11,'T12,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * arg12: 'T12 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * arg12: 'T12 -> 'TResult
<summary>Encapsulates a method that has 12 parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
<param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
<param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
<param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
<param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
<param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'T7,'T8,'T9,'T10,'T11,'T12,'T13,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * arg12: 'T12 * arg13: 'T13 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * arg12: 'T12 * arg13: 'T13 -> 'TResult
<summary>Encapsulates a method that has 13 parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
<param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
<param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
<param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
<param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
<param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
<param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'T7,'T8,'T9,'T10,'T11,'T12,'T13,'T14,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * arg12: 'T12 * arg13: 'T13 * arg14: 'T14 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * arg12: 'T12 * arg13: 'T13 * arg14: 'T14 -> 'TResult
<summary>Encapsulates a method that has 14 parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
<param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
<param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
<param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
<param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
<param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
<param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
<param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'T7,'T8,'T9,'T10,'T11,'T12,'T13,'T14,'T15,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * arg12: 'T12 * arg13: 'T13 * arg14: 'T14 * arg15: 'T15 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * arg12: 'T12 * arg13: 'T13 * arg14: 'T14 * arg15: 'T15 -> 'TResult
<summary>Encapsulates a method that has 15 parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
<param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
<param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
<param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
<param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
<param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
<param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
<param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
<param name="arg15">The fifteenth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T15">The type of the fifteenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>


--------------------
type Func<'T1,'T2,'T3,'T4,'T5,'T6,'T7,'T8,'T9,'T10,'T11,'T12,'T13,'T14,'T15,'T16,'TResult> = + new: object: obj * method: nativeint -> unit + member BeginInvoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * arg12: 'T12 * arg13: 'T13 * arg14: 'T14 * arg15: 'T15 * arg16: 'T16 * callback: AsyncCallback * object: obj -> IAsyncResult + member EndInvoke: result: IAsyncResult -> 'TResult + member Invoke: arg1: 'T1 * arg2: 'T2 * arg3: 'T3 * arg4: 'T4 * arg5: 'T5 * arg6: 'T6 * arg7: 'T7 * arg8: 'T8 * arg9: 'T9 * arg10: 'T10 * arg11: 'T11 * arg12: 'T12 * arg13: 'T13 * arg14: 'T14 * arg15: 'T15 * arg16: 'T16 -> 'TResult
<summary>Encapsulates a method that has 16 parameters and returns a value of the type specified by the <typeparamref name="TResult" /> parameter.</summary>
<param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
<param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
<param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
<param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
<param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
<param name="arg6">The sixth parameter of the method that this delegate encapsulates.</param>
<param name="arg7">The seventh parameter of the method that this delegate encapsulates.</param>
<param name="arg8">The eighth parameter of the method that this delegate encapsulates.</param>
<param name="arg9">The ninth parameter of the method that this delegate encapsulates.</param>
<param name="arg10">The tenth parameter of the method that this delegate encapsulates.</param>
<param name="arg11">The eleventh parameter of the method that this delegate encapsulates.</param>
<param name="arg12">The twelfth parameter of the method that this delegate encapsulates.</param>
<param name="arg13">The thirteenth parameter of the method that this delegate encapsulates.</param>
<param name="arg14">The fourteenth parameter of the method that this delegate encapsulates.</param>
<param name="arg15">The fifteenth parameter of the method that this delegate encapsulates.</param>
<param name="arg16">The sixteenth parameter of the method that this delegate encapsulates.</param>
<typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T6">The type of the sixth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T7">The type of the seventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T8">The type of the eighth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T9">The type of the ninth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T10">The type of the tenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T11">The type of the eleventh parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T12">The type of the twelfth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T13">The type of the thirteenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T14">The type of the fourteenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T15">The type of the fifteenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="T16">The type of the sixteenth parameter of the method that this delegate encapsulates.</typeparam>
<typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
<returns>The return value of the method that this delegate encapsulates.</returns>
+ + + Evaluates to a quotation with the same structure as <@ new System.Func<int, int>(fun v -> v) @>. + +

+
+
+
+ +

+ + + Expr.NewObject(constructorInfo, arguments) + + +

+
+
+
+ Full Usage: + Expr.NewObject(constructorInfo, arguments) +
+
+ Parameters: +
    + + + constructorInfo + + : + ConstructorInfo + - + The description of the constructor. + +
    + + + arguments + + : + Expr list + - + The list of arguments to the constructor. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the invocation of an object constructor +

+
+
+ + + + + +
+
+
+
+
+ + constructorInfo + + : + ConstructorInfo +
+
+

+ The description of the constructor. +

+
+
+ + arguments + + : + Expr list +
+
+

+ The list of arguments to the constructor. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let ctorInfo =
+     match <@ new System.DateTime(100L) @> with
+     | NewObject(ci, _) -> ci
+     | _ -> failwith "call expected"
+
+ let argExpr = <@ 100000L @>
+
+ Expr.NewObject(ctorInfo, [argExpr])
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val ctorInfo: Reflection.ConstructorInfo
+
Multiple items
[<Struct>] +type DateTime = + new: date: DateOnly * time: TimeOnly -> unit + 16 overloads + member Add: value: TimeSpan -> DateTime + member AddDays: value: float -> DateTime + member AddHours: value: float -> DateTime + member AddMicroseconds: value: float -> DateTime + member AddMilliseconds: value: float -> DateTime + member AddMinutes: value: float -> DateTime + member AddMonths: months: int -> DateTime + member AddSeconds: value: float -> DateTime + member AddTicks: value: int64 -> DateTime + ...
<summary>Represents an instant in time, typically expressed as a date and time of day.</summary>

--------------------
DateTime ()
   (+0 other overloads)
DateTime(ticks: int64) : DateTime
   (+0 other overloads)
DateTime(date: DateOnly, time: TimeOnly) : DateTime
   (+0 other overloads)
DateTime(ticks: int64, kind: DateTimeKind) : DateTime
   (+0 other overloads)
DateTime(date: DateOnly, time: TimeOnly, kind: DateTimeKind) : DateTime
   (+0 other overloads)
DateTime(year: int, month: int, day: int) : DateTime
   (+0 other overloads)
DateTime(year: int, month: int, day: int, calendar: Globalization.Calendar) : DateTime
   (+0 other overloads)
DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int) : DateTime
   (+0 other overloads)
DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, kind: DateTimeKind) : DateTime
   (+0 other overloads)
DateTime(year: int, month: int, day: int, hour: int, minute: int, second: int, calendar: Globalization.Calendar) : DateTime
   (+0 other overloads)
+
active recognizer NewObject: Expr -> (Reflection.ConstructorInfo * Expr list) option
+
val ci: Reflection.ConstructorInfo
+
val failwith: message: string -> 'T
+
val argExpr: Expr<int64>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.NewObject: constructorInfo: Reflection.ConstructorInfo * arguments: Expr list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ NewObject (DateTime, Value (100000L)) @>. + +

+
+
+
+ +

+ + + Expr.NewRecord(recordType, elements) + + +

+
+
+
+ Full Usage: + Expr.NewRecord(recordType, elements) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The type of record. + +
    + + + elements + + : + Expr list + - + The list of elements of the record. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds record-construction expressions +

+
+
+ + + + + +
+
+
+
+
+ + recordType + + : + Type +
+
+

+ The type of record. +

+
+
+ + elements + + : + Expr list +
+
+

+ The list of elements of the record. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ type R = { Y: int; X: string }
+
+ Expr.NewRecord(typeof<R>, [ <@ 1 @>; <@ "a" @> ])
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
type R = + { + Y: int + X: string + }
+
R.Y: int
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
R.X: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.NewRecord: recordType: System.Type * elements: Expr list -> Expr
+
val typeof<'T> : System.Type
+ + + Evaluates to a quotation with the same structure as <@ { Y = 1; X = "a" } @>. + +

+
+
+
+ +

+ + + Expr.NewStructTuple(elements) + + +

+
+
+
+ Full Usage: + Expr.NewStructTuple(elements) +
+
+ Parameters: +
    + + + elements + + : + Expr list + - + The list of elements of the tuple. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the creation of an F# tuple value +

+
+
+ + + + + +
+
+
+
+
+ + elements + + : + Expr list +
+
+

+ The list of elements of the tuple. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.NewStructTuple( [ <@ 1 @>; <@ "a" @> ])
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.NewStructTuple: elements: Expr list -> Expr
static member Expr.NewStructTuple: asm: System.Reflection.Assembly * elements: Expr list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ struct (1, "a") @>. + +

+
+
+
+ +

+ + + Expr.NewStructTuple(asm, elements) + + +

+
+
+
+ Full Usage: + Expr.NewStructTuple(asm, elements) +
+
+ Parameters: +
    + + + asm + + : + Assembly + - + Runtime assembly containing System.ValueTuple definitions. + +
    + + + elements + + : + Expr list + - + The list of elements of the tuple. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the creation of an F# tuple value +

+
+
+ + + + + +
+
+
+
+
+ + asm + + : + Assembly +
+
+

+ Runtime assembly containing System.ValueTuple definitions. +

+
+
+ + elements + + : + Expr list +
+
+

+ The list of elements of the tuple. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.NewStructTuple(typeof<struct (int * int)>.Assembly, [ <@ 1 @>; <@ "a" @> ])
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.NewStructTuple: elements: Expr list -> Expr
static member Expr.NewStructTuple: asm: System.Reflection.Assembly * elements: Expr list -> Expr
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to a quotation with the same structure as <@ struct (1, "a") @>. + +

+
+
+
+ +

+ + + Expr.NewTuple(elements) + + +

+
+
+
+ Full Usage: + Expr.NewTuple(elements) +
+
+ Parameters: +
    + + + elements + + : + Expr list + - + The list of elements of the tuple. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the creation of an F# tuple value +

+
+
+ + + + + +
+
+
+
+
+ + elements + + : + Expr list +
+
+

+ The list of elements of the tuple. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.NewTuple([ <@ 1 @>; <@ "a" @> ])
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.NewTuple: elements: Expr list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ (1, "a") @>. + +

+
+
+
+ +

+ + + Expr.NewUnionCase(unionCase, arguments) + + +

+
+
+
+ Full Usage: + Expr.NewUnionCase(unionCase, arguments) +
+
+ Parameters: +
    + + + unionCase + + : + UnionCaseInfo + - + The description of the union case. + +
    + + + arguments + + : + Expr list + - + The list of arguments for the case. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the creation of a union case value +

+
+
+ + + + + +
+
+
+
+
+ + unionCase + + : + UnionCaseInfo +
+
+

+ The description of the union case. +

+
+
+ + arguments + + : + Expr list +
+
+

+ The list of arguments for the case. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+ open FSharp.Reflection
+
+ let ucCons = FSharpType.GetUnionCases(typeof<int list>)[1]
+
+ Expr.NewUnionCase(ucCons, [ <@ 10 @>; <@ [11] @> ])
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp.Reflection
+
val ucCons: UnionCaseInfo
+
type FSharpType = + static member GetExceptionFields: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] exceptionType: Type * ?bindingFlags: BindingFlags -> PropertyInfo array + static member GetFunctionElements: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] functionType: Type -> Type * Type + static member GetRecordFields: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] recordType: Type * ?bindingFlags: BindingFlags -> PropertyInfo array + static member GetTupleElements: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] tupleType: Type -> Type array + static member GetUnionCases: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] unionType: Type * ?bindingFlags: BindingFlags -> UnionCaseInfo array + static member IsExceptionRepresentation: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] exceptionType: Type * ?bindingFlags: BindingFlags -> bool + static member IsFunction: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] typ: Type -> bool + static member IsModule: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] typ: Type -> bool + static member IsRecord: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] typ: Type * ?bindingFlags: BindingFlags -> bool + static member IsTuple: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] typ: Type -> bool + ...
+
static member FSharpType.GetUnionCases: [<Diagnostics.CodeAnalysis.DynamicallyAccessedMembers (enum<Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes> (-1))>] unionType: Type * ?allowAccessToPrivateRepresentation: bool -> UnionCaseInfo array
static member FSharpType.GetUnionCases: [<Diagnostics.CodeAnalysis.DynamicallyAccessedMembers (enum<Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes> (-1))>] unionType: Type * ?bindingFlags: Reflection.BindingFlags -> UnionCaseInfo array
+
val typeof<'T> : Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T list = List<'T>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.NewUnionCase: unionCase: UnionCaseInfo * arguments: Expr list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ 10 :: [11] @>. + +

+
+
+
+ +

+ + + Expr.PropertyGet(property, ?indexerArgs) + + +

+
+
+
+ Full Usage: + Expr.PropertyGet(property, ?indexerArgs) +
+
+ Parameters: +
    + + + property + + : + PropertyInfo + - + The description of the property. + +
    + + + ?indexerArgs + + : + Expr list + - + List of indices for the property if it is an indexed property. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents reading a static property +

+
+
+ + + + + +
+
+
+
+
+ + property + + : + PropertyInfo +
+
+

+ The description of the property. +

+
+
+ + ?indexerArgs + + : + Expr list +
+
+

+ List of indices for the property if it is an indexed property. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let propInfo =
+     match <@ Console.Out @> with
+     | PropertyGet(None, pi, _) -> pi
+     | _ -> failwith "property get expected"
+
+ Expr.PropertyGet(propInfo)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val propInfo: Reflection.PropertyInfo
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
property Console.Out: IO.TextWriter with get
<summary>Gets the standard output stream.</summary>
<returns>A <see cref="T:System.IO.TextWriter" /> that represents the standard output stream.</returns>
+
active recognizer PropertyGet: Expr -> (Expr option * Reflection.PropertyInfo * Expr list) option
+
union case Option.None: Option<'T>
+
val pi: Reflection.PropertyInfo
+
val failwith: message: string -> 'T
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.PropertyGet: property: Reflection.PropertyInfo * ?indexerArgs: Expr list -> Expr
static member Expr.PropertyGet: obj: Expr * property: Reflection.PropertyInfo * ?indexerArgs: Expr list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ Console.Out @>. + +

+
+
+
+ +

+ + + Expr.PropertyGet(obj, property, ?indexerArgs) + + +

+
+
+
+ Full Usage: + Expr.PropertyGet(obj, property, ?indexerArgs) +
+
+ Parameters: +
    + + + obj + + : + Expr + - + The input object. + +
    + + + property + + : + PropertyInfo + - + The description of the property. + +
    + + + ?indexerArgs + + : + Expr list + - + List of indices for the property if it is an indexed property. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents reading a property of an object +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + Expr +
+
+

+ The input object. +

+
+
+ + property + + : + PropertyInfo +
+
+

+ The description of the property. +

+
+
+ + ?indexerArgs + + : + Expr list +
+
+

+ List of indices for the property if it is an indexed property. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let propInfo =
+     match <@ "a".Length @> with
+     | PropertyGet(Some _, pi, _) -> pi
+     | _ -> failwith "property get expected"
+
+ let objExpr = <@ "bb" @>
+
+ Expr.PropertyGet(objExpr, propInfo)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val propInfo: Reflection.PropertyInfo
+
active recognizer PropertyGet: Expr -> (Expr option * Reflection.PropertyInfo * Expr list) option
+
union case Option.Some: Value: 'T -> Option<'T>
+
val pi: Reflection.PropertyInfo
+
val failwith: message: string -> 'T
+
val objExpr: Expr<string>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.PropertyGet: property: Reflection.PropertyInfo * ?indexerArgs: Expr list -> Expr
static member Expr.PropertyGet: obj: Expr * property: Reflection.PropertyInfo * ?indexerArgs: Expr list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ "bb".Length @>. + +

+
+
+
+ +

+ + + Expr.PropertySet(property, value, ?indexerArgs) + + +

+
+
+
+ Full Usage: + Expr.PropertySet(property, value, ?indexerArgs) +
+
+ Parameters: +
    + + + property + + : + PropertyInfo + - + The description of the property. + +
    + + + value + + : + Expr + - + The value to set. + +
    + + + ?indexerArgs + + : + Expr list + - + List of indices for the property if it is an indexed property. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents writing to a static property +

+
+
+ + + + + +
+
+
+
+
+ + property + + : + PropertyInfo +
+
+

+ The description of the property. +

+
+
+ + value + + : + Expr +
+
+

+ The value to set. +

+
+
+ + ?indexerArgs + + : + Expr list +
+
+

+ List of indices for the property if it is an indexed property. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open System.Collections.Generic
+ open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let propInfo =
+     match <@ Console.BackgroundColor <- ConsoleColor.Red  @> with
+     | PropertySet(None, pi, _, _) -> pi
+     | _ -> failwith "property get expected"
+
+ Expr.PropertySet(propInfo, <@ ConsoleColor.Blue @>)
+
+
namespace System
+
namespace System.Collections
+
namespace System.Collections.Generic
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val propInfo: Reflection.PropertyInfo
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
property Console.BackgroundColor: ConsoleColor with get, set
<summary>Gets or sets the background color of the console.</summary>
<exception cref="T:System.ArgumentException">The color specified in a set operation is not a valid member of <see cref="T:System.ConsoleColor" />.</exception>
<exception cref="T:System.Security.SecurityException">The user does not have permission to perform this action.</exception>
<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
<returns>A value that specifies the background color of the console; that is, the color that appears behind each character. The default is black.</returns>
+
[<Struct>] +type ConsoleColor = + | Black = 0 + | DarkBlue = 1 + | DarkGreen = 2 + | DarkCyan = 3 + | DarkRed = 4 + | DarkMagenta = 5 + | DarkYellow = 6 + | Gray = 7 + | DarkGray = 8 + | Blue = 9 + ...
<summary>Specifies constants that define foreground and background colors for the console.</summary>
+
field ConsoleColor.Red: ConsoleColor = 12
+
active recognizer PropertySet: Expr -> (Expr option * Reflection.PropertyInfo * Expr list * Expr) option
+
union case Option.None: Option<'T>
+
val pi: Reflection.PropertyInfo
+
val failwith: message: string -> 'T
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.PropertySet: property: Reflection.PropertyInfo * value: Expr * ?indexerArgs: Expr list -> Expr
static member Expr.PropertySet: obj: Expr * property: Reflection.PropertyInfo * value: Expr * ?indexerArgs: Expr list -> Expr
+
field ConsoleColor.Blue: ConsoleColor = 9
+ + + Evaluates to a quotation with the same structure as <@ Console.BackgroundColor <- ConsoleColor.Blue @>. + +

+
+
+
+ +

+ + + Expr.PropertySet(obj, property, value, ?indexerArgs) + + +

+
+
+
+ Full Usage: + Expr.PropertySet(obj, property, value, ?indexerArgs) +
+
+ Parameters: +
    + + + obj + + : + Expr + - + The input object. + +
    + + + property + + : + PropertyInfo + - + The description of the property. + +
    + + + value + + : + Expr + - + The value to set. + +
    + + + ?indexerArgs + + : + Expr list + - + List of indices for the property if it is an indexed property. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents writing to a property of an object +

+
+
+ + + + + +
+
+
+
+
+ + obj + + : + Expr +
+
+

+ The input object. +

+
+
+ + property + + : + PropertyInfo +
+
+

+ The description of the property. +

+
+
+ + value + + : + Expr +
+
+

+ The value to set. +

+
+
+ + ?indexerArgs + + : + Expr list +
+
+

+ List of indices for the property if it is an indexed property. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open System.Collections.Generic
+ open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let propInfo =
+     match <@ (new List<int>()).Capacity @> with
+     | PropertyGet(Some _, pi, _) -> pi
+     | _ -> failwith "property get expected"
+
+ let objExpr = <@ (new List<int>()) @>
+
+ Expr.PropertySet(objExpr, propInfo, <@ 6 @>)
+
+
namespace System
+
namespace System.Collections
+
namespace System.Collections.Generic
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val propInfo: Reflection.PropertyInfo
+
Multiple items
type List<'T> = + interface ICollection<'T> + interface IEnumerable<'T> + interface IEnumerable + interface IList<'T> + interface IReadOnlyCollection<'T> + interface IReadOnlyList<'T> + interface ICollection + interface IList + new: unit -> unit + 2 overloads + member Add: item: 'T -> unit + ...
<summary>Represents a strongly typed list of objects that can be accessed by index. Provides methods to search, sort, and manipulate lists.</summary>
<typeparam name="T">The type of elements in the list.</typeparam>


--------------------
List() : List<'T>
List(collection: IEnumerable<'T>) : List<'T>
List(capacity: int) : List<'T>
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
active recognizer PropertyGet: Expr -> (Expr option * Reflection.PropertyInfo * Expr list) option
+
union case Option.Some: Value: 'T -> Option<'T>
+
val pi: Reflection.PropertyInfo
+
val failwith: message: string -> 'T
+
val objExpr: Expr<List<int>>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.PropertySet: property: Reflection.PropertyInfo * value: Expr * ?indexerArgs: Expr list -> Expr
static member Expr.PropertySet: obj: Expr * property: Reflection.PropertyInfo * value: Expr * ?indexerArgs: Expr list -> Expr
+ + + Evaluates to a quotation with the same structure as <@ (new List<int>()).Capacity <- 6 @>. + +

+
+
+
+ +

+ + + Expr.QuoteRaw(inner) + + +

+
+
+
+ Full Usage: + Expr.QuoteRaw(inner) +
+
+ Parameters: +
    + + + inner + + : + Expr + - + The expression being quoted. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a nested raw quotation literal +

+
+
+ + + + + +
+
+
+
+
+ + inner + + : + Expr +
+
+

+ The expression being quoted. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.QuoteRaw(<@ 1 @>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.QuoteRaw: inner: Expr -> Expr
+ + + Evaluates to a quotation with the same structure as <@ <@ 1 @> @>. + +

+
+
+
+ +

+ + + Expr.QuoteTyped(inner) + + +

+
+
+
+ Full Usage: + Expr.QuoteTyped(inner) +
+
+ Parameters: +
    + + + inner + + : + Expr + - + The expression being quoted. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a nested typed quotation literal +

+
+
+ + + + + +
+
+
+
+
+ + inner + + : + Expr +
+
+

+ The expression being quoted. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.QuoteTyped(<@ 1 @>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.QuoteTyped: inner: Expr -> Expr
+ + + Evaluates to a quotation with the same structure as <@ <@ 1 @> @>. + +

+
+
+
+ +

+ + + Expr.RegisterReflectedDefinitions(assembly, resource, serializedValue, referencedTypes) + + +

+
+
+
+ Full Usage: + Expr.RegisterReflectedDefinitions(assembly, resource, serializedValue, referencedTypes) +
+
+ Parameters: +
    + + + assembly + + : + Assembly + - + The assembly associated with the resource. + +
    + + + resource + + : + string + - + The unique name for the resources being added. + +
    + + + serializedValue + + : + byte array + - + The serialized resource to register with the environment. + +
    + + + referencedTypes + + : + Type array + - + The type definitions referenced. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Permits interactive environments such as F# Interactive + to explicitly register new pickled resources that represent persisted + top level definitions. +

+
+
+ + + + + +
+
+
+
+
+ + assembly + + : + Assembly +
+
+

+ The assembly associated with the resource. +

+
+
+ + resource + + : + string +
+
+

+ The unique name for the resources being added. +

+
+
+ + serializedValue + + : + byte array +
+
+

+ The serialized resource to register with the environment. +

+
+
+ + referencedTypes + + : + Type array +
+
+

+ The type definitions referenced. +

+
+
+
+
+
+ +

+ + + Expr.RegisterReflectedDefinitions(assembly, resource, serializedValue) + + +

+
+
+
+ Full Usage: + Expr.RegisterReflectedDefinitions(assembly, resource, serializedValue) +
+
+ Parameters: +
    + + + assembly + + : + Assembly + - + The assembly associated with the resource. + +
    + + + resource + + : + string + - + The unique name for the resources being added. + +
    + + + serializedValue + + : + byte array + - + The serialized resource to register with the environment. + +
    +
+
+
+
+
+
+
+ +
+
+

+ Permits interactive environments such as F# Interactive + to explicitly register new pickled resources that represent persisted + top level definitions. +

+
+
+ + + + + +
+
+
+
+
+ + assembly + + : + Assembly +
+
+

+ The assembly associated with the resource. +

+
+
+ + resource + + : + string +
+
+

+ The unique name for the resources being added. +

+
+
+ + serializedValue + + : + byte array +
+
+

+ The serialized resource to register with the environment. +

+
+
+
+
+
+ +

+ + + Expr.Sequential(first, second) + + +

+
+
+
+ Full Usage: + Expr.Sequential(first, second) +
+
+ Parameters: +
    + + + first + + : + Expr + - + The first expression. + +
    + + + second + + : + Expr + - + The second expression. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents the sequential execution of one expression followed by another +

+
+
+ + + + + +
+
+
+
+
+ + first + + : + Expr +
+
+

+ The first expression. +

+
+
+ + second + + : + Expr +
+
+

+ The second expression. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+
+ Expr.Sequential(<@ Console.WriteLine("a") @>, <@ Console.WriteLine("b") @>)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Sequential: first: Expr * second: Expr -> Expr
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.WriteLine() : unit
   (+0 other overloads)
Console.WriteLine(value: uint64) : unit
   (+0 other overloads)
Console.WriteLine(value: uint32) : unit
   (+0 other overloads)
Console.WriteLine(value: string) : unit
   (+0 other overloads)
Console.WriteLine(value: float32) : unit
   (+0 other overloads)
Console.WriteLine(value: obj) : unit
   (+0 other overloads)
Console.WriteLine(value: int64) : unit
   (+0 other overloads)
Console.WriteLine(value: int) : unit
   (+0 other overloads)
Console.WriteLine(value: float) : unit
   (+0 other overloads)
Console.WriteLine(value: decimal) : unit
   (+0 other overloads)
+ + + Evaluates to a quotation with the same structure as <@ Console.WriteLine("a"); Console.WriteLine("b") @>. + +

+
+
+
+ +

+ + + Expr.TryFinally(body, compensation) + + +

+
+
+
+ Full Usage: + Expr.TryFinally(body, compensation) +
+
+ Parameters: +
    + + + body + + : + Expr + - + The body of the try expression. + +
    + + + compensation + + : + Expr + - + The final part of the expression to be evaluated. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a try/finally construct +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + Expr +
+
+

+ The body of the try expression. +

+
+
+ + compensation + + : + Expr +
+
+

+ The final part of the expression to be evaluated. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+
+ Expr.TryFinally(<@ 1+1 @>, <@ Console.WriteLine("finally") @>)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.TryFinally: body: Expr * compensation: Expr -> Expr
+
type Console = + static member Beep: unit -> unit + 1 overload + static member Clear: unit -> unit + static member GetCursorPosition: unit -> struct (int * int) + static member MoveBufferArea: sourceLeft: int * sourceTop: int * sourceWidth: int * sourceHeight: int * targetLeft: int * targetTop: int -> unit + 1 overload + static member OpenStandardError: unit -> Stream + 1 overload + static member OpenStandardInput: unit -> Stream + 1 overload + static member OpenStandardOutput: unit -> Stream + 1 overload + static member Read: unit -> int + static member ReadKey: unit -> ConsoleKeyInfo + 1 overload + static member ReadLine: unit -> string + ...
<summary>Represents the standard input, output, and error streams for console applications. This class cannot be inherited.</summary>
+
Console.WriteLine() : unit
   (+0 other overloads)
Console.WriteLine(value: uint64) : unit
   (+0 other overloads)
Console.WriteLine(value: uint32) : unit
   (+0 other overloads)
Console.WriteLine(value: string) : unit
   (+0 other overloads)
Console.WriteLine(value: float32) : unit
   (+0 other overloads)
Console.WriteLine(value: obj) : unit
   (+0 other overloads)
Console.WriteLine(value: int64) : unit
   (+0 other overloads)
Console.WriteLine(value: int) : unit
   (+0 other overloads)
Console.WriteLine(value: float) : unit
   (+0 other overloads)
Console.WriteLine(value: decimal) : unit
   (+0 other overloads)
+ + + Evaluates to a quotation with the same structure as <@ try 1+1 finally Console.WriteLine("finally") @>. + +

+
+
+
+ +

+ + + Expr.TryGetReflectedDefinition(methodBase) + + +

+
+
+
+ Full Usage: + Expr.TryGetReflectedDefinition(methodBase) +
+
+ Parameters: +
    + + + methodBase + + : + MethodBase + - + The description of the method to find. + +
    +
+
+ + Returns: + Expr option + + The reflection definition or None if a match could not be found. +
+
+
+
+
+
+ +
+
+

+ 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 [] attribute. +

+
+
+ + + + + +
+
+
+
+
+ + methodBase + + : + MethodBase +
+
+

+ The description of the method to find. +

+
+
+
+
+ + Returns: + + Expr option +
+
+

+ The reflection definition or None if a match could not be found. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ [<ReflectedDefinition>]
+ let f x = x + 1
+
+ let methInfo =
+     match <@ f 1 @> with
+     | Call(_, mi, _) -> mi
+     | _ -> failwith "call expected"
+
+ Expr.TryGetReflectedDefinition(methInfo)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
Multiple items
type ReflectedDefinitionAttribute = + inherit Attribute + new: unit -> ReflectedDefinitionAttribute + 1 overload + member IncludeValue: bool

--------------------
new: unit -> ReflectedDefinitionAttribute
new: includeValue: bool -> ReflectedDefinitionAttribute
+
val f: x: int -> int
+
val x: int
+
val methInfo: System.Reflection.MethodInfo
+
active recognizer Call: Expr -> (Expr option * System.Reflection.MethodInfo * Expr list) option
+
val mi: System.Reflection.MethodInfo
+
val failwith: message: string -> 'T
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.TryGetReflectedDefinition: methodBase: System.Reflection.MethodBase -> Expr option
+ + + Evaluates to a quotation with the same structure as <@ fun x -> x + 1 @>, which is the implementation of the + method f. + +

+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ [<ReflectedDefinition>]
+ module Methods =
+    let f x = (x, x)
+
+ let methInfoGeneric =
+     match <@ Methods.f (1, 2) @> with
+     | Call(_, mi, _) -> mi.GetGenericMethodDefinition()
+     | _ -> failwith "call expected"
+
+ let methInfoAtString = methInfoGeneric.MakeGenericMethod(typeof<string>)
+
+ Expr.TryGetReflectedDefinition(methInfoAtString)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
Multiple items
type ReflectedDefinitionAttribute = + inherit Attribute + new: unit -> ReflectedDefinitionAttribute + 1 overload + member IncludeValue: bool

--------------------
new: unit -> ReflectedDefinitionAttribute
new: includeValue: bool -> ReflectedDefinitionAttribute
+
val f: x: 'a -> 'a * 'a
+
val x: 'a
+
val methInfoGeneric: System.Reflection.MethodInfo
+
module Methods + +from document
+
active recognizer Call: Expr -> (Expr option * System.Reflection.MethodInfo * Expr list) option
+
val mi: System.Reflection.MethodInfo
+
System.Reflection.MethodInfo.GetGenericMethodDefinition() : System.Reflection.MethodInfo
+
val failwith: message: string -> 'T
+
val methInfoAtString: System.Reflection.MethodInfo
+
System.Reflection.MethodInfo.MakeGenericMethod([<System.ParamArray>] typeArguments: System.Type array) : System.Reflection.MethodInfo
+
val typeof<'T> : System.Type
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.TryGetReflectedDefinition: methodBase: System.Reflection.MethodBase -> Expr option
+ + + Evaluates to a quotation with the same structure as <@ fun (x: string) -> (x, x) @>, which is the implementation of the + generic method f instantiated at type string. + +

+
+
+
+ +

+ + + Expr.TryWith(body, filterVar, filterBody, catchVar, catchBody) + + +

+
+
+
+ Full Usage: + Expr.TryWith(body, filterVar, filterBody, catchVar, catchBody) +
+
+ Parameters: +
    + + + body + + : + Expr + - + The body of the try expression. + +
    + + + filterVar + + : + Var + - + + +
    + + + filterBody + + : + Expr + - + + +
    + + + catchVar + + : + Var + - + The variable to bind to a caught exception. + +
    + + + catchBody + + : + Expr + - + The expression evaluated when an exception is caught. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a try/with construct for exception filtering and catching. +

+
+
+ + + + + +
+
+
+
+
+ + body + + : + Expr +
+
+

+ The body of the try expression. +

+
+
+ + filterVar + + : + Var +
+
+

+ +

+
+
+ + filterBody + + : + Expr +
+
+

+ +

+
+
+ + catchVar + + : + Var +
+
+

+ The variable to bind to a caught exception. +

+
+
+ + catchBody + + : + Expr +
+
+

+ The expression evaluated when an exception is caught. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+
+ let exnVar = Var("exn", typeof<exn>)
+
+ Expr.TryWith(<@ 1+1 @>, exnVar, <@ 1 @>, exnVar, <@ 2+2 @>)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
val exnVar: Var
+
Multiple items
type Var = + interface IComparable + new: name: string * typ: Type * ?isMutable: bool -> Var + static member Global: name: string * typ: Type -> Var + member IsMutable: bool + member Name: string + member Type: Type

--------------------
new: name: string * typ: Type * ?isMutable: bool -> Var
+
val typeof<'T> : Type
+
type exn = Exception
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.TryWith: body: Expr * filterVar: Var * filterBody: Expr * catchVar: Var * catchBody: Expr -> Expr
+ + + Evaluates to a quotation with the same structure as <@ try 1+1 with exn -> 2+2 @>. + +

+
+
+
+ +

+ + + Expr.TupleGet(tuple, index) + + +

+
+
+
+ Full Usage: + Expr.TupleGet(tuple, index) +
+
+ Parameters: +
    + + + tuple + + : + Expr + - + The input tuple. + +
    + + + index + + : + int + - + The index of the tuple element to get. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents getting a field of a tuple +

+
+
+ + + + + +
+
+
+
+
+ + tuple + + : + Expr +
+
+

+ The input tuple. +

+
+
+ + index + + : + int +
+
+

+ The index of the tuple element to get. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let tupExpr = <@ (1, 2, 3) @>
+
+ Expr.TupleGet(tupExpr, 1)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val tupExpr: Expr<int * int * int>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.TupleGet: tuple: Expr * index: int -> Expr
+ + + Evaluates to quotation that displays as TupleGet (NewTuple (Value (1), Value (2), Value (3)), 1). + +

+
+
+
+ +

+ + + Expr.TypeTest(source, target) + + +

+
+
+
+ Full Usage: + Expr.TypeTest(source, target) +
+
+ Parameters: +
    + + + source + + : + Expr + - + The expression to test. + +
    + + + target + + : + Type + - + The target type. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a type test. +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + Expr +
+
+

+ The expression to test. +

+
+
+ + target + + : + Type +
+
+

+ The target type. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let obj = box 1
+
+ Expr.TypeTest( <@ obj @>, typeof<int>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
val obj: obj

--------------------
type obj = System.Object
+
val box: value: 'T -> obj
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.TypeTest: source: Expr * target: System.Type -> Expr
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to quotation that displays as TypeTest (Int32, PropertyGet (None, obj, [])). + +

+
+
+
+ +

+ + + Expr.UnionCaseTest(source, unionCase) + + +

+
+
+
+ Full Usage: + Expr.UnionCaseTest(source, unionCase) +
+
+ Parameters: +
    + + + source + + : + Expr + - + The expression to test. + +
    + + + unionCase + + : + UnionCaseInfo + - + The description of the union case. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a test of a value is of a particular union case +

+
+
+ + + + + +
+
+
+
+
+ + source + + : + Expr +
+
+

+ The expression to test. +

+
+
+ + unionCase + + : + UnionCaseInfo +
+
+

+ The description of the union case. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open System
+ open FSharp.Quotations
+ open FSharp.Reflection
+
+ let ucCons = FSharpType.GetUnionCases(typeof<int list>)[1]
+
+ Expr.UnionCaseTest(<@ [11] @>, ucCons)
+
+
namespace System
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp.Reflection
+
val ucCons: UnionCaseInfo
+
type FSharpType = + static member GetExceptionFields: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] exceptionType: Type * ?bindingFlags: BindingFlags -> PropertyInfo array + static member GetFunctionElements: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] functionType: Type -> Type * Type + static member GetRecordFields: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] recordType: Type * ?bindingFlags: BindingFlags -> PropertyInfo array + static member GetTupleElements: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] tupleType: Type -> Type array + static member GetUnionCases: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] unionType: Type * ?bindingFlags: BindingFlags -> UnionCaseInfo array + static member IsExceptionRepresentation: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] exceptionType: Type * ?bindingFlags: BindingFlags -> bool + static member IsFunction: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] typ: Type -> bool + static member IsModule: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] typ: Type -> bool + static member IsRecord: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] typ: Type * ?bindingFlags: BindingFlags -> bool + static member IsTuple: [<DynamicallyAccessedMembers (enum<DynamicallyAccessedMemberTypes> (-1))>] typ: Type -> bool + ...
+
static member FSharpType.GetUnionCases: [<Diagnostics.CodeAnalysis.DynamicallyAccessedMembers (enum<Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes> (-1))>] unionType: Type * ?allowAccessToPrivateRepresentation: bool -> UnionCaseInfo array
static member FSharpType.GetUnionCases: [<Diagnostics.CodeAnalysis.DynamicallyAccessedMembers (enum<Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes> (-1))>] unionType: Type * ?bindingFlags: Reflection.BindingFlags -> UnionCaseInfo array
+
val typeof<'T> : Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
type 'T list = List<'T>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.UnionCaseTest: source: Expr * unionCase: UnionCaseInfo -> Expr
+ + + Evaluates to a quotation that displays as UnionCaseTest (NewUnionCase (Cons, Value (11), NewUnionCase (Empty)), Cons). + +

+
+
+
+ +

+ + + Expr.Value(value) + + +

+
+
+
+ Full Usage: + Expr.Value(value) +
+
+ Parameters: +
    + + + value + + : + 'T + - + The typed value. + +
    +
+
+ + Returns: + Expr + +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a constant value +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The typed value. +

+
+
+
+
+ + Returns: + + Expr +
+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.Value(1)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Value: value: 'T -> Expr
static member Expr.Value: value: obj * expressionType: System.Type -> Expr
+ + + Evaluates to a quotation with the same structure as <@ 1 @>. + +

+
+
+
+ +

+ + + Expr.Value(value, expressionType) + + +

+
+
+
+ Full Usage: + Expr.Value(value, expressionType) +
+
+ Parameters: +
    + + + value + + : + objnull + - + The untyped object. + +
    + + + expressionType + + : + Type + - + The type of the object. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a constant value of a particular type +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + objnull +
+
+

+ The untyped object. +

+
+
+ + expressionType + + : + Type +
+
+

+ The type of the object. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.Value(box 1, typeof<int>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Value: value: 'T -> Expr
static member Expr.Value: value: obj * expressionType: System.Type -> Expr
+
val box: value: 'T -> obj
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to a quotation with the same structure as <@ 1 @>. + +

+
+
+
+ +

+ + + Expr.ValueWithName(value, expressionType, name) + + +

+
+
+
+ Full Usage: + Expr.ValueWithName(value, expressionType, name) +
+
+ Parameters: +
    + + + value + + : + objnull + - + The untyped object. + +
    + + + expressionType + + : + Type + - + The type of the object. + +
    + + + name + + : + string + - + The name of the variable. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a constant value of a particular type, arising from a variable of the given name +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + objnull +
+
+

+ The untyped object. +

+
+
+ + expressionType + + : + Type +
+
+

+ The type of the object. +

+
+
+ + name + + : + string +
+
+

+ The name of the variable. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.ValueWithName(box 1, typeof<int>, "name")
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.ValueWithName: value: 'T * name: string -> Expr
static member Expr.ValueWithName: value: obj * expressionType: System.Type * name: string -> Expr
+
val box: value: 'T -> obj
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to a quotation with the same structure as <@ 1 @> and associated information that the name of the value is "name". + +

+
+
+
+ +

+ + + Expr.ValueWithName(value, name) + + +

+
+
+
+ Full Usage: + Expr.ValueWithName(value, name) +
+
+ Parameters: +
    + + + value + + : + 'T + - + The typed value. + +
    + + + name + + : + string + - + The name of the variable. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a constant value, arising from a variable of the given name +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The typed value. +

+
+
+ + name + + : + string +
+
+

+ The name of the variable. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.ValueWithName(1, "name")
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.ValueWithName: value: 'T * name: string -> Expr
static member Expr.ValueWithName: value: obj * expressionType: System.Type * name: string -> Expr
+ + + Evaluates to a quotation with the same structure as <@ 1 @> and associated information that the name of the value is "name". + +

+
+
+
+ +

+ + + Expr.Var(variable) + + +

+
+
+
+ Full Usage: + Expr.Var(variable) +
+
+ Parameters: +
    + + + variable + + : + Var + - + The input variable. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a variable +

+
+
+ + + + + +
+
+
+
+
+ + variable + + : + Var +
+
+

+ The input variable. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let vVar = Var("v", typeof<int>)
+
+ Expr.Var(vVar)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val vVar: Var
+
Multiple items
type Var = + interface IComparable + new: name: string * typ: Type * ?isMutable: bool -> Var + static member Global: name: string * typ: Type -> Var + member IsMutable: bool + member Name: string + member Type: Type

--------------------
new: name: string * typ: System.Type * ?isMutable: bool -> Var
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.Var: variable: Var -> Expr
+ + + Evaluates to a quotation displayed as v. + +

+
+
+
+ +

+ + + Expr.VarSet(variable, value) + + +

+
+
+
+ Full Usage: + Expr.VarSet(variable, value) +
+
+ Parameters: +
    + + + variable + + : + Var + - + The input variable. + +
    + + + value + + : + Expr + - + The value to set. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents setting a mutable variable +

+
+
+ + + + + +
+
+
+
+
+ + variable + + : + Var +
+
+

+ The input variable. +

+
+
+ + value + + : + Expr +
+
+

+ The value to set. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let vVar = Var("v", typeof<int>, isMutable=true)
+
+ Expr.VarSet(vVar, <@ 5 @>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val vVar: Var
+
Multiple items
type Var = + interface IComparable + new: name: string * typ: Type * ?isMutable: bool -> Var + static member Global: name: string * typ: Type -> Var + member IsMutable: bool + member Name: string + member Type: Type

--------------------
new: name: string * typ: System.Type * ?isMutable: bool -> Var
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.VarSet: variable: Var * value: Expr -> Expr
+ + + Evaluates to a quotation displayed as VarSet (v, Value (5)). + +

+
+
+
+ +

+ + + Expr.WhileLoop(guard, body) + + +

+
+
+
+ Full Usage: + Expr.WhileLoop(guard, body) +
+
+ Parameters: +
    + + + guard + + : + Expr + - + The predicate to control the loop iteration. + +
    + + + body + + : + Expr + - + The body of the while loop. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a while loop +

+
+
+ + + + + +
+
+
+
+
+ + guard + + : + Expr +
+
+

+ The predicate to control the loop iteration. +

+
+
+ + body + + : + Expr +
+
+

+ The body of the while loop. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ let guardExpr = <@ true @>
+ let bodyExpr = <@ () @>
+
+ Expr.WhileLoop(guardExpr, bodyExpr)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
val guardExpr: Expr<bool>
+
val bodyExpr: Expr<unit>
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.WhileLoop: guard: Expr * body: Expr -> Expr
+ + + Evaluates to a quotation with the same structure as <@ while true do () @>. + +

+
+
+
+ +

+ + + Expr.WithValue(value, expressionType, definition) + + +

+
+
+
+ Full Usage: + Expr.WithValue(value, expressionType, definition) +
+
+ Parameters: +
    + + + value + + : + objnull + - + The untyped object. + +
    + + + expressionType + + : + Type + - + The type of the object. + +
    + + + definition + + : + Expr + - + The definition of the value being quoted. + +
    +
+
+ + Returns: + Expr + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a value and its associated reflected definition as a quotation +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + objnull +
+
+

+ The untyped object. +

+
+
+ + expressionType + + : + Type +
+
+

+ The type of the object. +

+
+
+ + definition + + : + Expr +
+
+

+ The definition of the value being quoted. +

+
+
+
+
+ + Returns: + + Expr +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.WithValue(box 1, typeof<int>, <@ 2 - 1 @>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.WithValue: value: 'T * definition: Expr<'T> -> Expr<'T>
static member Expr.WithValue: value: obj * expressionType: System.Type * definition: Expr -> Expr
+
val box: value: 'T -> obj
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to a quotation that displays as WithValue (1, Call (None, op_Subtraction, [Value (2), Value (1)])). + +

+
+
+
+ +

+ + + Expr.WithValue(value, definition) + + +

+
+
+
+ Full Usage: + Expr.WithValue(value, definition) +
+
+ Parameters: +
    + + + value + + : + 'T + - + The value being quoted. + +
    + + + definition + + : + Expr<'T> + - + The definition of the value being quoted. + +
    +
+
+ + Returns: + Expr<'T> + + The resulting expression. +
+
+
+
+
+
+ +
+
+

+ Builds an expression that represents a value and its associated reflected definition as a quotation +

+
+
+ + + + + +
+
+
+
+
+ + value + + : + 'T +
+
+

+ The value being quoted. +

+
+
+ + definition + + : + Expr<'T> +
+
+

+ The definition of the value being quoted. +

+
+
+
+
+ + Returns: + + Expr<'T> +
+
+

+ The resulting expression. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+
+ Expr.WithValue(1, <@ 2 - 1 @>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
Multiple items
type Expr = + override Equals: obj: obj -> bool + member GetFreeVars: unit -> Var seq + member Substitute: substitution: (Var -> Expr option) -> Expr + member ToString: full: bool -> string + static member AddressOf: target: Expr -> Expr + static member AddressSet: target: Expr * value: Expr -> Expr + static member Application: functionExpr: Expr * argument: Expr -> Expr + static member Applications: functionExpr: Expr * arguments: Expr list list -> Expr + static member Call: methodInfo: MethodInfo * arguments: Expr list -> Expr + 1 overload + static member CallWithWitnesses: methodInfo: MethodInfo * methodInfoWithWitnesses: MethodInfo * witnesses: Expr list * arguments: Expr list -> Expr + 1 overload + ...

--------------------
type Expr<'T> = + inherit Expr + member Raw: Expr
+
static member Expr.WithValue: value: 'T * definition: Expr<'T> -> Expr<'T>
static member Expr.WithValue: value: obj * expressionType: System.Type * definition: Expr -> Expr
+ + + Evaluates to a quotation that displays as WithValue (1, Call (None, op_Subtraction, [Value (2), Value (1)])). + +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-quotations-fsharpvar.html b/reference/fsharp-quotations-fsharpvar.html new file mode 100644 index 000000000..a11d57cfd --- /dev/null +++ b/reference/fsharp-quotations-fsharpvar.html @@ -0,0 +1,929 @@ + + + + + + + + + + + + + + + + + + Var (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Var Type +

+ +
+
+
+

+ Information at the binding site of a variable +

+
+
+
+
+
+
+
+
+
+
+

+ Constructors +

+ + + + + + + + + + + + + +
+ Constructor + + Description + +
+
+ +

+ + + Var(name, typ, ?isMutable) + + +

+
+
+
+ Full Usage: + Var(name, typ, ?isMutable) +
+
+ Parameters: +
    + + + name + + : + string + - + The declared name of the variable. + +
    + + + typ + + : + Type + - + The type associated with the variable. + +
    + + + ?isMutable + + : + bool + - + Indicates if the variable represents a mutable storage location. Default is false. + +
    +
+
+ + Returns: + Var + + The created variable. +
+
+
+
+
+
+ +
+
+

+ Creates a new variable with the given name, type and mutability +

+
+
+ + + + + +
+
+
+
+
+ + name + + : + string +
+
+

+ The declared name of the variable. +

+
+
+ + typ + + : + Type +
+
+

+ The type associated with the variable. +

+
+
+ + ?isMutable + + : + bool +
+
+

+ Indicates if the variable represents a mutable storage location. Default is false. +

+
+
+
+
+ + Returns: + + Var +
+
+

+ The created variable. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let valueVar = Var("value"), typeof<int>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val valueVar: 'a * System.Type
+
Multiple items
active recognizer Var: Expr -> Var option

--------------------
type Var = + interface IComparable + new: name: string * typ: Type * ?isMutable: bool -> Var + static member Global: name: string * typ: Type -> Var + member IsMutable: bool + member Name: string + member Type: Type

--------------------
new: name: string * typ: System.Type * ?isMutable: bool -> Var
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+ + + Evaluates to a new quotation variable with the given name and type. + +

+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.IsMutable + + +

+
+
+
+ Full Usage: + this.IsMutable +
+
+ + Returns: + bool + +
+
+
+
+
+
+ +
+
+

+ Indicates if the variable represents a mutable storage location +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + bool +
+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ match <@ fun v -> v @> with
+ | Lambda(v, body) -> v.IsMutable
+ | _ -> failwith "unreachable"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val v: obj
+
active recognizer Lambda: Expr -> (Var * Expr) option
+
val v: Var
+
val body: Expr
+
property Var.IsMutable: bool with get
+
val failwith: message: string -> 'T
+ + + Evaluates to false. + +

+
+
+
+ +

+ + + this.Name + + +

+
+
+
+ Full Usage: + this.Name +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The declared name of the variable +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ match <@ fun v -> v @> with
+ | Lambda(v, body) -> v.Name
+ | _ -> failwith "unreachable"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val v: obj
+
active recognizer Lambda: Expr -> (Var * Expr) option
+
val v: Var
+
val body: Expr
+
property Var.Name: string with get
+
val failwith: message: string -> 'T
+ + + Evaluates to "v" +

+
+
+
+ +

+ + + this.Type + + +

+
+
+
+ Full Usage: + this.Type +
+
+ + Returns: + Type + +
+
+
+
+
+
+ +
+
+

+ The type associated with the variable +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type +
+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ match <@ fun v -> v @> with
+ | Lambda(v, body) -> v.Type
+ | _ -> failwith "unreachable"
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val v: obj
+
active recognizer Lambda: Expr -> (Var * Expr) option
+
val v: Var
+
val body: Expr
+
property Var.Type: System.Type with get
+
val failwith: message: string -> 'T
+ + + Evaluates to typeof<int> +

+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + Var.Global(name, typ) + + +

+
+
+
+ Full Usage: + Var.Global(name, typ) +
+
+ Parameters: +
    + + + name + + : + string + - + The name of the variable. + +
    + + + typ + + : + Type + - + The type associated with the variable. + +
    +
+
+ + Returns: + Var + + The retrieved or created variable. +
+
+
+
+
+
+ +
+
+

+ Fetches or create a new variable with the given name and type from a global pool of shared variables + indexed by name and type +

+
+
+ + + + + +
+
+
+
+
+ + name + + : + string +
+
+

+ The name of the variable. +

+
+
+ + typ + + : + Type +
+
+

+ The type associated with the variable. +

+
+
+
+
+ + Returns: + + Var +
+
+

+ The retrieved or created variable. +

+
+
+
+ Example +
+

+

 open FSharp.Quotations
+ open FSharp.Quotations.Patterns
+
+ let valueVar1 = Var.Global("value", typeof<int>)
+ let valueVar2 = Var.Global("value", typeof<int>)
+
+
Multiple items
namespace Microsoft.FSharp

--------------------
namespace FSharp
+
namespace Microsoft.FSharp.Quotations
+
namespace Microsoft.FSharp
+
module Patterns + +from Microsoft.FSharp.Quotations
+
val valueVar1: Var
+
Multiple items
active recognizer Var: Expr -> Var option

--------------------
type Var = + interface IComparable + new: name: string * typ: Type * ?isMutable: bool -> Var + static member Global: name: string * typ: Type -> Var + member IsMutable: bool + member Name: string + member Type: Type

--------------------
new: name: string * typ: System.Type * ?isMutable: bool -> Var
+
static member Var.Global: name: string * typ: System.Type -> Var
+
val typeof<'T> : System.Type
+
Multiple items
val int: value: 'T -> int (requires member op_Explicit)

--------------------
type int = int32

--------------------
type int<'Measure> = + int
+
val valueVar2: Var
+ + + Evaluates both to valueVar1 and valueVar2 to the same variable from a global pool of shared variables. + +

+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-quotations-patternsmodule.html b/reference/fsharp-quotations-patternsmodule.html new file mode 100644 index 000000000..0117e26c9 --- /dev/null +++ b/reference/fsharp-quotations-patternsmodule.html @@ -0,0 +1,3776 @@ + + + + + + + + + + + + + + + + + + Patterns (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ Patterns Module +

+ +
+
+
+

+ Contains a set of primitive F# active patterns to analyze F# expression objects +

+
+
+
+
+
+
+

+ Active patterns +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Active pattern + + Description + +
+
+ +

+ + + (|AddressOf|_|) input + + +

+
+
+
+ Full Usage: + (|AddressOf|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + Expr option + + When successful, the pattern binds the sub-expression of the input AddressOf expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent getting the address of a value +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + Expr option +
+
+

+ When successful, the pattern binds the sub-expression of the input AddressOf expression +

+
+
+
+
+
+ +

+ + + (|AddressSet|_|) input + + +

+
+
+
+ Full Usage: + (|AddressSet|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Expr) option + + When successful, the pattern binds the target and value expressions of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent setting the value held at an address +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Expr) option +
+
+

+ When successful, the pattern binds the target and value expressions of the input expression +

+
+
+
+
+
+ +

+ + + (|Application|_|) input + + +

+
+
+
+ Full Usage: + (|Application|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Expr) option + + When successful, the pattern binds the function and argument of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent applications of first class function values +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Expr) option +
+
+

+ When successful, the pattern binds the function and argument of the input expression +

+
+
+
+
+
+ +

+ + + (|CallWithWitnesses|_|) input + + +

+
+
+
+ Full Usage: + (|CallWithWitnesses|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr option * MethodInfo * MethodInfo * Expr list * Expr list) option + + When successful, the pattern binds the object, method, witness-argument and argument sub-expressions of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent calls to static and instance methods, and functions defined in modules, including witness arguments +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr option * MethodInfo * MethodInfo * Expr list * Expr list) option +
+
+

+ When successful, the pattern binds the object, method, witness-argument and argument sub-expressions of the input expression +

+
+
+
+
+
+ +

+ + + (|Call|_|) input + + +

+
+
+
+ Full Usage: + (|Call|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr option * MethodInfo * Expr list) option + + When successful, the pattern binds the object, method and argument sub-expressions of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent calls to static and instance methods, and functions defined in modules +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr option * MethodInfo * Expr list) option +
+
+

+ When successful, the pattern binds the object, method and argument sub-expressions of the input expression +

+
+
+
+
+
+ +

+ + + (|Coerce|_|) input + + +

+
+
+
+ Full Usage: + (|Coerce|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Type) option + + When successful, the pattern binds the source expression and target type of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent coercions from one type to another +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Type) option +
+
+

+ When successful, the pattern binds the source expression and target type of the input expression +

+
+
+
+
+
+ +

+ + + (|DefaultValue|_|) input + + +

+
+
+
+ Full Usage: + (|DefaultValue|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + Type option + + When successful, the pattern binds the relevant type of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent invocations of a default constructor of a struct +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + Type option +
+
+

+ When successful, the pattern binds the relevant type of the input expression +

+
+
+
+
+
+ +

+ + + (|FieldGet|_|) input + + +

+
+
+
+ Full Usage: + (|FieldGet|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr option * FieldInfo) option + + When successful, the pattern binds the object and field of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent getting a static or instance field +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr option * FieldInfo) option +
+
+

+ When successful, the pattern binds the object and field of the input expression +

+
+
+
+
+
+ +

+ + + (|FieldSet|_|) input + + +

+
+
+
+ Full Usage: + (|FieldSet|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr option * FieldInfo * Expr) option + + When successful, the pattern binds the object, field and value of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent setting a static or instance field +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr option * FieldInfo * Expr) option +
+
+

+ When successful, the pattern binds the object, field and value of the input expression +

+
+
+
+
+
+ +

+ + + (|ForIntegerRangeLoop|_|) input + + +

+
+
+
+ Full Usage: + (|ForIntegerRangeLoop|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Var * Expr * Expr * Expr) option + + When successful, the pattern binds the value, start, finish and body of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent loops over integer ranges +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Var * Expr * Expr * Expr) option +
+
+

+ When successful, the pattern binds the value, start, finish and body of the input expression +

+
+
+
+
+
+ +

+ + + (|IfThenElse|_|) input + + +

+
+
+
+ Full Usage: + (|IfThenElse|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Expr * Expr) option + + When successful, the pattern binds the condition, then-branch and else-branch of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent conditionals +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Expr * Expr) option +
+
+

+ When successful, the pattern binds the condition, then-branch and else-branch of the input expression +

+
+
+
+
+
+ +

+ + + (|Lambda|_|) input + + +

+
+
+
+ Full Usage: + (|Lambda|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Var * Expr) option + + When successful, the pattern binds the variable and body of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent first class function values +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Var * Expr) option +
+
+

+ When successful, the pattern binds the variable and body of the input expression +

+
+
+
+
+
+ +

+ + + (|LetRecursive|_|) input + + +

+
+
+
+ Full Usage: + (|LetRecursive|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + ((Var * Expr) list * Expr) option + + When successful, the pattern binds the bindings and body of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent recursive let bindings of one or more variables +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + ((Var * Expr) list * Expr) option +
+
+

+ When successful, the pattern binds the bindings and body of the input expression +

+
+
+
+
+
+ +

+ + + (|Let|_|) input + + +

+
+
+
+ Full Usage: + (|Let|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Var * Expr * Expr) option + + When successful, the pattern binds the variable, binding expression and body of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent let bindings +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Var * Expr * Expr) option +
+
+

+ When successful, the pattern binds the variable, binding expression and body of the input expression +

+
+
+
+
+
+ +

+ + + (|NewArray|_|) input + + +

+
+
+
+ Full Usage: + (|NewArray|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Type * Expr list) option + + When successful, the pattern binds the element type and values of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent the construction of arrays +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Type * Expr list) option +
+
+

+ When successful, the pattern binds the element type and values of the input expression +

+
+
+
+
+
+ +

+ + + (|NewDelegate|_|) input + + +

+
+
+
+ Full Usage: + (|NewDelegate|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Type * Var list * Expr) option + + When successful, the pattern binds the delegate type, argument parameters and body of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent construction of delegate values +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Type * Var list * Expr) option +
+
+

+ When successful, the pattern binds the delegate type, argument parameters and body of the input expression +

+
+
+
+
+
+ +

+ + + (|NewObject|_|) input + + +

+
+
+
+ Full Usage: + (|NewObject|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (ConstructorInfo * Expr list) option + + When successful, the pattern binds the constructor and arguments of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent invocation of object constructors +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (ConstructorInfo * Expr list) option +
+
+

+ When successful, the pattern binds the constructor and arguments of the input expression +

+
+
+
+
+
+ +

+ + + (|NewRecord|_|) input + + +

+
+
+
+ Full Usage: + (|NewRecord|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Type * Expr list) option + + When successful, the pattern binds the record type and field values of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent construction of record values +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Type * Expr list) option +
+
+

+ When successful, the pattern binds the record type and field values of the input expression +

+
+
+
+
+
+ +

+ + + (|NewStructTuple|_|) input + + +

+
+
+
+ Full Usage: + (|NewStructTuple|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + Expr list option + + When successful, the pattern binds the element expressions of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent construction of struct tuple values +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + Expr list option +
+
+

+ When successful, the pattern binds the element expressions of the input expression +

+
+
+
+
+
+ +

+ + + (|NewTuple|_|) input + + +

+
+
+
+ Full Usage: + (|NewTuple|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + Expr list option + + When successful, the pattern binds the element expressions of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent construction of tuple values +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + Expr list option +
+
+

+ When successful, the pattern binds the element expressions of the input expression +

+
+
+
+
+
+ +

+ + + (|NewUnionCase|_|) input + + +

+
+
+
+ Full Usage: + (|NewUnionCase|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (UnionCaseInfo * Expr list) option + + When successful, the pattern binds the union case and field values of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent construction of particular union case values +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (UnionCaseInfo * Expr list) option +
+
+

+ When successful, the pattern binds the union case and field values of the input expression +

+
+
+
+
+
+ +

+ + + (|PropertyGet|_|) input + + +

+
+
+
+ Full Usage: + (|PropertyGet|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr option * PropertyInfo * Expr list) option + + When successful, the pattern binds the object, property and indexer arguments of the input expression +
+
+
+
+
+
+ +
+
+

+ 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 +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr option * PropertyInfo * Expr list) option +
+
+

+ When successful, the pattern binds the object, property and indexer arguments of the input expression +

+
+
+
+
+
+ +

+ + + (|PropertySet|_|) input + + +

+
+
+
+ Full Usage: + (|PropertySet|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr option * PropertyInfo * Expr list * Expr) option + + When successful, the pattern binds the object, property, indexer arguments and setter value of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent setting a static or instance property, or a non-function value declared in a module +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr option * PropertyInfo * Expr list * Expr) option +
+
+

+ When successful, the pattern binds the object, property, indexer arguments and setter value of the input expression +

+
+
+
+
+
+ +

+ + + (|QuoteRaw|_|) input + + +

+
+
+
+ Full Usage: + (|QuoteRaw|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + Expr option + + When successful, the pattern binds the nested quotation expression of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent a nested raw quotation literal +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + Expr option +
+
+

+ When successful, the pattern binds the nested quotation expression of the input expression +

+
+
+
+
+
+ +

+ + + (|QuoteTyped|_|) input + + +

+
+
+
+ Full Usage: + (|QuoteTyped|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + Expr option + + When successful, the pattern binds the nested quotation expression of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent a nested typed quotation literal +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + Expr option +
+
+

+ When successful, the pattern binds the nested quotation expression of the input expression +

+
+
+
+
+
+ +

+ + + (|Sequential|_|) input + + +

+
+
+
+ Full Usage: + (|Sequential|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Expr) option + + When successful, the pattern binds the two sub-expressions of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent sequential execution of one expression followed by another +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Expr) option +
+
+

+ When successful, the pattern binds the two sub-expressions of the input expression +

+
+
+
+
+
+ +

+ + + (|TryFinally|_|) input + + +

+
+
+
+ Full Usage: + (|TryFinally|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Expr) option + + When successful, the pattern binds the body and handler parts of the try/finally expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent a try/finally construct +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Expr) option +
+
+

+ When successful, the pattern binds the body and handler parts of the try/finally expression +

+
+
+
+
+
+ +

+ + + (|TryWith|_|) input + + +

+
+
+
+ Full Usage: + (|TryWith|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Var * Expr * Var * Expr) option + + When successful, the pattern binds the body, exception variable, filter expression and catch expression of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent a try/with construct for exception filtering and catching +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Var * Expr * Var * Expr) option +
+
+

+ When successful, the pattern binds the body, exception variable, filter expression and catch expression of the input expression +

+
+
+
+
+
+ +

+ + + (|TupleGet|_|) input + + +

+
+
+
+ Full Usage: + (|TupleGet|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * int) option + + When successful, the pattern binds the expression and tuple field being accessed +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent getting a tuple field +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * int) option +
+
+

+ When successful, the pattern binds the expression and tuple field being accessed +

+
+
+
+
+
+ +

+ + + (|TypeTest|_|) input + + +

+
+
+
+ Full Usage: + (|TypeTest|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Type) option + + When successful, the pattern binds the expression and type being tested +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent a dynamic type test +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Type) option +
+
+

+ When successful, the pattern binds the expression and type being tested +

+
+
+
+
+
+ +

+ + + (|UnionCaseTest|_|) input + + +

+
+
+
+ Full Usage: + (|UnionCaseTest|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * UnionCaseInfo) option + + When successful, the pattern binds the expression and union case being tested +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent a test if a value is of a particular union case +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * UnionCaseInfo) option +
+
+

+ When successful, the pattern binds the expression and union case being tested +

+
+
+
+
+
+ +

+ + + (|ValueWithName|_|) input + + +

+
+
+
+ Full Usage: + (|ValueWithName|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (objnull * Type * string) option + + When successful, the pattern binds the boxed value, its static type and its name +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent a constant value +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (objnull * Type * string) option +
+
+

+ When successful, the pattern binds the boxed value, its static type and its name +

+
+
+
+
+
+ +

+ + + (|Value|_|) input + + +

+
+
+
+ Full Usage: + (|Value|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (objnull * Type) option + + When successful, the pattern binds the boxed value and its static type +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent a constant value. This also matches expressions matched by ValueWithName. +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (objnull * Type) option +
+
+

+ When successful, the pattern binds the boxed value and its static type +

+
+
+
+
+
+ +

+ + + (|VarSet|_|) input + + +

+
+
+
+ Full Usage: + (|VarSet|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Var * Expr) option + + When successful, the pattern binds the variable and value expression of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent setting a mutable variable +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Var * Expr) option +
+
+

+ When successful, the pattern binds the variable and value expression of the input expression +

+
+
+
+
+
+ +

+ + + (|Var|_|) input + + +

+
+
+
+ Full Usage: + (|Var|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + Var option + + When successful, the pattern binds the variable of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent a variable +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + Var option +
+
+

+ When successful, the pattern binds the variable of the input expression +

+
+
+
+
+
+ +

+ + + (|WhileLoop|_|) input + + +

+
+
+
+ Full Usage: + (|WhileLoop|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (Expr * Expr) option + + When successful, the pattern binds the guard and body of the input expression +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that represent while loops +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (Expr * Expr) option +
+
+

+ When successful, the pattern binds the guard and body of the input expression +

+
+
+
+
+
+ +

+ + + (|WithValue|_|) input + + +

+
+
+
+ Full Usage: + (|WithValue|_|) input +
+
+ Parameters: +
    + + + input + + : + Expr + - + The input expression to match against. + +
    +
+
+ + Returns: + (objnull * Type * Expr) option + + When successful, the pattern binds the boxed value, its static type and its definition +
+
+
+
+
+
+ +
+
+

+ An active pattern to recognize expressions that are a value with an associated definition +

+
+
+ + + + + +
+
+
+
+
+ + input + + : + Expr +
+
+

+ The input expression to match against. +

+
+
+
+
+ + Returns: + + (objnull * Type * Expr) option +
+
+

+ When successful, the pattern binds the boxed value, its static type and its definition +

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-quotations.html b/reference/fsharp-quotations.html new file mode 100644 index 000000000..6ddd769b1 --- /dev/null +++ b/reference/fsharp-quotations.html @@ -0,0 +1,455 @@ + + + + + + + + + + + + + + + + + + FSharp.Quotations | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Quotations Namespace +

+
+

+ + Library functionality for F# quotations. + See also F# Code Quotations in the F# Language Guide. + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + DerivedPatterns + + +

+
+
+
+

+ Contains a set of derived F# active patterns to analyze F# expression objects +

+
+
+ + + + + +
+
+
+

+ + + Expr + + +

+
+
+
+

+ Quoted expressions annotated with System.Type values. +

+
+
+ + + + + +
+
+
+

+ + + Expr<'T> + + +

+
+
+
Type-carrying quoted expressions. Expressions are generated either
+ by quotations in source text or programmatically
+
+ + + + + +
+
+
+

+ + + ExprShape + + +

+
+
+
+

+ Active patterns for traversing, visiting, rebuilding and transforming expressions in a generic way +

+
+
+ + + + + +
+
+
+

+ + + Patterns + + +

+
+
+
+

+ Contains a set of primitive F# active patterns to analyze F# expression objects +

+
+
+ + + + + +
+
+
+

+ + + Var + + +

+
+
+
+

+ Information at the binding site of a variable +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-reflection-fsharpreflectionextensions.html b/reference/fsharp-reflection-fsharpreflectionextensions.html new file mode 100644 index 000000000..2d2fb9531 --- /dev/null +++ b/reference/fsharp-reflection-fsharpreflectionextensions.html @@ -0,0 +1,2788 @@ + + + + + + + + + + + + + + + + + + FSharpReflectionExtensions (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharpReflectionExtensions Module +

+ +
+
+
+

+ Defines further accessing additional information about F# types and F# values at runtime. +

+
+
+
+
+
+

+ Type extensions +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type extension + + Description + +
+
+ +

+ + + FSharpValue.GetExceptionFields(exn, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.GetExceptionFields(exn, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + exn + + : + obj + - + The exception instance. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + objnull array + + The fields from the given exception. +
+
+
+
+
+
+ +
+
+

+ 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. +

+

+ Extended Type: + FSharpValue +

+
+
+ + exn + + : + obj +
+
+

+ The exception instance. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + objnull array +
+
+

+ The fields from the given exception. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not an F# exception. +
+
+
+
+ +

+ + + FSharpType.GetExceptionFields(exceptionType, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpType.GetExceptionFields(exceptionType, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + exceptionType + + : + Type + - + The exception type to read. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + PropertyInfo array + + An array containing the PropertyInfo of each field in the 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. +

+

+ Extended Type: + FSharpType +

+
+
+ + exceptionType + + : + Type +
+
+

+ The exception type to read. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + PropertyInfo array +
+
+

+ An array containing the PropertyInfo of each field in the exception. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown if the given type is not an exception. +
+
+
+
+ +

+ + + FSharpValue.GetRecordFields(record, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.GetRecordFields(record, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + record + + : + obj + - + The record object. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + objnull array + + The array of fields from the record. +
+
+
+
+
+
+ +
+
+

+ Reads all the fields from a record value. +

+
+
+ + + + + +
+
+
+

+ Assumes the given input is a record value. If not, ArgumentException is raised. +

+

+ Extended Type: + FSharpValue +

+
+
+ + record + + : + obj +
+
+

+ The record object. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + objnull array +
+
+

+ The array of fields from the record. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a record type. +
+
+
+
+ +

+ + + FSharpType.GetRecordFields(recordType, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpType.GetRecordFields(recordType, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The input record type. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + PropertyInfo array + + An array of descriptions of the properties of the record 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. +

+

+ Extended Type: + FSharpType +

+
+
+ + recordType + + : + Type +
+
+

+ The input record type. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + PropertyInfo array +
+
+

+ An array of descriptions of the properties of the record type. +

+
+
+
+
+
+ +

+ + + FSharpType.GetUnionCases(unionType, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpType.GetUnionCases(unionType, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + unionType + + : + Type + - + The input union type. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + UnionCaseInfo array + + An array of descriptions of the cases of the given union type. +
+
+
+
+
+
+ +
+
+

+ Gets the cases of a union type. +

+
+
+ + + + + +
+
+
+

+ Assumes the given type is a union type. If not, ArgumentException is raised during pre-computation. +

+

+ Extended Type: + FSharpType +

+
+
+ + unionType + + : + Type +
+
+

+ The input union type. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + UnionCaseInfo array +
+
+

+ An array of descriptions of the cases of the given union type. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a union type. +
+
+
+
+ +

+ + + FSharpValue.GetUnionFields(value, unionType, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.GetUnionFields(value, unionType, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + value + + : + objnull + - + The input union case. + +
    + + + unionType + + : + Type + - + The union type containing the value. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + UnionCaseInfo * objnull array + + The description of the union case and its fields. +
+
+
+
+
+
+ +
+
+

+ 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'. +

+

+ Extended Type: + FSharpValue +

+
+
+ + value + + : + objnull +
+
+

+ The input union case. +

+
+
+ + unionType + + : + Type +
+
+

+ The union type containing the value. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + UnionCaseInfo * objnull array +
+
+

+ The description of the union case and its fields. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a union case value. +
+
+
+
+ +

+ + + FSharpType.IsExceptionRepresentation(exceptionType, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpType.IsExceptionRepresentation(exceptionType, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + exceptionType + + : + Type + - + The type to check. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + bool + + True if the type check is an F# exception. +
+
+
+
+
+
+ +
+
+

+ Returns true if the exceptionType is a representation of an F# exception declaration +

+
+
+ + + + + +
+
+
+

+ Extended Type: + FSharpType +

+
+
+ + exceptionType + + : + Type +
+
+

+ The type to check. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the type check is an F# exception. +

+
+
+
+
+
+ +

+ + + FSharpType.IsRecord(typ, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpType.IsRecord(typ, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + typ + + : + Type + - + The type to check. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + bool + + True if the type check succeeds. +
+
+
+
+
+
+ +
+
+

+ Return true if the typ is a representation of an F# record type +

+
+
+ + + + + +
+
+
+

+ Extended Type: + FSharpType +

+
+
+ + typ + + : + Type +
+
+

+ The type to check. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the type check succeeds. +

+
+
+
+
+
+ +

+ + + FSharpType.IsUnion(typ, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpType.IsUnion(typ, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + typ + + : + Type + - + The type to check. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + bool + + True if the type check succeeds. +
+
+
+
+
+
+ +
+
+

+ Returns true if the typ is a representation of an F# union type or the runtime type of a value of that type +

+
+
+ + + + + +
+
+
+

+ Extended Type: + FSharpType +

+
+
+ + typ + + : + Type +
+
+

+ The type to check. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the type check succeeds. +

+
+
+
+
+
+ +

+ + + FSharpValue.MakeRecord(recordType, values, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.MakeRecord(recordType, values, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The type of record to make. + +
    + + + values + + : + objnull array + - + The array of values to initialize the record. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flags that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + obj + + The created record. +
+
+
+
+
+
+ +
+
+

+ Creates an instance of a record type. +

+
+
+ + + + + +
+
+
+

+ Assumes the given input is a record type. +

+

+ Extended Type: + FSharpValue +

+
+
+ + recordType + + : + Type +
+
+

+ The type of record to make. +

+
+
+ + values + + : + objnull array +
+
+

+ The array of values to initialize the record. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flags that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + obj +
+
+

+ The created record. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a record type. +
+
+
+
+ +

+ + + FSharpValue.MakeUnion(unionCase, args, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.MakeUnion(unionCase, args, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + unionCase + + : + UnionCaseInfo + - + The description of the union case to create. + +
    + + + args + + : + objnull array + - + The array of arguments to construct the given case. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + objnull + + The constructed union case. +
+
+
+
+
+
+ +
+
+

+ Create a union case value. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + FSharpValue +

+
+
+ + unionCase + + : + UnionCaseInfo +
+
+

+ The description of the union case to create. +

+
+
+ + args + + : + objnull array +
+
+

+ The array of arguments to construct the given case. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + objnull +
+
+

+ The constructed union case. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeRecordConstructor(recordType, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeRecordConstructor(recordType, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The type of record to construct. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + objnull array -> obj + + A function to construct records of the given type. +
+
+
+
+
+
+ +
+
+

+ Precompute a function for constructing a record value. +

+
+
+ + + + + +
+
+
+

+ Assumes the given type is a RecordType. + If not, ArgumentException is raised during pre-computation. +

+

+ Extended Type: + FSharpValue +

+
+
+ + recordType + + : + Type +
+
+

+ The type of record to construct. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + objnull array -> obj +
+
+

+ A function to construct records of the given type. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a record type. +
+
+
+
+ +

+ + + FSharpValue.PreComputeRecordConstructorInfo(recordType, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeRecordConstructorInfo(recordType, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The record type. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + ConstructorInfo + + A ConstructorInfo for the given record type. +
+
+
+
+
+
+ +
+
+

+ Get a ConstructorInfo for a record type +

+
+
+ + + + + +
+
+
+

+ Extended Type: + FSharpValue +

+
+
+ + recordType + + : + Type +
+
+

+ The record type. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + ConstructorInfo +
+
+

+ A ConstructorInfo for the given record type. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeRecordReader(recordType, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeRecordReader(recordType, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The type of record to read. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + obj -> objnull array + + An optimized reader for the given record 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. +

+

+ Extended Type: + FSharpValue +

+
+
+ + recordType + + : + Type +
+
+

+ The type of record to read. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + obj -> objnull array +
+
+

+ An optimized reader for the given record type. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a record type. +
+
+
+
+ +

+ + + FSharpValue.PreComputeUnionConstructor(unionCase, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeUnionConstructor(unionCase, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + unionCase + + : + UnionCaseInfo + - + The description of the union case. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + objnull array -> objnull + + A function for constructing values of the given union case. +
+
+
+
+
+
+ +
+
+

+ Precompute a function for constructing a discriminated union value for a particular union case. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + FSharpValue +

+
+
+ + unionCase + + : + UnionCaseInfo +
+
+

+ The description of the union case. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + objnull array -> objnull +
+
+

+ A function for constructing values of the given union case. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeUnionConstructorInfo(unionCase, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeUnionConstructorInfo(unionCase, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + unionCase + + : + UnionCaseInfo + - + The description of the union case. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + MethodInfo + + The description of the constructor of the given union case. +
+
+
+
+
+
+ +
+
+

+ A method that constructs objects of the given case +

+
+
+ + + + + +
+
+
+

+ Extended Type: + FSharpValue +

+
+
+ + unionCase + + : + UnionCaseInfo +
+
+

+ The description of the union case. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + MethodInfo +
+
+

+ The description of the constructor of the given union case. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeUnionReader(unionCase, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeUnionReader(unionCase, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + unionCase + + : + UnionCaseInfo + - + The description of the union case to read. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + objnull -> objnull array + + A function to for reading the fields of the given union case. +
+
+
+
+
+
+ +
+
+

+ Precompute 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 +

+

+ Extended Type: + FSharpValue +

+
+
+ + unionCase + + : + UnionCaseInfo +
+
+

+ The description of the union case to read. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + objnull -> objnull array +
+
+

+ A function to for reading the fields of the given union case. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeUnionTagMemberInfo(unionType, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeUnionTagMemberInfo(unionType, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + unionType + + : + Type + - + The type of union to read. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + MemberInfo + + The description of the union case reader. +
+
+
+
+
+
+ +
+
+

+ Precompute a property or static method for reading an integer representing the case tag of a union type. +

+
+
+ + + + + +
+
+
+

+ Extended Type: + FSharpValue +

+
+
+ + unionType + + : + Type +
+
+

+ The type of union to read. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + MemberInfo +
+
+

+ The description of the union case reader. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeUnionTagReader(unionType, ?allowAccessToPrivateRepresentation) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeUnionTagReader(unionType, ?allowAccessToPrivateRepresentation) +
+
+ Parameters: +
    + + + unionType + + : + Type + - + The type of union to optimize reading. + +
    + + + ?allowAccessToPrivateRepresentation + + : + bool + - + Optional flag that denotes accessibility of the private representation. + +
    +
+
+ + Returns: + objnull -> int + + An optimized function to read the tags of the given union type. +
+
+
+
+
+
+ +
+
+

+ 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. +

+

+ Extended Type: + FSharpValue +

+
+
+ + unionType + + : + Type +
+
+

+ The type of union to optimize reading. +

+
+
+ + ?allowAccessToPrivateRepresentation + + : + bool +
+
+

+ Optional flag that denotes accessibility of the private representation. +

+
+
+
+
+ + Returns: + + objnull -> int +
+
+

+ An optimized function to read the tags of the given union type. +

+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-reflection-fsharptype.html b/reference/fsharp-reflection-fsharptype.html new file mode 100644 index 000000000..6646d527d --- /dev/null +++ b/reference/fsharp-reflection-fsharptype.html @@ -0,0 +1,2037 @@ + + + + + + + + + + + + + + + + + + FSharpType (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharpType Type +

+ +
+
+
+

+ Contains operations associated with constructing and analyzing F# types such as records, unions and tuples +

+
+
+
+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + FSharpType.GetExceptionFields(exceptionType, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpType.GetExceptionFields(exceptionType, ?bindingFlags) +
+
+ Parameters: +
    + + + exceptionType + + : + Type + - + The exception type to read. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + PropertyInfo array + + An array containing the PropertyInfo of each field in the 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. +

+
+
+ + exceptionType + + : + Type +
+
+

+ The exception type to read. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + PropertyInfo array +
+
+

+ An array containing the PropertyInfo of each field in the exception. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown if the given type is not an exception. +
+
+
+
+ +

+ + + FSharpType.GetFunctionElements(functionType) + + +

+
+
+
+ Full Usage: + FSharpType.GetFunctionElements(functionType) +
+
+ Parameters: +
    + + + functionType + + : + Type + - + The input function type. + +
    +
+
+ + Returns: + Type * Type + + A tuple of the domain and range types of the input function. +
+
+
+
+
+
+ +
+
+

+ Gets the domain and range types from an F# function type or from the runtime type of a closure implementing an F# type +

+
+
+ + + + + +
+
+
+
+
+ + functionType + + : + Type +
+
+

+ The input function type. +

+
+
+
+
+ + Returns: + + Type * Type +
+
+

+ A tuple of the domain and range types of the input function. +

+
+
+
+
+
+ +

+ + + FSharpType.GetRecordFields(recordType, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpType.GetRecordFields(recordType, ?bindingFlags) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The input record type. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + PropertyInfo array + + An array of descriptions of the properties of the record 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. +

+
+
+ + recordType + + : + Type +
+
+

+ The input record type. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + PropertyInfo array +
+
+

+ An array of descriptions of the properties of the record type. +

+
+
+
+
+
+ +

+ + + FSharpType.GetTupleElements(tupleType) + + +

+
+
+
+ Full Usage: + FSharpType.GetTupleElements(tupleType) +
+
+ Parameters: +
    + + + tupleType + + : + Type + - + The input tuple type. + +
    +
+
+ + Returns: + Type array + + An array of the types contained in the given tuple type. +
+
+
+
+
+
+ +
+
+

+ Gets the tuple elements from the representation of an F# tuple type. +

+
+
+ + + + + +
+
+
+
+
+ + tupleType + + : + Type +
+
+

+ The input tuple type. +

+
+
+
+
+ + Returns: + + Type array +
+
+

+ An array of the types contained in the given tuple type. +

+
+
+
+
+
+ +

+ + + FSharpType.GetUnionCases(unionType, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpType.GetUnionCases(unionType, ?bindingFlags) +
+
+ Parameters: +
    + + + unionType + + : + Type + - + The input union type. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + UnionCaseInfo array + + An array of descriptions of the cases of the given union type. +
+
+
+
+
+
+ +
+
+

+ Gets the cases of a union type. +

+
+
+ + + + + +
+
+
+

+ Assumes the given type is a union type. If not, ArgumentException is raised during pre-computation. +

+
+
+ + unionType + + : + Type +
+
+

+ The input union type. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + UnionCaseInfo array +
+
+

+ An array of descriptions of the cases of the given union type. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a union type. +
+
+
+
+ +

+ + + FSharpType.IsExceptionRepresentation(exceptionType, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpType.IsExceptionRepresentation(exceptionType, ?bindingFlags) +
+
+ Parameters: +
    + + + exceptionType + + : + Type + - + The type to check. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + bool + + True if the type check is an F# exception. +
+
+
+
+
+
+ +
+
+

+ Returns true if the typ is a representation of an F# exception declaration +

+
+
+ + + + + +
+
+
+
+
+ + exceptionType + + : + Type +
+
+

+ The type to check. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the type check is an F# exception. +

+
+
+
+
+
+ +

+ + + FSharpType.IsFunction(typ) + + +

+
+
+
+ Full Usage: + FSharpType.IsFunction(typ) +
+
+ Parameters: +
    + + + typ + + : + Type + - + The type to check. + +
    +
+
+ + Returns: + bool + + 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 +

+
+
+ + + + + +
+
+
+
+
+ + typ + + : + Type +
+
+

+ The type to check. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the type check succeeds. +

+
+
+
+
+
+ +

+ + + FSharpType.IsModule(typ) + + +

+
+
+
+ Full Usage: + FSharpType.IsModule(typ) +
+
+ Parameters: +
    + + + typ + + : + Type + - + The type to check. + +
    +
+
+ + Returns: + bool + + True if the type check succeeds. +
+
+
+
+
+
+ +
+
+

+ Return true if the typ is a Type value corresponding to the compiled form of an F# module +

+
+
+ + + + + +
+
+
+
+
+ + typ + + : + Type +
+
+

+ The type to check. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the type check succeeds. +

+
+
+
+
+
+ +

+ + + FSharpType.IsRecord(typ, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpType.IsRecord(typ, ?bindingFlags) +
+
+ Parameters: +
    + + + typ + + : + Type + - + The type to check. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + bool + + True if the type check succeeds. +
+
+
+
+
+
+ +
+
+

+ Return true if the typ is a representation of an F# record type +

+
+
+ + + + + +
+
+
+
+
+ + typ + + : + Type +
+
+

+ The type to check. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the type check succeeds. +

+
+
+
+
+
+ +

+ + + FSharpType.IsTuple(typ) + + +

+
+
+
+ Full Usage: + FSharpType.IsTuple(typ) +
+
+ Parameters: +
    + + + typ + + : + Type + - + The type to check. + +
    +
+
+ + Returns: + bool + + True if the type check succeeds. +
+
+
+
+
+
+ +
+
+

+ Return true if the typ is a representation of an F# tuple type +

+
+
+ + + + + +
+
+
+
+
+ + typ + + : + Type +
+
+

+ The type to check. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the type check succeeds. +

+
+
+
+
+
+ +

+ + + FSharpType.IsUnion(typ, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpType.IsUnion(typ, ?bindingFlags) +
+
+ Parameters: +
    + + + typ + + : + Type + - + The type to check. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + bool + + True if the type check succeeds. +
+
+
+
+
+
+ +
+
+

+ Returns true if the typ is a representation of an F# union type or the runtime type of a value of that type +

+
+
+ + + + + +
+
+
+
+
+ + typ + + : + Type +
+
+

+ The type to check. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + bool +
+
+

+ True if the type check succeeds. +

+
+
+
+
+
+ +

+ + + FSharpType.MakeFunctionType(domain, range) + + +

+
+
+
+ Full Usage: + FSharpType.MakeFunctionType(domain, range) +
+
+ Parameters: +
    + + + domain + + : + Type + - + The input type of the function. + +
    + + + range + + : + Type + - + The output type of the function. + +
    +
+
+ + Returns: + Type + + The function type with the given domain and range. +
+
+
+
+
+
+ +
+
+

+ Returns a Type representing the F# function type with the given domain and range +

+
+
+ + + + + +
+
+
+
+
+ + domain + + : + Type +
+
+

+ The input type of the function. +

+
+
+ + range + + : + Type +
+
+

+ The output type of the function. +

+
+
+
+
+ + Returns: + + Type +
+
+

+ The function type with the given domain and range. +

+
+
+
+
+
+ +

+ + + FSharpType.MakeStructTupleType(types) + + +

+
+
+
+ Full Usage: + FSharpType.MakeStructTupleType(types) +
+
+ Parameters: +
    + + + types + + : + Type array + - + An array of types for the tuple elements. + +
    +
+
+ + Returns: + Type + + The type representing the struct tuple containing the input elements. +
+
+
+
+
+
+ +
+
+

+ Returns a Type representing an F# struct tuple type with the given element types +

+
+
+ + + + + +
+
+
+
+
+ + types + + : + Type array +
+
+

+ An array of types for the tuple elements. +

+
+
+
+
+ + Returns: + + Type +
+
+

+ The type representing the struct tuple containing the input elements. +

+
+
+
+
+
+ +

+ + + FSharpType.MakeStructTupleType(asm, types) + + +

+
+
+
+ Full Usage: + FSharpType.MakeStructTupleType(asm, types) +
+
+ Parameters: +
    + + + asm + + : + Assembly + - + Runtime assembly containing System.ValueTuple definitions. + +
    + + + types + + : + Type array + - + An array of types for the tuple elements. + +
    +
+
+ + Returns: + Type + + The type representing the struct tuple containing the input elements. +
+
+
+
+
+
+ +
+
+

+ Returns a Type representing an F# struct tuple type with the given element types +

+
+
+ + + + + +
+
+
+
+
+ + asm + + : + Assembly +
+
+

+ Runtime assembly containing System.ValueTuple definitions. +

+
+
+ + types + + : + Type array +
+
+

+ An array of types for the tuple elements. +

+
+
+
+
+ + Returns: + + Type +
+
+

+ The type representing the struct tuple containing the input elements. +

+
+
+
+
+
+ +

+ + + FSharpType.MakeTupleType(asm, types) + + +

+
+
+
+ Full Usage: + FSharpType.MakeTupleType(asm, types) +
+
+ Parameters: +
    + + + asm + + : + Assembly + - + Runtime assembly containing System.Tuple definitions. + +
    + + + types + + : + Type array + - + An array of types for the tuple elements. + +
    +
+
+ + Returns: + Type + + The type representing the tuple containing the input elements. +
+
+
+
+
+
+ +
+
+

+ Returns a Type representing an F# tuple type with the given element types +

+
+
+ + + + + +
+
+
+
+
+ + asm + + : + Assembly +
+
+

+ Runtime assembly containing System.Tuple definitions. +

+
+
+ + types + + : + Type array +
+
+

+ An array of types for the tuple elements. +

+
+
+
+
+ + Returns: + + Type +
+
+

+ The type representing the tuple containing the input elements. +

+
+
+
+
+
+ +

+ + + FSharpType.MakeTupleType(types) + + +

+
+
+
+ Full Usage: + FSharpType.MakeTupleType(types) +
+
+ Parameters: +
    + + + types + + : + Type array + - + An array of types for the tuple elements. + +
    +
+
+ + Returns: + Type + + The type representing the tuple containing the input elements. +
+
+
+
+
+
+ +
+
+

+ Returns a Type representing an F# tuple type with the given element types +

+
+
+ + + + + +
+
+
+
+
+ + types + + : + Type array +
+
+

+ An array of types for the tuple elements. +

+
+
+
+
+ + Returns: + + Type +
+
+

+ The type representing the tuple containing the input elements. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-reflection-fsharpvalue.html b/reference/fsharp-reflection-fsharpvalue.html new file mode 100644 index 000000000..7ee710ce8 --- /dev/null +++ b/reference/fsharp-reflection-fsharpvalue.html @@ -0,0 +1,3144 @@ + + + + + + + + + + + + + + + + + + FSharpValue (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharpValue Type +

+ +
+
+
Contains operations associated with constructing and analyzing values associated with F# types
+ such as records, unions and tuples.
+
+
+
+
+
+
+
+
+
+
+
+

+ Static members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Static member + + Description + +
+
+ +

+ + + FSharpValue.GetExceptionFields(exn, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.GetExceptionFields(exn, ?bindingFlags) +
+
+ Parameters: +
    + + + exn + + : + obj + - + The exception instance. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + objnull array + + The fields from the given exception. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + exn + + : + obj +
+
+

+ The exception instance. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + objnull array +
+
+

+ The fields from the given exception. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not an F# exception. +
+
+
+
+ +

+ + + FSharpValue.GetRecordField(record, info) + + +

+
+
+
+ Full Usage: + FSharpValue.GetRecordField(record, info) +
+
+ Parameters: +
    + + + record + + : + obj + - + The record object. + +
    + + + info + + : + PropertyInfo + - + The PropertyInfo describing the field to read. + +
    +
+
+ + Returns: + objnull + + The field from the record. +
+
+
+
+
+
+ +
+
+

+ Reads a field from a record value. +

+
+
+ + + + + +
+
+
+

+ Assumes the given input is a record value. If not, ArgumentException is raised. +

+
+
+ + record + + : + obj +
+
+

+ The record object. +

+
+
+ + info + + : + PropertyInfo +
+
+

+ The PropertyInfo describing the field to read. +

+
+
+
+
+ + Returns: + + objnull +
+
+

+ The field from the record. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input is not a record value. +
+
+
+
+ +

+ + + FSharpValue.GetRecordFields(record, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.GetRecordFields(record, ?bindingFlags) +
+
+ Parameters: +
    + + + record + + : + obj + - + The record object. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags for the record. + +
    +
+
+ + Returns: + objnull array + + The array of fields from the record. +
+
+
+
+
+
+ +
+
+

+ Reads all the fields from a record value. +

+
+
+ + + + + +
+
+
+

+ Assumes the given input is a record value. If not, ArgumentException is raised. +

+
+
+ + record + + : + obj +
+
+

+ The record object. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags for the record. +

+
+
+
+
+ + Returns: + + objnull array +
+
+

+ The array of fields from the record. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a record type. +
+
+
+
+ +

+ + + FSharpValue.GetTupleField(tuple, index) + + +

+
+
+
+ Full Usage: + FSharpValue.GetTupleField(tuple, index) +
+
+ Parameters: +
    + + + tuple + + : + obj + - + The input tuple. + +
    + + + index + + : + int + - + The index of the field to read. + +
    +
+
+ + Returns: + objnull + + The value of the field. +
+
+
+
+
+
+ +
+
+

+ Reads a field from a tuple value. +

+
+
+ + + + + +
+
+
+

+ Assumes the given input is a tuple value. If not, ArgumentException is raised. +

+
+
+ + tuple + + : + obj +
+
+

+ The input tuple. +

+
+
+ + index + + : + int +
+
+

+ The index of the field to read. +

+
+
+
+
+ + Returns: + + objnull +
+
+

+ The value of the field. +

+
+
+
+
+
+ +

+ + + FSharpValue.GetTupleFields(tuple) + + +

+
+
+
+ Full Usage: + FSharpValue.GetTupleFields(tuple) +
+
+ Parameters: +
    + + + tuple + + : + obj + - + The input tuple. + +
    +
+
+ + Returns: + objnull array + + An array of the fields from the given tuple. +
+
+
+
+
+
+ +
+
+

+ Reads all fields from a tuple. +

+
+
+ + + + + +
+
+
+

+ Assumes the given input is a tuple value. If not, ArgumentException is raised. +

+
+
+ + tuple + + : + obj +
+
+

+ The input tuple. +

+
+
+
+
+ + Returns: + + objnull array +
+
+

+ An array of the fields from the given tuple. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input is not a tuple value. +
+
+
+
+ +

+ + + FSharpValue.GetUnionFields(value, unionType, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.GetUnionFields(value, unionType, ?bindingFlags) +
+
+ Parameters: +
    + + + value + + : + objnull + - + The input union case. + +
    + + + unionType + + : + Type + - + The union type containing the value. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + UnionCaseInfo * objnull array + + The description of the union case and its fields. +
+
+
+
+
+
+ +
+
+

+ 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'. +

+
+
+ + value + + : + objnull +
+
+

+ The input union case. +

+
+
+ + unionType + + : + Type +
+
+

+ The union type containing the value. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + UnionCaseInfo * objnull array +
+
+

+ The description of the union case and its fields. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a union case value. +
+
+
+
+ +

+ + + FSharpValue.MakeFunction(functionType, implementation) + + +

+
+
+
+ Full Usage: + FSharpValue.MakeFunction(functionType, implementation) +
+
+ Parameters: +
    + + + functionType + + : + Type + - + The function type of the implementation. + +
    + + + implementation + + : + objnull -> objnull + - + The untyped lambda of the function implementation. + +
    +
+
+ + Returns: + obj + + A typed function from the given dynamic implementation. +
+
+
+
+
+
+ +
+
+

+ Builds a typed function from object from a dynamic function implementation +

+
+
+ + + + + +
+
+
+
+
+ + functionType + + : + Type +
+
+

+ The function type of the implementation. +

+
+
+ + implementation + + : + objnull -> objnull +
+
+

+ The untyped lambda of the function implementation. +

+
+
+
+
+ + Returns: + + obj +
+
+

+ A typed function from the given dynamic implementation. +

+
+
+
+
+
+ +

+ + + FSharpValue.MakeRecord(recordType, values, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.MakeRecord(recordType, values, ?bindingFlags) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The type of record to make. + +
    + + + values + + : + objnull array + - + The array of values to initialize the record. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags for the record. + +
    +
+
+ + Returns: + obj + + The created record. +
+
+
+
+
+
+ +
+
+

+ Creates an instance of a record type. +

+
+
+ + + + + +
+
+
+

+ Assumes the given input is a record type. +

+
+
+ + recordType + + : + Type +
+
+

+ The type of record to make. +

+
+
+ + values + + : + objnull array +
+
+

+ The array of values to initialize the record. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags for the record. +

+
+
+
+
+ + Returns: + + obj +
+
+

+ The created record. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a record type. +
+
+
+
+ +

+ + + FSharpValue.MakeTuple(tupleElements, tupleType) + + +

+
+
+
+ Full Usage: + FSharpValue.MakeTuple(tupleElements, tupleType) +
+
+ Parameters: +
    + + + tupleElements + + : + objnull array + - + The array of tuple fields. + +
    + + + tupleType + + : + Type + - + The tuple type to create. + +
    +
+
+ + Returns: + obj + + An instance of the tuple type with the given elements. +
+
+
+
+
+
+ +
+
+

+ Creates an instance of a tuple type +

+
+
+ + + + + +
+
+
+

+ Assumes at least one element is given. If not, ArgumentException is raised. +

+
+
+ + tupleElements + + : + objnull array +
+
+

+ The array of tuple fields. +

+
+
+ + tupleType + + : + Type +
+
+

+ The tuple type to create. +

+
+
+
+
+ + Returns: + + obj +
+
+

+ An instance of the tuple type with the given elements. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown if no elements are given. +
+
+
+
+ +

+ + + FSharpValue.MakeUnion(unionCase, args, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.MakeUnion(unionCase, args, ?bindingFlags) +
+
+ Parameters: +
    + + + unionCase + + : + UnionCaseInfo + - + The description of the union case to create. + +
    + + + args + + : + objnull array + - + The array of arguments to construct the given case. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + objnull + + The constructed union case. +
+
+
+
+
+
+ +
+
+

+ Create a union case value. +

+
+
+ + + + + +
+
+
+
+
+ + unionCase + + : + UnionCaseInfo +
+
+

+ The description of the union case to create. +

+
+
+ + args + + : + objnull array +
+
+

+ The array of arguments to construct the given case. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + objnull +
+
+

+ The constructed union case. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeRecordConstructor(recordType, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeRecordConstructor(recordType, ?bindingFlags) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The type of record to construct. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + objnull array -> obj + + A function to construct records of the given type. +
+
+
+
+
+
+ +
+
+

+ Precompute a function for constructing a record value. +

+
+
+ + + + + +
+
+
+

+ Assumes the given type is a RecordType. + If not, ArgumentException is raised during pre-computation. +

+
+
+ + recordType + + : + Type +
+
+

+ The type of record to construct. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + objnull array -> obj +
+
+

+ A function to construct records of the given type. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a record type. +
+
+
+
+ +

+ + + FSharpValue.PreComputeRecordConstructorInfo(recordType, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeRecordConstructorInfo(recordType, ?bindingFlags) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The record type. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + ConstructorInfo + + A ConstructorInfo for the given record type. +
+
+
+
+
+
+ +
+
+

+ Get a ConstructorInfo for a record type +

+
+
+ + + + + +
+
+
+
+
+ + recordType + + : + Type +
+
+

+ The record type. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + ConstructorInfo +
+
+

+ A ConstructorInfo for the given record type. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeRecordFieldReader(info) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeRecordFieldReader(info) +
+
+ Parameters: +
    + + + info + + : + PropertyInfo + - + The PropertyInfo of the field to read. + +
    +
+
+ + Returns: + obj -> objnull + + A function to read the specified field from the record. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + info + + : + PropertyInfo +
+
+

+ The PropertyInfo of the field to read. +

+
+
+
+
+ + Returns: + + obj -> objnull +
+
+

+ A function to read the specified field from the record. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a record type. +
+
+
+
+ +

+ + + FSharpValue.PreComputeRecordReader(recordType, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeRecordReader(recordType, ?bindingFlags) +
+
+ Parameters: +
    + + + recordType + + : + Type + - + The type of record to read. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + obj -> objnull array + + An optimized reader for the given record 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. +

+
+
+ + recordType + + : + Type +
+
+

+ The type of record to read. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + obj -> objnull array +
+
+

+ An optimized reader for the given record type. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the input type is not a record type. +
+
+
+
+ +

+ + + FSharpValue.PreComputeTupleConstructor(tupleType) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeTupleConstructor(tupleType) +
+
+ Parameters: +
    + + + tupleType + + : + Type + - + The type of tuple to read. + +
    +
+
+ + Returns: + objnull array -> obj + + A function to read a particular tuple type. +
+
+
+
+
+
+ +
+
+

+ Precompute 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. +

+
+
+ + tupleType + + : + Type +
+
+

+ The type of tuple to read. +

+
+
+
+
+ + Returns: + + objnull array -> obj +
+
+

+ A function to read a particular tuple type. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the given type is not a tuple type. +
+
+
+
+ +

+ + + FSharpValue.PreComputeTupleConstructorInfo(tupleType) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeTupleConstructorInfo(tupleType) +
+
+ Parameters: +
    + + + tupleType + + : + Type + - + The input tuple type. + +
    +
+
+ + Returns: + ConstructorInfo * Type option + + The description of the tuple type constructor and an optional extra type + for large tuples. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + tupleType + + : + Type +
+
+

+ The input tuple type. +

+
+
+
+
+ + Returns: + + ConstructorInfo * Type option +
+
+

+ The description of the tuple type constructor and an optional extra type + for large tuples. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeTuplePropertyInfo(tupleType, index) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeTuplePropertyInfo(tupleType, index) +
+
+ Parameters: +
    + + + tupleType + + : + Type + - + The input tuple type. + +
    + + + index + + : + int + - + The index of the tuple element to describe. + +
    +
+
+ + Returns: + PropertyInfo * (Type * int) option + + The description of the tuple element and an optional type and index if the tuple is big. +
+
+
+
+
+
+ +
+
+

+ Gets information that indicates how to read a field of a tuple +

+
+
+ + + + + +
+
+
+
+
+ + tupleType + + : + Type +
+
+

+ The input tuple type. +

+
+
+ + index + + : + int +
+
+

+ The index of the tuple element to describe. +

+
+
+
+
+ + Returns: + + PropertyInfo * (Type * int) option +
+
+

+ The description of the tuple element and an optional type and index if the tuple is big. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeTupleReader(tupleType) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeTupleReader(tupleType) +
+
+ Parameters: +
    + + + tupleType + + : + Type + - + The tuple type to read. + +
    +
+
+ + Returns: + obj -> objnull array + + A function to read values of the given tuple type. +
+
+
+
+
+
+ +
+
+

+ Precompute 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. +

+
+
+ + tupleType + + : + Type +
+
+

+ The tuple type to read. +

+
+
+
+
+ + Returns: + + obj -> objnull array +
+
+

+ A function to read values of the given tuple type. +

+
+
+ + + + + +
+ + ArgumentException + + + Thrown when the given type is not a tuple type. +
+
+
+
+ +

+ + + FSharpValue.PreComputeUnionConstructor(unionCase, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeUnionConstructor(unionCase, ?bindingFlags) +
+
+ Parameters: +
    + + + unionCase + + : + UnionCaseInfo + - + The description of the union case. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + objnull array -> objnull + + A function for constructing values of the given union case. +
+
+
+
+
+
+ +
+
+

+ Precompute a function for constructing a discriminated union value for a particular union case. +

+
+
+ + + + + +
+
+
+
+
+ + unionCase + + : + UnionCaseInfo +
+
+

+ The description of the union case. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + objnull array -> objnull +
+
+

+ A function for constructing values of the given union case. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeUnionConstructorInfo(unionCase, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeUnionConstructorInfo(unionCase, ?bindingFlags) +
+
+ Parameters: +
    + + + unionCase + + : + UnionCaseInfo + - + The description of the union case. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + MethodInfo + + The description of the constructor of the given union case. +
+
+
+
+
+
+ +
+
+

+ A method that constructs objects of the given case +

+
+
+ + + + + +
+
+
+
+
+ + unionCase + + : + UnionCaseInfo +
+
+

+ The description of the union case. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + MethodInfo +
+
+

+ The description of the constructor of the given union case. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeUnionReader(unionCase, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeUnionReader(unionCase, ?bindingFlags) +
+
+ Parameters: +
    + + + unionCase + + : + UnionCaseInfo + - + The description of the union case to read. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + objnull -> objnull array + + A function to for reading the fields of the given union case. +
+
+
+
+
+
+ +
+
+

+ Precompute 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 +

+
+
+ + unionCase + + : + UnionCaseInfo +
+
+

+ The description of the union case to read. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + objnull -> objnull array +
+
+

+ A function to for reading the fields of the given union case. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeUnionTagMemberInfo(unionType, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeUnionTagMemberInfo(unionType, ?bindingFlags) +
+
+ Parameters: +
    + + + unionType + + : + Type + - + The type of union to read. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + MemberInfo + + The description of the union case reader. +
+
+
+
+
+
+ +
+
+

+ Precompute a property or static method for reading an integer representing the case tag of a union type. +

+
+
+ + + + + +
+
+
+
+
+ + unionType + + : + Type +
+
+

+ The type of union to read. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + MemberInfo +
+
+

+ The description of the union case reader. +

+
+
+
+
+
+ +

+ + + FSharpValue.PreComputeUnionTagReader(unionType, ?bindingFlags) + + +

+
+
+
+ Full Usage: + FSharpValue.PreComputeUnionTagReader(unionType, ?bindingFlags) +
+
+ Parameters: +
    + + + unionType + + : + Type + - + The type of union to optimize reading. + +
    + + + ?bindingFlags + + : + BindingFlags + - + Optional binding flags. + +
    +
+
+ + Returns: + objnull -> int + + An optimized function to read the tags of the given union type. +
+
+
+
+
+
+ +
+
+

+ 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. +

+
+
+ + unionType + + : + Type +
+
+

+ The type of union to optimize reading. +

+
+
+ + ?bindingFlags + + : + BindingFlags +
+
+

+ Optional binding flags. +

+
+
+
+
+ + Returns: + + objnull -> int +
+
+

+ An optimized function to read the tags of the given union type. +

+
+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-reflection-unioncaseinfo.html b/reference/fsharp-reflection-unioncaseinfo.html new file mode 100644 index 000000000..3865ac69c --- /dev/null +++ b/reference/fsharp-reflection-unioncaseinfo.html @@ -0,0 +1,1115 @@ + + + + + + + + + + + + + + + + + + UnionCaseInfo (FSharp.Core) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ UnionCaseInfo Type +

+ +
+
+
+

+ Represents a case of a discriminated union type +

+
+
+
+
+
+
+
+
+
+
+
+

+ Instance members +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Instance member + + Description + +
+
+ +

+ + + this.DeclaringType + + +

+
+
+
+ Full Usage: + this.DeclaringType +
+
+ + Returns: + Type + +
+
+
+
+
+
+ +
+
+

+ The type in which the case occurs. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + Type +
+
+
+
+ Example +
+

+

 type Weather = Rainy | Sunny
+
+ let rainy =
+     typeof<Weather>
+     |> FSharpType.GetUnionCases
+     |> Array.head
+
+ rainy.DeclaringType
+
+
type Weather = + | Rainy + | Sunny
+
val rainy: obj
+
val typeof<'T> : System.Type
+
module Array + +from Microsoft.FSharp.Collections
+
val head: array: 'T array -> 'T
+ + + Evaluates to a value of type System.Type + that holds type information for Weather. + +

+
+
+
+ +

+ + + this.GetCustomAttributes + + +

+
+
+
+ Full Usage: + this.GetCustomAttributes +
+
+ Parameters: +
    + + + attributeType + + : + Type + - + The type of attributes to return. + +
    +
+
+ + Returns: + obj array + + An array of custom attributes. +
+
+
+
+
+
+ +
+
+

+ Returns the custom attributes associated with the case matching the given attribute type. +

+
+
+ + + + + +
+
+
+
+
+ + attributeType + + : + Type +
+
+

+ The type of attributes to return. +

+
+
+
+
+ + Returns: + + obj array +
+
+

+ An array of custom attributes. +

+
+
+
+ Example +
+

+

 type Signal(signal: string) =
+    inherit System.Attribute()
+    member this.Signal = signal
+
+ type Answer =
+     | [<Signal("Thumbs up")>] Yes
+     | [<Signal("Thumbs down")>] No
+
+ typeof<Answer>
+ |> FSharpType.GetUnionCases
+ |> Array.map (fun x -> x.GetCustomAttributes(typeof<Signal>))
+
+
Multiple items
type Signal = + inherit Attribute + new: signal: string -> Signal + member Signal: string

--------------------
new: signal: string -> Signal
+
val signal: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
namespace System
+
Multiple items
type Attribute = + member Equals: obj: obj -> bool + member GetHashCode: unit -> int + member IsDefaultAttribute: unit -> bool + member Match: obj: obj -> bool + static member GetCustomAttribute: element: Assembly * attributeType: Type -> Attribute + 7 overloads + static member GetCustomAttributes: element: Assembly -> Attribute array + 15 overloads + static member IsDefined: element: Assembly * attributeType: Type -> bool + 7 overloads + member TypeId: obj
<summary>Represents the base class for custom attributes.</summary>

--------------------
System.Attribute() : System.Attribute
+
val this: Signal
+
type Answer = + | Yes + | No
+
val typeof<'T> : System.Type
+
module Array + +from Microsoft.FSharp.Collections
+
val map: mapping: ('T -> 'U) -> array: 'T array -> 'U array
+
val x: obj
+ + + Evaluates to +
 [|[|FSI_0147+Signal {Signal = "Thumbs up";
+                      TypeId = FSI_0147+Signal;}|];
+   [|FSI_0147+Signal {Signal = "Thumbs down";
+                      TypeId = FSI_0147+Signal;}|]|]
+
+ + +

+
+
+
+ +

+ + + this.GetCustomAttributes + + +

+
+
+
+ Full Usage: + this.GetCustomAttributes +
+
+ + Returns: + obj array + + An array of custom attributes. +
+
+
+
+
+
+ +
+
+

+ Returns the custom attributes associated with the case. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + obj array +
+
+

+ An array of custom attributes. +

+
+
+
+ Example +
+

+

 type Weather =
+     | Rainy
+     | Sunny
+
+ typeof<Weather>
+ |> FSharpType.GetUnionCases
+ |> Array.map (fun x -> x.GetCustomAttributes())
+
+
type Weather = + | Rainy + | Sunny
+
val typeof<'T> : System.Type
+
module Array + +from Microsoft.FSharp.Collections
+
val map: mapping: ('T -> 'U) -> array: 'T array -> 'U array
+
val x: obj
+ + + Evaluates to +
 [|[|Microsoft.FSharp.Core.CompilationMappingAttribute
+     {ResourceName = null;
+      SequenceNumber = 0;
+      SourceConstructFlags = UnionCase;
+      TypeDefinitions = null;
+      TypeId = Microsoft.FSharp.Core.CompilationMappingAttribute;
+      VariantNumber = 0;}|];
+ [|Microsoft.FSharp.Core.CompilationMappingAttribute
+     {ResourceName = null;
+      SequenceNumber = 1;
+      SourceConstructFlags = UnionCase;
+      TypeDefinitions = null;
+      TypeId = Microsoft.FSharp.Core.CompilationMappingAttribute;
+      VariantNumber = 0;}|]|]
+
+
namespace Microsoft
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Core
+
Multiple items
type CompilationMappingAttribute = + inherit Attribute + new: sourceConstructFlags: SourceConstructFlags -> CompilationMappingAttribute + 3 overloads + member ResourceName: string + member SequenceNumber: int + member SourceConstructFlags: SourceConstructFlags + member TypeDefinitions: Type array + member VariantNumber: int

--------------------
new: sourceConstructFlags: SourceConstructFlags -> CompilationMappingAttribute
new: sourceConstructFlags: SourceConstructFlags * sequenceNumber: int -> CompilationMappingAttribute
new: resourceName: string * typeDefinitions: System.Type array -> CompilationMappingAttribute
new: sourceConstructFlags: SourceConstructFlags * variantNumber: int * sequenceNumber: int -> CompilationMappingAttribute
+
[<Struct>] +type SourceConstructFlags = + | None = 0 + | SumType = 1 + | RecordType = 2 + | ObjectType = 3 + | Field = 4 + | Exception = 5 + | Closure = 6 + | Module = 7 + | UnionCase = 8 + | Value = 9 + | KindMask = 31 + | NonPublicRepresentation = 32
+ + +

+
+
+
+ +

+ + + this.GetCustomAttributesData + + +

+
+
+
+ Full Usage: + this.GetCustomAttributesData +
+
+ + Returns: + IList<CustomAttributeData> + + An list of custom attribute data items. +
+
+
+
+
+
+ +
+
+

+ Returns the custom attributes data associated with the case. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + IList<CustomAttributeData> +
+
+

+ An list of custom attribute data items. +

+
+
+
+ Example +
+

+

 type Signal(signal: string) =
+   inherit System.Attribute()
+   member this.Signal = signal
+
+ type Answer =
+     | [<Signal("Thumbs up")>] Yes
+     | [<Signal("Thumbs down")>] No
+
+ let answerYes =
+     typeof<Answer>
+     |> FSharpType.GetUnionCases
+     |> Array.find (fun x -> x.Name = "Yes")
+
+ answerYes.GetCustomAttributesData()
+
+
Multiple items
type Signal = + inherit Attribute + new: signal: string -> Signal + member Signal: string

--------------------
new: signal: string -> Signal
+
val signal: string
+
Multiple items
val string: value: 'T -> string

--------------------
type string = System.String
+
namespace System
+
Multiple items
type Attribute = + member Equals: obj: obj -> bool + member GetHashCode: unit -> int + member IsDefaultAttribute: unit -> bool + member Match: obj: obj -> bool + static member GetCustomAttribute: element: Assembly * attributeType: Type -> Attribute + 7 overloads + static member GetCustomAttributes: element: Assembly -> Attribute array + 15 overloads + static member IsDefined: element: Assembly * attributeType: Type -> bool + 7 overloads + member TypeId: obj
<summary>Represents the base class for custom attributes.</summary>

--------------------
System.Attribute() : System.Attribute
+
val this: Signal
+
type Answer = + | Yes + | No
+
val answerYes: obj
+
val typeof<'T> : System.Type
+
module Array + +from Microsoft.FSharp.Collections
+
val find: predicate: ('T -> bool) -> array: 'T array -> 'T
+
val x: obj
+ + + Evaluates to +
  [|[FSI_0150+Signal("Thumbs up")]
+      {AttributeType = FSI_0150+Signal;
+       Constructor = Void .ctor(System.String);
+       ConstructorArguments = seq ["Thumbs up"];
+       NamedArguments = seq [];};
+    [Microsoft.FSharp.Core.CompilationMappingAttribute((Microsoft.FSharp.Core.SourceConstructFlags)8, (Int32)0)]
+      {AttributeType = Microsoft.FSharp.Core.CompilationMappingAttribute;
+       Constructor = Void .ctor(Microsoft.FSharp.Core.SourceConstructFlags, Int32);
+       ConstructorArguments = seq
+                                [(Microsoft.FSharp.Core.SourceConstructFlags)8;
+                                 (Int32)0];
+       NamedArguments = seq [];}|]
+
+
namespace System
+
Multiple items
type String = + interface IEnumerable<char> + interface IEnumerable + interface ICloneable + interface IComparable + interface IComparable<string> + interface IConvertible + interface IEquatable<string> + interface IParsable<string> + interface ISpanParsable<string> + new: value: nativeptr<char> -> unit + 8 overloads + ...
<summary>Represents text as a sequence of UTF-16 code units.</summary>

--------------------
System.String(value: nativeptr<char>) : System.String
System.String(value: char array) : System.String
System.String(value: System.ReadOnlySpan<char>) : System.String
System.String(value: nativeptr<sbyte>) : System.String
System.String(c: char, count: int) : System.String
System.String(value: nativeptr<char>, startIndex: int, length: int) : System.String
System.String(value: char array, startIndex: int, length: int) : System.String
System.String(value: nativeptr<sbyte>, startIndex: int, length: int) : System.String
System.String(value: nativeptr<sbyte>, startIndex: int, length: int, enc: System.Text.Encoding) : System.String
+
Multiple items
val seq: sequence: 'T seq -> 'T seq

--------------------
type 'T seq = System.Collections.Generic.IEnumerable<'T>
+
namespace Microsoft
+
namespace Microsoft.FSharp
+
namespace Microsoft.FSharp.Core
+
Multiple items
type CompilationMappingAttribute = + inherit Attribute + new: sourceConstructFlags: SourceConstructFlags -> CompilationMappingAttribute + 3 overloads + member ResourceName: string + member SequenceNumber: int + member SourceConstructFlags: SourceConstructFlags + member TypeDefinitions: Type array + member VariantNumber: int

--------------------
new: sourceConstructFlags: SourceConstructFlags -> CompilationMappingAttribute
new: sourceConstructFlags: SourceConstructFlags * sequenceNumber: int -> CompilationMappingAttribute
new: resourceName: string * typeDefinitions: System.Type array -> CompilationMappingAttribute
new: sourceConstructFlags: SourceConstructFlags * variantNumber: int * sequenceNumber: int -> CompilationMappingAttribute
+
[<Struct>] +type SourceConstructFlags = + | None = 0 + | SumType = 1 + | RecordType = 2 + | ObjectType = 3 + | Field = 4 + | Exception = 5 + | Closure = 6 + | Module = 7 + | UnionCase = 8 + | Value = 9 + | KindMask = 31 + | NonPublicRepresentation = 32
+ + +

+
+
+
+ +

+ + + this.GetFields + + +

+
+
+
+ Full Usage: + this.GetFields +
+
+ + Returns: + PropertyInfo array + + The fields associated with the case. +
+
+
+
+
+
+ +
+
+

+ The fields associated with the case, represented by a PropertyInfo. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + PropertyInfo array +
+
+

+ The fields associated with the case. +

+
+
+
+ Example +
+

+

 type Shape =
+     | Rectangle of width : float * length : float
+     | Circle of radius : float
+     | Prism of width : float * float * height : float
+
+ typeof<Shape>
+ |> FSharpType.GetUnionCases
+ |> Array.map (fun unionCase ->
+     unionCase.GetFields()
+     |> Array.map (fun fieldInfo ->
+         fieldInfo.Name,
+         fieldInfo.PropertyType.Name))
+
+
type Shape = + | Rectangle of width: float * length: float + | Circle of radius: float + | Prism of width: float * float * height: float
+
Multiple items
val float: value: 'T -> float (requires member op_Explicit)

--------------------
type float = System.Double

--------------------
type float<'Measure> = + float
+
val typeof<'T> : System.Type
+
module Array + +from Microsoft.FSharp.Collections
+
val map: mapping: ('T -> 'U) -> array: 'T array -> 'U array
+
val unionCase: obj
+
val fieldInfo: obj
+ + + Evaluates to +
 [|[|("width", "Double"); ("length", "Double")|];
+   [|("radius", "Double")|];
+   [|("width", "Double"); ("Item2", "Double"); ("height", "Double")|]|]
+
+ + +

+
+
+
+ +

+ + + this.Name + + +

+
+
+
+ Full Usage: + this.Name +
+
+ + Returns: + string + +
+
+
+
+
+
+ +
+
+

+ The name of the case. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + string +
+
+
+
+ Example +
+

+

 type Weather = Rainy | Sunny
+
+ typeof<Weather>
+ |> FSharpType.GetUnionCases
+ |> Array.map (fun x -> x.Name)
+
+
type Weather = + | Rainy + | Sunny
+
val typeof<'T> : System.Type
+
module Array + +from Microsoft.FSharp.Collections
+
val map: mapping: ('T -> 'U) -> array: 'T array -> 'U array
+
val x: obj
+ + + Evaluates to [|"Rainy", "Sunny"|] +

+
+
+
+ +

+ + + this.Tag + + +

+
+
+
+ Full Usage: + this.Tag +
+
+ + Returns: + int + +
+
+
+
+
+
+ +
+
+

+ The integer tag for the case. +

+
+
+ + + + + +
+
+
+
+
+ + Returns: + + int +
+
+
+
+ Example +
+

+

 type CoinToss = Heads | Tails
+
+ typeof<CoinToss>
+ |> FSharpType.GetUnionCases
+ |> Array.map (fun x -> $"{x.Name} has tag {x.Tag}")
+
+
type CoinToss = + | Heads + | Tails
+
val typeof<'T> : System.Type
+
module Array + +from Microsoft.FSharp.Collections
+
val map: mapping: ('T -> 'U) -> array: 'T array -> 'U array
+
val x: obj
+ + + Evaluates to [|"Heads has tag 0"; "Tails has tag 1"|] +

+
+
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/fsharp-reflection.html b/reference/fsharp-reflection.html new file mode 100644 index 000000000..b13bc1377 --- /dev/null +++ b/reference/fsharp-reflection.html @@ -0,0 +1,393 @@ + + + + + + + + + + + + + + + + + + FSharp.Reflection | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ FSharp.Reflection Namespace +

+
+

+ + Library functionality for accessing additional information about F# types and F# values at + runtime, augmenting that available through System.Reflection. + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type/Module + + Description +
+

+ + + FSharpReflectionExtensions + + +

+
+
+
+

+ Defines further accessing additional information about F# types and F# values at runtime. +

+
+
+ + + + + +
+
+
+

+ + + FSharpType + + +

+
+
+
+

+ Contains operations associated with constructing and analyzing F# types such as records, unions and tuples +

+
+
+ + + + + +
+
+
+

+ + + FSharpValue + + +

+
+
+
Contains operations associated with constructing and analyzing values associated with F# types
+ such as records, unions and tuples.
+
+ + + + + +
+
+
+

+ + + UnionCaseInfo + + +

+
+
+
+

+ Represents a case of a discriminated union type +

+
+
+ + + + + +
+
+
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file diff --git a/reference/index.html b/reference/index.html new file mode 100644 index 000000000..cc10cf71f --- /dev/null +++ b/reference/index.html @@ -0,0 +1,389 @@ + + + + + + + + + + + + + + + + + + FSharp.Core (API Reference) | FSharp.Core + + + + + + + + + + + + + +
+
+ + + Header menu logo + FSharp.Core + +
+
+ + + + + +
+
+ +
+
+
+

+ API Reference +

+

+ Available Namespaces: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Namespace + + Description +
+ + FSharp.Collections + + + Operations for collections such as lists, arrays, sets, maps and sequences. See also + F# Collection Types in the F# Language Guide. + +
+ + FSharp.Control + + + + Library functionality for asynchronous programming, events and agents. See also + Asynchronous Programming, + Events and + Lazy Expressions in the + F# Language Guide. + +
+ + FSharp.Control.TaskBuilderExtensions + +
+ + FSharp.Core + + + Basic definitions of operators, options, functions, results, choices, attributes and plain text formatting. +
+ + FSharp.Core.CompilerServices + + + + Library functionality for supporting type providers and code generated by the F# compiler. See + also F# Type Providers in the F# Language Guide. + +
+ + FSharp.Linq + + + + Library functionality for F# query syntax and interoperability with .NET LINQ Expressions. See + also F# Query Expressions in the F# Language Guide. + +
+ + FSharp.Linq.RuntimeHelpers + + + Library functionality associated with converting F# quotations to .NET LINQ expression trees. +
+ + FSharp.NativeInterop + + + + Library functionality for native interoperability. See + also F# External Functions in + the F# Language Guide. + +
+ + FSharp.Quotations + + + + Library functionality for F# quotations. + See also F# Code Quotations in the F# Language Guide. + +
+ + FSharp.Reflection + + + + Library functionality for accessing additional information about F# types and F# values at + runtime, augmenting that available through System.Reflection. + +
+
+ +
+
+ + + +
+ +

Type something to start searching.

+
+
+ + + + + + + + \ No newline at end of file