Table of contents
Collapse the table of content
Expand the table of content

Patterns.Application Active Pattern (F#)

Den Delimarsky|Last Updated: 8/18/2017
1 Contributor

Recognizes expressions that represent applications of first-class function values.

Namespace/Module Path: Microsoft.FSharp.Quotations.Patterns

Assembly: FSharp.Core (in FSharp.Core.dll)


// Signature:
( |Application|_| ) : (input:Expr) -> (Expr * Expr) option


input Type: Expr

The input expression to match against.

Return Value

The formal return type is (Expr * Expr) option. The option indicates whether a match exists. When you use the active pattern in a match expression, you use the tuple of two expressions directly to decompose the pattern.

The tuple contains two expressions that result from the decomposition of a curried function application expression. If there is one curried argument, the first expression represents the function name and the second expression represents the argument. If there are multiple curried arguments, the first expression is itself a function application that contains all the curried arguments except the last, and the second expression represents the last curried argument. The first expression can be recursively processed to decompose the next curried argument of the function.


This function is named ApplicationPattern in the .NET Framework assembly. If you are accessing the member from a .NET Framework language other than F#, or through reflection, use this name.


Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Version Information

F# Core Library Versions

Supported in: 2.0, 4.0, Portable

See Also

Quotations.Patterns Module (F#)

Microsoft.FSharp.Quotations Namespace (F#)

© 2020 Microsoft