Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,8 @@
"docs/visual-basic/language-reference/error-messages/**/**.md": "vb-diagnostics"
},
"titleSuffix": {
"docs/fsharp/tutorials/**/**.md": "F#",
"docs/fsharp/language-reference/**/**.md": "F#",
"docs/core/additional-tools/**.md": ".NET Core",
"docs/core/build/**.md": ".NET Core",
"docs/core/deploying/**.md": ".NET Core",
Expand All @@ -213,6 +215,10 @@
"docs/core/tools/**.md": ".NET Core CLI",
"docs/core/tutorials/**.md": ".NET Core",
"docs/core/versions/**.md": ".NET Core"
},
"ms.custom": {
"docs/fsharp/tutorials/**/**.md": "seodec18",
"docs/fsharp/language-reference/**/**.md": "seodec18"
}
},
"dest": "_site",
Expand Down
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/abstract-classes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Abstract Classes (F#)
title: Abstract Classes
description: Learn about F# abstract classes, which leave some or all members unimplemented and represent common functionality of a diverse set of object types.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -54,4 +54,4 @@ Area of Circle: 78.539816
- [Classes](classes.md)
- [Members](members/index.md)
- [Methods](members/methods.md)
- [Properties](members/Properties.md)
- [Properties](members/Properties.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/access-control.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Access Control (F#)
title: Access Control
description: Learn how to control access to programming elements, such as types, methods, and functions, in the F# programming language.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -49,4 +49,4 @@ The following code tests the accessibility of the types created in `Module1.fs`.
## See also

- [F# Language Reference](index.md)
- [Signatures](signatures.md)
- [Signatures](signatures.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/active-patterns.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Active Patterns (F#)
title: Active Patterns
description: Learn how to use active patterns to define named partitions that subdivide input data in the F# programming language.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -125,4 +125,4 @@ Hello, George!
## See also

- [F# Language Reference](index.md)
- [Match Expressions](match-expressions.md)
- [Match Expressions](match-expressions.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/arrays.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Arrays (F#)
title: Arrays
description: Learn how to create and use arrays in the F# programming language.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -412,4 +412,4 @@ The module [`Array.Parallel`](https://msdn.microsoft.com/library/60f30b77-5af4-4
## See also

- [F# Language Reference](index.md)
- [F#; Types](fsharp-types.md)
- [F# Types](fsharp-types.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/assertions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Assertions (F#)
title: Assertions
description: Learn how to use the 'assert' expression as a debugging feature for testing expressions in the F# programming language.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -34,4 +34,4 @@ The following code example illustrates the use of the `assert` expression.

## See also

- [F# Language Reference](index.md)
- [F# Language Reference](index.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/asynchronous-workflows.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Asynchronous Workflows (F#)
title: Asynchronous Workflows
description: Learn about support in the F# programming language for performing computations asynchronously, which execute without blocking execution of other work.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -63,4 +63,4 @@ The `runAll` function launches three asynchronous workflows in parallel and wait

- [F# Language Reference](index.md)
- [Computation Expressions](computation-expressions.md)
- [Control.Async Class](https://msdn.microsoft.com/visualfsharpdocs/conceptual/control.async-class-%5bfsharp%5d)
- [Control.Async Class](https://msdn.microsoft.com/visualfsharpdocs/conceptual/control.async-class-%5bfsharp%5d)
5 changes: 3 additions & 2 deletions docs/fsharp/language-reference/attributes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Attributes (F#)
title: Attributes
description: Learn how F# Attributes enable metadata to be applied to a programming construct.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -85,6 +85,7 @@ Although you do not usually need to specify the attribute target explicitly, val
<tr>
<td>type</td>
<td>

```
[<type: StructLayout(Sequential)>]
type MyStruct =
Expand All @@ -99,4 +100,4 @@ Although you do not usually need to specify the attribute target explicitly, val

## See also

- [F# Language Reference](index.md)
- [F# Language Reference](index.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/basic-types.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Basic Types (F#)
title: Basic Types
description: Discover the fundamental basic types that are used in the F# language.
ms.date: 07/09/2018
---
Expand Down Expand Up @@ -33,4 +33,4 @@ This topic lists the basic types that are defined in the F# language. These type

## See also

- [F# Language Reference](index.md)
- [F# Language Reference](index.md)
5 changes: 2 additions & 3 deletions docs/fsharp/language-reference/byrefs.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
---
title: Byrefs (F#)
title: Byrefs
description: Learn about byref and byref-like types in F#, which are used for low-level programming.
ms.date: 09/02/2018
---

# Byrefs

F# has two major feature areas that deal in the space of low-level programming:
Expand Down Expand Up @@ -240,4 +239,4 @@ let test () =
()
```

This prevents you from getting different results depending on if you compile with optimizations on or off.
This prevents you from getting different results depending on if you compile with optimizations on or off.
8 changes: 4 additions & 4 deletions docs/fsharp/language-reference/caller-information.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Caller information (F#)
title: Caller information
description: Describes how to use Caller Info Argument Attributes to obtain caller information from a method.
ms.date: 04/25/2017
---
Expand Down Expand Up @@ -66,6 +66,6 @@ The following chart shows the member names that are returned when you use the Ca

## See also

- [Attributes](attributes.md)
- [Named arguments](parameters-and-arguments.md#named-arguments)
- [Optional parameters](parameters-and-arguments.md#optional-parameters)
- [Attributes](attributes.md)
- [Named arguments](parameters-and-arguments.md#named-arguments)
- [Optional parameters](parameters-and-arguments.md#optional-parameters)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/casting-and-conversions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Casting and Conversions (F#)
title: Casting and Conversions
description: Learn how the F# programming language provides conversion operators for arithmetic conversions between various primitive types.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -111,4 +111,4 @@ For more information about type tests, see [Match Expressions](match-Expressions

## See also

- [F# Language Reference](index.md)
- [F# Language Reference](index.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/classes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Classes (F#)
title: Classes
description: Learn how F# Classes are types that represent objects that can have properties, methods, and events.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -131,4 +131,4 @@ Structures are also useful for small aggregates of data, but they differ from cl
- [F# Language Reference](index.md)
- [Members](members/index.md)
- [Inheritance](inheritance.md)
- [Interfaces](interfaces.md)
- [Interfaces](interfaces.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/code-quotations.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Code Quotations (F#)
title: Code Quotations
description: Learn about F# code quotations, a language feature that enables you to generate and work with F# code expressions programmatically.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -96,4 +96,4 @@ The code in the other active pattern branches just regenerates the same expressi

## See also

- [F# Language Reference](index.md)
- [F# Language Reference](index.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/compiler-directives.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Compiler Directives (F#)
title: Compiler Directives
description: Learn about F# language preprocessor directives, conditional compilation directives, line directives, and compiler directives.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -64,4 +64,4 @@ For interpreter (fsi.exe) directives, see [Interactive Programming with F#](../t
## See also

- [F# Language Reference](index.md)
- [Compiler Options](compiler-options.md)
- [Compiler Options](compiler-options.md)
5 changes: 2 additions & 3 deletions docs/fsharp/language-reference/compiler-options.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Compiler Options (F#)
title: Compiler Options
description: Use F# compiler command-line options to control the compilation of your F# apps and libraries.
ms.date: 12/10/2018
---
Expand Down Expand Up @@ -65,8 +65,7 @@ The following table shows compiler options listed alphabetically. Some of the F#

## Related articles


|Title|Description|
|-----|-----------|
|[F# Interactive Options](fsharp-interactive-options.md)|Describes command-line options supported by the F# interpreter, fsi.exe.|
|[Project Properties Reference](/visualstudio/ide/reference/project-properties-reference)|Describes the UI for projects, including project property pages that provide build options.|
|[Project Properties Reference](/visualstudio/ide/reference/project-properties-reference)|Describes the UI for projects, including project property pages that provide build options.|
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/computation-expressions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Computation Expressions (F#)
title: Computation Expressions
description: Learn how to create convenient syntax for writing computations in F# that can be sequenced and combined using control flow constructs and bindings.
ms.date: 07/27/2018
---
Expand Down Expand Up @@ -396,4 +396,4 @@ type Microsoft.FSharp.Linq.QueryBuilder with
- [F# Language Reference](index.md)
- [Asynchronous Workflows](asynchronous-workflows.md)
- [Sequences](https://msdn.microsoft.com/library/6b773b6b-9c9a-4af8-bd9e-d96585c166db)
- [Query Expressions](query-expressions.md)
- [Query Expressions](query-expressions.md)
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Conditional Expressions: if... then...else (F#)"
title: "Conditional Expressions: if... then...else"
description: Learn how to write conditional expressions in F# to execute different branches of code.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -34,4 +34,4 @@ You are only 9 years old and already learning F#? Wow!

## See also

- [F# Language Reference](index.md)
- [F# Language Reference](index.md)
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Copy and Update Record Expressions (F#)
title: Copy and Update Record Expressions
description: Learn how to write a 'copy and update record expression' that copies an existing record, updates specified fields, and returns the updated record.
author: ChrSteinert
ms.date: 06/04/2016
Expand Down Expand Up @@ -31,4 +31,4 @@ If you were to update only on field of that record you could use the *copy and u
## See also

- [Records](records.md)
- [F# Language Reference](index.md)
- [F# Language Reference](index.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/delegates.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Delegates (F#)
title: Delegates
description: Learn how to work with delegates in F#.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -42,4 +42,4 @@ ccccc

- [F# Language Reference](index.md)
- [Parameters and Arguments](parameters-and-arguments.md)
- [Events](members/events.md)
- [Events](members/events.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/discriminated-unions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Discriminated Unions (F#)
title: Discriminated Unions
description: Learn how to use F# discriminated unions.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -169,4 +169,4 @@ The following attributes are commonly seen in discriminated unions:

## See also

- [F# Language Reference](index.md)
- [F# Language Reference](index.md)
4 changes: 2 additions & 2 deletions docs/fsharp/language-reference/enumerations.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Enumerations (F#)
title: Enumerations
description: Learn how to use F# enumerations in place of literals to make your code more readable and maintainable.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -47,4 +47,4 @@ Additionally, cases for enums are always emitted as `public`. This is so that th
## See also

- [F# Language Reference](index.md)
- [Casting and Conversions](casting-and-conversions.md)
- [Casting and Conversions](casting-and-conversions.md)
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Exception Types (F#)
title: Exception Types
description: Learn how to define and use F# exception types.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -35,4 +35,4 @@ The exception type that you define with the `exception` keyword in F# is a new t

- [Exception Handling](index.md)
- [Exceptions: the `raise` Function](the-raise-function.md)
- [Exception Hierarchy](https://msdn.microsoft.com/library/z4c5tckx.aspx)
- [Exception Hierarchy](https://msdn.microsoft.com/library/z4c5tckx.aspx)
6 changes: 2 additions & 4 deletions docs/fsharp/language-reference/exception-handling/index.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
---
title: Exception Handling (F#)
title: Exception Handling
description: Learn the basics of exception handling in F# and find links to exception handling expressions and functions.
ms.date: 05/16/2016
---
# Exception Handling

This section contains information about exception handling support in the F# language.


## Exception Handling Basics
Exception handling is the standard way of handling error conditions in the .NET Framework. Thus, any .NET language must support this mechanism, including F#. An *exception* is an object that encapsulates information about an error. When errors occur, exceptions are raised and regular execution stops. Instead, the runtime searches for an appropriate handler for the exception. The search starts in the current function, and proceeds up the stack through the layers of callers until a matching handler is found. Then the handler is executed.

In addition, as the stack is unwound, the runtime executes any code in `finally` blocks, to guarantee that objects are cleaned up correctly during the unwinding process.


## Related Topics

|Title|Description|
Expand All @@ -23,4 +21,4 @@ In addition, as the stack is unwound, the runtime executes any code in `finally`
|[Exceptions: The `try...finally` Expression](the-try-finally-expression.md)|Describes the language construct that enables you to execute clean-up code as the stack unwinds when an exception is thrown.|
|[Exceptions: the `raise` Function](the-raise-Function.md)|Describes how to throw an exception object.|
|[Exceptions: The `failwith` Function](the-failwith-function.md)|Describes how to generate a general F# exception.|
|[Exceptions: The `invalidArg` Function](the-invalidArg-function.md)|Describes how to generate an invalid argument exception.|
|[Exceptions: The `invalidArg` Function](the-invalidArg-function.md)|Describes how to generate an invalid argument exception.|
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Exceptions: The failwith Function (F#)"
title: "Exceptions: The failwith Function"
description: Learn how the 'failwith' function generates an F# exception.
ms.date: 05/16/2016
---
Expand Down Expand Up @@ -27,4 +27,4 @@ The exception that is generated by `failwith` is a `System.Exception` exception,
- [Exception Types](exception-types.md)
- [Exceptions: The `try...with` Expression](the-try-with-expression.md)
- [Exceptions: The `try...finally` Expression](the-try-finally-expression.md)
- [Exceptions: the `raise` Function](the-raise-function.md)
- [Exceptions: the `raise` Function](the-raise-function.md)
Loading